Android OS 2.2「Froyo」にスマートデバイスの未来を見る

2010年06月11日 16:15 by 星 暁雄
Android2.2「Froyo」の画面

Android OS 2.2「Froyo」の画面

「Froyo(フローズンヨーグルト)」──ちょっと変わった語感のネーミングだが、これがAndroidの最新バージョンのコード名である。バージョン番号は2.2。今までの最新バージョンであるAndroid OS 2.1から半年足らずでのバージョンアップとなる。


Android OS 2.2「Froyo」は5月20日、開発者会議「Google I/O 2010」のキーノート(基調講演)で発表され、その週末からGoogleブランドのスマートフォン「Nexus One」の一部を対象に順次配信が始まった。今のところ、Nexus Oneがなければ試すことはできない。筆者は、このAndroid OS 2.2を試してみて、今後のAndroid端末の動向を知る上で重要であるとの印象を持った。このコラム記事では、Android OS 2.2のどこが重要なのかを中心に説明したい。


Android OS 2.2 「Froyo」の外見は、Android OS 2.1とあまり変わらない。 だが、中身は大きな進歩をとげている。使ってみれば、その違いは一目瞭然だ。


まず、より軽快に、より快適になった。軽快、快適になった理由の一つは、Androidアプリケーション実行を高速化する「JITコンパイラ」を取り入れたことだ。もう一つの理由として、操作感に関わる各種チューニングが進んだことも大きい。Android OS 2.1に比べると、同じハードウエアでもタッチパネルの精度が向上してるように感じられる。そしてAndroid OS 2.2には、数々の新技術、新機能が取り入れられている。前述のJITコンパイラ、JavaScriptを高速化するV8エンジン、テザリング(スマートフォンがWi-Fiスポットになる機能)、Androidアプリの一括更新や自動更新、YouTubeアプリの字幕対応など各種プリインストール・アプリケーションの改善。


そして米AdobeからはFlash PlayerのAndroid版が登場した。Flashを使った各種Webサイトを、Android端末で閲覧できるようになったのだ。Ustreamもニコニコ動画も問題なく視聴できる。


ここではAndroid OS 2.2で最も重要な2つの新機能を紹介したい。一つは前述のJITコンパイラ。もう一つは「ネットワーク越しのインテント」である。


1.JITコンパイラで25年前の世界最速コンピュータの水準に

JITとは「ジャスト・イン・タイム」の略だ。JITコンパイラは、Androidアプリケーションを実行直前に機械語に翻訳(コンパイル)して実行する仕組みである。Javaテクノロジの分野ではおなじみの技術だ。Androidには、今回のバージョンから取り入れられた。


Linpackベンチマークの実行結果

Linpackベンチマークの実行結果

JITコンパイラは、主に演算処理中心の処理を高速化する。このため、数値演算のベンチマーク結果が目に見えて向上する。


数値演算の性能を測定する「Linpackベンチマーク」の結果を見ると、テストに用いたNexus Oneは39.804MFLOPS(※)という結果を出している(なお、処理系の特性上、実行のたびに結果の数字は変動する)。Linpackの歴史をさかのぼると、1984年にベクトル型スーパーコンピュータCRAY X-MPが出した性能が21MFLOPSである。


つまり、Android OS 2.2搭載Nexus Oneは、1984年の世界最速コンピュータを上回る性能を叩きだしている。さらに、オーバークロックで性能を高めたNexus Oneでは49.664MFLOPSという報告例もあり、この数字は1985年にベクトル型スーパーコンピュータNEC SX-2が出した46MFLOPSを上回る。2010年のスマートフォンの性能は、25年前の世界最速コンピュータの水準に達しているのである。


※メガフロップス:処理速度を表す単位。1秒間に100万回の実数計算ができることを意味する。


JITによる性能向上は、数値演算では2~5倍と大きい。ただし対話型処理中心のアプリケーションではあまり効かない。一方、トイカメラ・アプリFxCameraなど画像処理を含むアプリや、演算処理を頻繁に繰り返すAR(拡張現実)系のアプリでは目に見えて実行速度が上が画像処理や一部のゲームなどの分野では、JITの登場により、いままであきらめていた複雑な演算処理をより積極的に活用したアプリケーションも登場するだろう。Androidの適用範囲はまた広がったのだ。


2.ネットワーク越しのインテントは世界を変える可能性も

Android OS 2.2でのもう一つの重要な新機能が、「ネットワーク越しのインテント(アプリケーション間の連携機能)」だ。機能の正式名称は「Cloud to Device Messaging(C2DM)」と呼ぶ。サーバーからAndroid搭載端末に対してインテントを送り、アプリケーションを起動することができる。


そのインパクトには、非常に大きな可能性があると筆者は感じている。例えば、Android搭載リモコンからAndroid搭載のテレビや、タブレット端末などを操作する際、任意のアプリに任意のコマンド列を付けて送り込むことができる。つまり汎用性が高い家電ネットワークを構築できる可能性がある。


ネットワーク越しのインテントのサンプル・アプリケーションとして、Google Chromeブラウザで開いているページをAndroid端末で開く「Chrome to Phone Extension(chrometophone)」と、クラウド上のメモとスマートフォン上のメモを同期する「JumpNote」が公開されている。インテントという標準機能の枠組みに沿って、このような分散処理アプリケーションを手軽に作れる。ただ、率直に言って、これらはいかにも「サンプルくさい」アプリケーションなので、これらを見ているだけではネットワーク越しインテントの衝撃を感じることは難しいかもしれない。


ネットワーク越しインテントの概念図

ネットワーク越しインテントの概念図(「Google I/O 2010」より)


筆者がなぜネットワーク越しのインテントが重要と考えるかといえば、その汎用性に注目するからだ。ネットワークと、標準的で汎用的な枠組み(プロトコル)、そして普及したアプリケーションが結び付くと、時に世界が変わるほど大きな成果が得られる。良い例がWebブラウザである。HTTPとHTMLとURIという標準的で汎用的な枠組みを定めたことにより、Webは世界中に広がり、インターネット・ビジネスが誕生し、世界が変わった。


今、Android端末は、Googleによれば1日10万台以上のペースで増え続けている。つまり1年で数千万台という途方もないペースで端末の普及が進んでいる。それらの端末上でネットワーク越しのインテントが使えるようになった時、一体何が起こるだろうか。ネットワーク越しのインテントは、デジタル家電を束ねる標準プロトコルとなるかもしれない。あるいは、もっと大きな、Web誕生以来の大変化につながる可能性すらあるのだ。


Androidの進化は速い。情報テクノロジの将来動向に関心がある人にとって、Androidは目が離せない存在である。