アプリ開発者を呼び込むAndroid搭載端末

 フリー/オープンソースソフトウェア(FOSS)コミュニティは、7月に発表されたAndroid搭載スマートフォン「G1」の登場をずっと待っていた。Googleによる携帯電話向けプラットフォームであるAndroidソースコードはすでに公開されていたが、G1はこれを採用した初の端末となる。確かにすばらしい端末のようだが、果たしてLinux推進派やFOSS支持者の期待に沿ったものになっているのだろうか。

 コンシューマ向けの携帯電話として、G1は主要他社のハイエンド端末と同等の機能を備えている。3G、Wi-Fi、Bluetooth、GPSの各接続をサポートし、静電容量方式のタッチパネルとスライド格納式のQWERTYキーボード、トラックボール、通話および音量調節の専用ボタンが付いているほか、256MBの内蔵ROM、microSDカードスロット、加速度センサ、3.2メガピクセルのカメラを備えている。また、現在出荷中のモデル(Linux.comでは未入手)では標準の3.5mmヘッドフォンジャックが使えるそうだが、初期モデルにはオーディオ/充電兼用のミニUSBポートしかない。

 連絡先管理やダイヤラー、Webブラウザ、メールクライアントなど、インストールされているアプリケーションもまずますの出来だ。また、タッチ操作によるスクロール機能が常に使えるほか、透過表示やブラー効果、アニメーションのフェードイン/フェードアウトなど、目を引く表示効果が随所に見られる。

 そして、忘れてならないのがG1の「G」がGoogleの「G」だということだ。この端末には、Google Talk、Google Maps、YouTubeビューアなど、Googleブランドのアプリケーションが数多く収録されている。便利なPOP/IMAPメールクライアントや、さらに豊富な追加機能を持つGmail専用クライアントもある。G1端末の初期設定では、Googleアカウントとの「関連付け」を行う必要がある。これにより、キャリアの回線を通じてGoogleアカウントのカレンダー、連絡先、Gmailメッセージの情報を端末側と同期させることが可能になる。

Androidプラットフォーム

 こうしたコンシューマ向けのアプリケーションおよび機能のすべての根底で動作する、LinuxベースのオープンソースプラットフォームAndroidについて見てみよう。プラットフォームとしてのAndroidの出来について知りたければ、Androidを利用してどんなアプリケーションが開発されているのかを調べるのが手っとり早い。G1端末は、キャリア回線を使ってアプリ配信サービスAndroid Marketに接続するアプリケーションブラウザ/インストーラを備えている。Android Marketには、何百ものAndroidアプリケーションが用意されており、それぞれのユーザレビューを読むことができる。

 今のところ、Android Marketのアプリケーションはどれも無料だ。ただし、Androidアプリケーションを提供する公認のサイトとして、老舗のモバイルアプリケーションベンダHandangoとMobiHandが運営するほかの2つのポータルサイトには、有料のものもある。よくある単機能のIMクライアント群や、聞いたこともないサイトのWebアプリケーション向けフロントエンドのほか、端末の機能拡大を図る興味深いユーティリティも存在する。

 デフォルトのメールクライアントに追加するなどして、収録アプリの動作をカスタマイズするアプリケーションや、バーコード読み取りやテキスト編集など、ほかの携帯電話向けプラットフォームではおなじみの便利な機能を追加するものもある。個人的に気に入っているのは、発信者IDを変えてGrandCentralの電話番号を反映させるアプリケーション、G1 Centralだ。GrandCentralはGoogleサービスの1つだが、こうした機能はG1端末には備わっていない。

 ターミナルエミュレータや本格的なIRCクライアントといったユーティリティは、今のところどのサイトにも見当たらない。一方で、アプリケーションブラウザにはソフトウェアライブラリ用のカテゴリもあり、そこにはテキスト音声合成やファイル形式変換用のライブラリが含まれている。

 Android Marketのアプリケーションをクリックしてインストールしようとすると、サードパーティソフトウェアのインストールに伴う危険に関する警告が現れる。ただし、これまで私が見てきた大部分の端末とは違い、G1の警告メッセージには、インストールするアプリケーションがアクセスするサービスやデータが次のように詳しく表示される。

アクセスの対象となるサービスおよびデータは次のとおり:
ネットワーク通信
インターネットへのフルアクセス
通話
発信の傍受
システムツール
システムログファイルの読み取り、グローバルなシステム警告の変更
個人情報
連絡先データの書き込み/読み取り

 たとえば、背景の壁紙と称するパッケージをインストールしようとして上記のような警告が表示されたら、インストールの実行を考え直したほうがよいだろう。

