事例から考えるスマートフォンでの業務開発とUI
スマートフォン開発とUI(2)
iPhoneのタッチ・コントロールであるマルチタッチは、Appleだからこその快適な操作性を実現している。情報機器のタッチ・パネルは、もともとは抵抗膜方式が主流だったが、今では、iPhoneが採用しているような、多点検出が可能な静電容量方式が主流となっている。
iPhoneは複数のARMチップを搭載しており、画面タッチ制御のためにもARMチップを利用しているようである。指が画面をなぞる動きや動く方向は正確ではないため、その動きを検知して不必要な動きを捨て、指の動作が何を求めているのかを判断する。このために、そしてAppleの魅力である本質的な操作性を実現するために、惜しみなく開発コストを使っている。従来の携帯電話ではCPUとして使われているARMチップを複数搭載していることが、それを象徴している。
Appleは、ハードウエアとソフトウエア(OS)がタッグを組み、「快適な操作感」を作り出すためのプラットフォームを提供している。さらに、快適な操作感をユーザに提供するために、プラットフォーム上で動作する個々のアプリケーションの開発者に対しても、インタフェースのガイドライン(Human Interface Guidelines)を公開し、快適な操作感の実現を課している。
アクシスソフトが「名刺バンク」のiPhone版を開発する際にも、Apple端末で快適なUIを作るというプレッシャーが技術者にはあったようだ。
では、Android向けの開発では、どうだったのだろうか。
Androidは、コンソーシアムであるOHA(Open Handset Alliance)によるOSであり、根幹部分はLinuxである。Dalvikと呼ばれるJava VM(Java仮想マシン、正確にはJavaバイト・コード動作ではないのでJavaではない)を持ち、Java言語で開発できる。開発環境としては、一般的なEclipseを利用できる。この点において、技術者は豊富にいると言ってよい。
Androidの強みと弱みは、いずれもオープン・プラットフォームであることに起因する。「名刺バンク」は企業に加えて一般ユーザーも利用するアプリケーションであるため、基本的には市場で販売されているAndroid端末が対象となるが、多種端末への対応が大きな問題であり、課題となった。
日本初のAndroid端末である2009年のHT-03A(NTTドコモ)から去年(2010年)まで、すべて数えれば27機種もの端末が発売されている。OSは1.6以降の複数バージョンが存在し、市場では、Android 3.0対応機種もすでに発表されている。
図2: 「名刺バンク」での開発環境と実機画像(一部)(クリックで拡大) |
スマートフォン開発とUI(3)
AndroidのSDKは、公式のWebページからダウンロードできる。OSのバージョンごとにAPIライブラリの機能レベルが異なり、最新バージョンのOSであるほどAPIのレベルが高くなる。ちなみに、Android 2.2はレベル8、1.6はレベル4である。上位レベルは下位レベルのAPIを基本的に包含している。レベル4のAPIを用いてビルド(最終実行可能ファイルの作成)したアプリケーションは2.2でも動作するが、逆は動作しない。端末によって搭載センサーの差などもあるため、各種端末に対応する場合は「端末が備えない機能」を認識して設計しなければならない。
なお、中国でチャイナ・モバイルが展開している「OMS」と呼ばれるAndroidは、大幅な改変をしたOSであり、「亜流Android」と言ってもよい。こうした亜流が、Androidにおいては出てくる可能性がある。
こういった背景から、Androidを選択する際には、すべての市販端末への対応は困難だと割り切った方がよいだろう。企業が自らアプリケーションを構築して自社展開する場合は、端末の機種を固定できるのであれば、固定したほうが開発が容易になる。
なお、実現できるUIの快適性は、米Apple端末の方が優れているだろう。Androidにおける、汎用OSと各ハードウエア・ベンダーによるタッグは、先述したiPhoneの仕組み(AppleがハードウエアもOSも供給する仕組み)よりも弱い。プラットフォームが持つパフォーマンス差を、アプリケーション側ですべてカバーすることはできない。
しかし、iPhoneやiPadには閉鎖性という弱点がある。このため、不安材料はあっても無償OSであるAndroidがデファクトになっていく可能性は高い。
iPhoneと同様のUIを構築するのであれば、すでにあるiPhone用アプリケーションなど、参考になる前例が多い。ただし、Androidの場合、さまざまな形状や機能を持つ機種が続々と発売されてくる。個々の業務に適応したハードウエアUIを選びたい。
指でのタッチ・コントロールは、グローバル展開を考えて研究されたものであり素晴らしいが、欠点もある。早く確実に多くの文字を入力するケースには適さないのだ。この用途にはハードウエアのキーボードが最適であることは間違いない。
スマートフォンのタッチ画面では、キーを押した感覚を持てない。また、ソフト・キーボードは、キーとキーの間隔が狭いため、誤って押下することも多い。こうした欠点を補うために、iPhoneなどでは、キーをタッチした瞬間に、押下した文字をフィードバック表示している。こうしたフィードバックが、スマートフォンのような小さな画面UIには重要になる。
次ページ以降も、引き続き、スマートフォンを活用したシステム開発について解説する。