スマートフォンの活用場面は増える一方だが、多種多様な機種について評価・検証するのは困難で、「出たとこ勝負」でアプリをリリースしているケースも少なくない。開発者の不安を低コストで解消してくれる検証施設「スマートフォンテストラボみやぎ」を実際に利用してみた。
本Windows Server Insiderフォーラムでは、Windows環境でのスマートフォンの活用を支援するため、「Windowsネットワーク管理者のためのiPhone/iPod touch入門」という連載を掲載してきた。スマートフォン向けのソフトウェア開発は、実際に販売されているさまざまな端末で動作検証する必要があるという点で、Windows OSなどでの開発とは大きく違っているといえる。例えば、スマートフォン用OSとして大きなシェアを持つAndroid OSは、さまざまなバージョンが提供されており、メーカーによって実装の細部が異なっている部分があるなど、機種によってはアプリが動かなかったり、不具合が起こったりする確率が非常に高い。今回の記事では、スマートフォン固有のアプリケーション開発事情や、その検証作業を支援してくれるテストラボについて紹介する。
改めていうまでもなく、個人用途から企業利用まで、スマートフォンの活用がますます広がってきた。いつでもどこでも、時間と場所を選ぶことなく利用できるネット端末の普及により、遊びも仕事も、生活スタイルが大きく変わりつつある。読者のもとでも、すでにこうしたスマートフォン利用が始まっているかもしれない。そうでないにしても、「スマートフォンでこんなことができないか」という議論が活発になされているに違いない。
スマートフォンの最大の魅力は、だれもが持つことができ、いつも持ち歩けるので、場所や時間を選ばずに利用できることだ。こんな便利な端末が広く普及しているというのだから、その活用について考えないほうが不思議なくらいだ。「こんなことが、あんなことがスマートフォンでできたら便利だ」と。
この調子で、使うばかりのユーザーは夢を次々と語ってくれるかもしれない。しかしそれを実現するエンジニアやシステム管理者は大変である。情報セキュリティのことも考えなければならないし、サービスと端末の互換性も担保しなければならない。これが非常にやっかいな作業なのだ。
「スマートフォンでこれがしたい」「iPhoneであれがしたい」「Androidでこんなことができないか」とユーザーは気軽にいう。ユーザーはそれでいいかもしれないが、いざサービスを実装するとなれば、iPhone 4Sか5か、サムスンか国産Android端末かなど、サポートするハードウェアについて考えなければならない。さらに、OSバージョンは何をサポートするかということもある。実際はスマートフォンだとかiPhone/Androidなどとひとくくりにはできないのだ。
iPhoneのほうはまだ、Apple社が端末ハードウェアからOSまでを開発・提供していることから混乱は少ない。しかしAndroidについては、はっきりいって悪夢だ(詳しくは後述)。ITエンジニアをこの悪夢から救ってくれるのが、今回ご紹介する「スマートフォンテストラボみやぎ」である。ここでは各社多数の端末をテスト用に取り揃えていて、わずかな費用で実機によるテストができる。今回はこちらにお邪魔して、実際にテストを行わせていただいた。
訪問レポートは後でご紹介するとして、まずはスマートフォンの互換性問題がどのように悪夢なのか、テストラボがどう役に立つのか、背景について具体的にお知らせしておきたい。
実は当社は、3年ほど前からスマートフォン・アプリ事業を立ち上げ、iPhone向けとAndroid向けのアプリケーションを公開している。ほとんどはナビゲーション系のアプリで、アプリを起動すると現在地の地図が表示され、目標物のピンが降ってくるという極めてシンプルなものだ。カフェ検索やコンビニ検索、牛丼屋検索などができる。ご興味のある方は以下のページを参照されたい。
当初はカフェ、コンビニなど、カテゴリごとに個別のマップ・アプリをリリースしていたが、「アプリが増えすぎて不便」という意見があり、開発に踏み切ったのが最新版の「ロケスマ」である。これは、いままでのアプリから地図表示を行うエンジン部分だけを独立させて、マップについては後から好きなものをダウンロードできるようにしたものだ。カフェやコンビニをはじめ、さまざまなマップを選択してダウンロードできる。アプリもマップも、すべて無料で利用できるので、iPhone/Androidユーザーの方はお試しあれ。
いま述べたとおり、このアプリにはiPhone版とAndroid版があり、双方とも機能は同じなのだが、とにかくAndroid版の開発は困難を極めた。
ご存じのとおり、Android OSはGoogleが開発したオープンソースOSで、これを端末メーカー各社が自社開発の端末に組み込んで販売している。端末仕様はメーカーがかなり自由に決められるため、製品バリエーションが豊富だ。例えば、スマートフォンだけでなく、デジタルカメラ(ニコンのCOOLPIX S800cなど)やタブレットなど、Android OSを採用したさまざまなデバイスが登場してきている。ユーザーからすれば、さまざまな種類の端末から選べるのはありがたい。実際、店頭に行けば、機能からデザインまで、さまざまな特徴あるAndroid端末を見ることができる。
しかしこれが悪夢の根源だ。よくいわれることとして、画面の解像度がまちまちだということがある。画面のドット数が違うのもやっかいだが、DPI(Dot Per Inch:単位長さあたりのドット数)も機種ごとに異なるので、同じドット数でボタンを描いても、DPIが大きい高解像モデルではボタンが小さすぎて押せなくなってしまう。この調子で、画面の大きな機種、小さな機種、挙句の果てには2画面の機種などもある。ボタン表示だけでなく、一事が万事、アプリのさまざまな場面でこの解像度の問題がついて回る。
物理的な解像度の違いもさることながら、AndroidはOSバージョンの違いもきつい。国内で普及しているスマートフォン向けのAndroid OSは、現在のところ、Ver.2.x系と4.x系に分けられる。バージョンアップがけっこう頻繁だし、バージョンごとに細かいところでけっこう違いがある。全部挙げているとキリがないのだが、例えば標準ダイアログの[OK]と[キャンセル]ボタンの左右が逆になっていたり(そんなことをする理由がどこにあるのか?)、4.x系ではボタン以外のどこを押してもキャンセルできるようになっていたり、アプリ内ブラウザ(アプリ内で表示できるWebブラウザ)の挙動が違ったり、標準アイコンのイメージがバージョンによって大きく違ったりと散々である。
またこれは特別なケースだが、以前に、特定メーカーの特定の機種において、データベースまわりのAPIに手が加えられており、その機種でのみアプリが動作不能になるということがあった。結果的に開発者コミュニティの力を借りて「個別対応」したが、同じようなことが今後起こらないとも限らない。
どこからか「Android OS 2.xなんか古いんだから、サポート対象外にすればいいのに」という声が聞こえてきそうだ。そんな方には、思わず泣ける端末事情の現実をお見せしたい。
以下は、ロケスマから利用するWebサイトのログ(2012年10月の1カ月分)から、ユーザーが利用している端末を調べ、iPhone、AndroidそれぞれのOSバージョンをグラフにしたものだ。ロケスマというアプリから開くブラウザのログなので、ある程度現実の端末事情を示しているはずだ。ではまずはiPhoneから見ていこう。
では次に、問題のAndroidに目を移そう。
このとおり、6割近くのユーザーが、2011年9月以前(つまり1年以上前)の古い2.xを利用しているのだ。これでは2.xをサポートしないわけにはいかない。なぜiPhoneとAndroidでこのような違いが生まれるのか。AppleはOSの更新をプッシュで通知し、端末のみでも更新できるようにしているのに対し、Androidは更新が容易でないばかりか、OS更新が端末メーカー任せになっているので、更新版のOSが提供されないケースも多いと聞く。Androidで古い2.xが使い続けられる理由はこれである。
そして真の悪夢がこちら。アクセスがあった端末種類を、アクセス数順に表示したリストが以下である。
つまりAndroid端末では、かなり古いOSバージョンのサポートが不可欠であるだけでなく、解像度やら、メモリ搭載量やら、場合によっては一部OSにメーカー独自の手が入った数百種の端末を相手にしなければならない。
ロケスマは広く一般のユーザーに無料公開しているアプリなのでことは深刻だが、社内利用ならある程度端末を限定できるかもしれない。しかし最近は個人所有の端末を業務に使えるようにするなど、端末利用の柔軟性は高まる方向なので、業務利用といえども端末サポートは避けて通れない問題だろう。
当社では、iPhoneについては3Gから最新の5まで、ひととおりの機種をテスト用に取りそろえ、実機テストを行っている。すべての機種とOSの組み合わせをテストするまでには至らないが、iPhoneならこうして、ほぼ網羅的な実機テストを実施できる。
ではAndroidはどうするか。残念ながら、何百種類もの機種をそろえるわけいにはいかない。いきおい、主要な機種をいくつか用意して、テストして終わりということになる。全機種でテストしたわけではないので、テストしていない機種できちんと動くかどうかは、厳密にいえば「ぶっつけ本番」である。それで何事もなければよいが、ユーザーから障害報告などが届いたら大変だ。手元の機種で問題を再現できなければ、障害の確認すらできない。お手上げである。
調べたところ、有料での端末の貸し出しサービスもあり、利用を検討したが、いかんせんレンタル料がかなり高額で、結局はあきらめた。
Androidのテストは、かように困難を極めるのだ。多くのAndroidアプリ開発者は、知らない機種で障害が発生しないことを祈りながら、アプリを公開しているのではないだろうか。
こうした不安を完全に払しょくするのは困難だとしても、より多くの実機、特に特徴的な機能や仕様を持つ機種でひととおりのテストができれば、安心してアプリを世に送り出せる。極めて安価な料金でこれを可能にしてくれるサービス、それが今回ご紹介する「スマートフォンテストラボみやぎ」なのである。
Copyright© Digital Advantage Corp. All Rights Reserved.