ほぼフリーな端末

 フリーソフトウェア信者が本当に求めているのは、ファームウェアからアプリケーションに至るすべてのソースコードが提供され、所有者が何の制限も受けずに心ゆくまでカスタマイズできる、完全にオープンな携帯端末だ。しかし、G1はそのレベルには達していない。とはいえ、かけ離れているわけでもない。気の早いハッカーたちは、G1が発売されて間もなく、ジェイルブレイク(端末の制限解除)の方法を発見した。ターミナルエミュレータをインストールし、コマンドラインからtelnetdを起動すると、Telnetデーモンがrootで実行されるので、Android MarketのTelnetアプリケーションを利用するか、同じLANの別のコンピュータからこのデーモンに接続して、たとえば端末側のファイルシステムを読み取り/書き込み可能な形で再マウントしてやれば、端末メーカーのかけた制限から開放される。

 こうしたジェイルブレイクの方法が明らかになってすぐに、G1に関するハックが大量に編み出されたわけではない。ほとんどは単純な設定変更であり、端末のメモリを節約するためにアプリケーション領域やブラウザキャッシュをmicroSDカードに移すものだった。なかにはOSをDebianに入れ換えるといった手の込んだものもあったが、やがてそうしたハックもそれほど重要な意味を持たなくなった。数週間後には、Googleがこのtelnetdのセキュリティホールを修正したファームウェアアップデートをリリースしたからだ。ファームウェアアップデートは携帯回線を通じてバックグラウンドでダウンロードされ、ダウンロード完了後はインストールを促すメッセージが数分おきに表示される。

 T-Mobileからレビュー用に借り受けた端末にもファームウェアアップデートがダウンロードされていたが、私はあえてそのインストールを行わなかった。セキュリティホールが公表されて数週間後に届いた端末だったが、案の定、telnetdを利用した制限解除の方法がまだ使えた。ただし、シェルがroot権限で起動することは確認しただけで、それ以上のことは行わなかった。

 皮肉なことに、T-Mobileからレビュー用端末の返却要請があった翌日、Googleが類似の端末ながらもより制限の緩いAndroid Dev Phone 1を発表した。このDev Phone 1は、G1と同じハードウェアを使用しているが、SIMおよびブートローダのロックが外されており、任意のサービスプロバイダで利用したり、独自のカスタムシステムイメージをインストールしたりできる。価格は399ドル(G1端末の本体価格と同じ)だが、Android開発者の登録料として別途25ドルをGoogleに支払う必要がある(表向きはGoogleを将来の破産から救済するのに使われることになっている)。Dev Phone 1のほうは、購入者が自己責任で利用する端末という位置付けである。

Androidの効果

 結局のところ、G1の重要性は、ユーザがこの端末に何を期待するかによって変わってくる。きちんとした携帯電話あるいはLinuxベースのそうした端末を求めるなら、G1を選べばよい。「フリーソフトウェア」ベースのスマートフォンを求めるなら、Dev Phone 1を選ぶべきだろう。

 Androidに関する最大の疑問は、このプラットフォームが携帯電話市場にどんな影響を与えるかだ。G1を試用しただけなのではっきりしたことはいえないが、スマートフォン向けプラットフォームの成否を決めるのは端末でも用意されているサービスでもなく、サードパーティアプリケーションのコミュニティではないだろうか。その意味ではAndroidのやり方は順当といえる。これまで私はOpenmokoプロジェクトの活動に注目してきたが、その中心にあるのは下位レベルの携帯電話向けOSの開発であり、サードパーティ・アプリケーションに対する取り組みはほとんど見られない。AndroidのSDKやAPI、純粋なJavaではない開発スキームには異論もあるだろうが、このプラットフォームには多くの開発者が関心を寄せており、オープンソースのライセンシングに魅力を感じている人も大勢いる。これはAndroidの大きな強みである。というのも、FOSSコミュニティが力になれる領域があるとすれば、アプリケーション開発だからだ。

 Maemo開発者のHenri Bergius氏は、NokiaのNシリーズ端末とAppleのiPhoneの双方での開発経験を比較して、「Nokia端末のインストール済みアプリケーションが何かを作り出すこと(動画の撮影、写真やブログ等の共有)を促すものであるのに対し、Appleのプラットフォームは消費(楽曲やゲーム、アプリケーションの購入)を促すものになっている」という主旨のことをブログに書いている。これまでのところ、Androidはユーザによる開発を助長するプラットフォームといえる。そこが大きな差異化のポイントになりそうだ。

Linux.com 原文(2008年12月31日)