既存システムをモバイル化するポイント

2010年5月14日(金)
アイエニウェア・ソリューションズ株式会社

過去のモバイルシステムの課題から学ぶ(1)

筆者はこれまで、過去に構築されたモバイル・システムの、さまざまな失敗と成功を見てきました。失敗する主な理由は、モバイル・システムに特有の課題が存在することです。モバイル機器自体の課題のほか、開発環境の課題、管理ツールやセキュリティ環境の課題など、さまざまな課題があります。特に、第1回の2ページ後半部で示したような複雑なシステムになると、開発には注意が必要です。

現在は環境も変わり、課題のいくつかはクリアされ、モバイルのシステム構築であっても、失敗の可能性が低い世の中になりました。とはいえ、社内のシステムと異なり、一歩間違えると使いづらいシステムになってしまう可能性は、まだまだ多分にあります。

一見当たり前に思える問題、あるいは現在となっては問題とならないような問題でも、過去の課題にはモバイルのシステムを確実に活用するためのヒントがたくさん含まれています。それらを振り返ってみましょう。

【課題1】 機器単体で機能がまかなえるのか

スマートフォンなどの汎用的な機器を使用するのか、あるいは専用端末を使用しなければならないのかを考える上で重要です。

例えば、昔のPDA(携帯情報端末)は、ストレージとワイヤレス(無線)通信機能を付加するジャケットを装着すると、とても大きく重くなりました。また、バーコード・リーダーを追加したりカメラを追加したりするためのスロットが足りない、という問題がありました。

スマートフォンも進化し、あの薄さの中にカメラの機能などさまざまな機能が網羅されるようになりましたが、プリンタの利用などの「やりたいこと」が標準装備の内部でまかなえるのか、ということは、非常に重要です。

標準のI/O(BluetoothやUSB、メモリー・カード・スロットなど)を経由して、プリンタなどの外部デバイスを接続して利用できるのか、ということです。

過去のモバイルシステムの課題から学ぶ(2)

【課題2】 メモリー容量は十分か

従来、PDA用のOSとユーティリティ・ソフトは、メモリーを多く利用してしまう構造を持っていました。アプリケーション用に利用できるメモリー空間が少なかったため、ノートPC上で動作しているアプリケーションをそのままPDAに移行しようとすると、メモリー領域不足となり、PCと比べてレスポンスが何倍も遅くなってしまうこともありました。

現在では、スマートフォンのメモリー空間は、以前とは比較にならないほど容量が増えています。ところが、その一方で画像データや動画データなどデータ自体も大きくなっています。このため、データに関しても、持ち歩くデータは必要最低限に絞るなど、やはり工夫が必要です。

【課題3】 バッテリの持ち時間

バッテリ自体は大きく進化しました。それでも、バッテリの問題は存在します。消費を考えた利用方法でないと、せっかく携帯電話とモバイル機器をスマートフォン1台にまとめても、補助のバッテリを持ち歩くことになってしまいます。

【課題4】 入力の不便さや画面の小ささ

あるユーザー企業の事例では、PC上のアプリケーションの一部またはすべてをそのままモバイル機器に移行し、画面周りの設計や入力形式をデザインし直さなかったために、非常に使いづらいシステムになっていたケースがあります。

現在では、スマートフォンであっても、物理キーボードを付けたり、日本の携帯電話の入力方式を採用したりなど、入力の使い勝手はかなり改善されています。ただし、現在でも、ノートPCと比べたら使い勝手は悪いため、モバイルのシステムにはモバイルのシステムに特化した画面設計が必要です。

また、スマートフォンの種類によっては、タッチ・パネル式のものや、そうでないものなど、入力方法はさまざまです。

【課題5】 開発ツールの性能

PDA用のOSをサポートした開発ツールは以前からありましたが、開発が容易に行えるように工夫されたものは、その半面、逆に性能(アプリケーション実行時の動作速度)が不十分でした。このため、C/C++言語などの高速な言語を利用して実行速度の性能向上を図る必要がありました。

Windows CE向けには、Visual Basic for Windows CE(VB for Windows CE)と呼ぶ、Windows OS向けのVisual Basicのコンセプトをそのまま引き継いだ開発ツールがありました。このため、開発会社や企業の情報システム部門は、従来の開発手法やコンセプトをそのまま流用してアプリケーションを開発することができました。ところが、この結果、簡易オブジェクトをプログラム中で多用することになり、処理性能が著しく低下してしまっていました。

PCと同等の処理性能をアプリケーション・レベルで実現しようとすると、できるだけC/C++言語でプログラムする必要があります。筆者は、実際に、 VB for Windows CEのComboBoxを多用したアプリケーションが使い物にならず、その部分だけをC/C++言語で書き直して性能を向上させた経験があります。

この課題は、Windows Mobileベースのスマートフォンでは、.NETを使用することで解決できるようになりました。しかし、結局のところ、モバイル・システムのプロジェクト全体が成功するかどうかを左右するのは、開発ツールの選択にあります。適切な開発ツールを使える、あるいは使う気概のある技術者を見つけることが、モバイル・システム構築プロジェクトを成功に導くための最短距離です。

【課題6】 セキュリティ対策

以前は、モバイル機器側データの暗号化やデータ通信中の暗号化、認証などが、セキュリティ上の大きな問題でした。

昔も今も、重要な情報をモバイル機器側に持つことをためらわれる企業は多いですが、これに関しては、少なくともセキュリティ技術の上では、さまざまな製品やサービスがそろってきました。

モバイル機器にデータを持たせない選択をして現場での業務を止めてしまうよりも、モバイルだからこそデータはいつでもアクセスできるようローカル(モバイル端末側)に持つことが必要な場合が、多くあります。

次ページからは、アプリケーションをモバイル化させるための、システム構築上のポイントを解説します。

著者
アイエニウェア・ソリューションズ株式会社

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています