5月19日~20日に開催された「Google I/O」で発表されたAndroid 2.2は、多くの新技術が投入された意欲的なバージョンです。前回ご紹介したJust-in-timeコンパイラは、アプリの実行速度が最大5倍にもなり期待ができます。今回は、Android端末とPCの関係を変え、想像できなかったサービスを生み出すきっかけとなるかもしれない「Cloud to Device Messaging」に迫ります。
Google I/Oで、Cloud to Device Messagingをプレゼンする様子。 Android 2.2を説明するプレゼンは、YouTubeで観ることができるので興味のある方はアクセスしてください。
http://www.youtube.com/watch?v=IY3U2GXhz44&feature=player_embedded
Cloud to Device Messagingとは?
Cloud to Device Messagingは、大変ユニークな仕組みで、簡単に言えば、PCからネットワークを通してAndroid端末にインテントを発行し、Android端末側になんらかの処理を行わせようというものです。
これだけでは、ざっくりしているので、もう少し詳しくご説明して行きます。
まず、肝となるインテントですが、Android OS特有の仕組みで、他のOSに例えるとプロセス間通信のようなものです。インテントは、アプリ又はアクティビティ間で情報のやりとりが行える仕組みで、相手を指定してインテントを発行する「明示的インテント」と、相手を指定せずインテントをブロードキャストして該当するアプリに処理を任せる「暗黙的インテント」の2種類あります。
明示的インテントは、アプリ内で使われ、画面遷移など使われます。
暗黙的インテントは、少し複雑で、分かりやすい例では「ギャラリー」アプリの[共有]コマンドで使われています。ギャラリーの[共有]コマンドを実行すると、GmailやPicasa等[共有]が発行するインテントを受け取り可能なアプリが一覧が表示されます。アプリを選択すると、受け取ったインテントに対する処理をアプリが行います。
このように、インテントを発行する側からは、受け取り可能なアプリがわからず、どう処理されるのか分からない所が特徴的です。Cloud to Device Messagingは、この暗黙的インテントを、ネットワーク越しに行えるよう拡張したイメージで、一連の処理は以下のようになります。
PCのアプリは、Cloud to Device Messagingサーバに対してアプリケーションの登録を行う。
登録を終えたら、PCアプリはサーバに対してインテントを発行する。
端末がネットワークに接続されている状態であれば、サーバは端末に対して、インテントを発行する。
端末は、受信したインテントを暗黙的インテントにように、システムでブロードキャストする。
端末のアプリは、自身の設定情報に基づいて、ブロードキャストされたインテントが処理対象であれば受け取る。
アプリ独自の処理を行う。
という流れです。
大きく分けると2部構成で、前半の処理は、PCアプリとCloud to Device Messagingサーバとのやりとり、後半の処理は、Cloud to Device MessagingサーバとAndroid端末のやりとりとなります。
どんなアプリが登場するのか?
では、どのようなアプリが登場するのか考えてみます。
まずは、既存アプリでGoogleからリリースされている「chrometophone 」です。
このアプリは、PCで閲覧中のWebページのURLをワンクリックでAndroid端末へ送信してブラウザで開くことができます。これまでだと、自分宛にメールを送信して、メールに書かれているURLをタッチして、ブラウザを開くと言った流れでしたが、このアプリを使えば、ウソのように簡単になります。
次に、端末の紛失・盗難対策のリモートワイプなどは、いとも簡単に作成できそうです。リモートワイプのように、大げさな仕組みでなくとも、端末のロックを行い、端末の画面に返却先のメッセージを送るなどのアプリは、これまでとは比較にならないくらい簡単に作ることができそうです。
最後に、Android OSをベースとするGoogle TVにも期待できそうです。
製品に録画機能が付くのであれば、既存のハードディスクレコーダーが備えている遠隔地からの録画予約は、iEPGのようになWebページのTV番組サイトから、好みの番組を確認して、ボタンを押すだけで予約ができるようなサービスが現れる可能性があります。もしかすると、YouTubeで予告を見せ、面白そうだったら、録画ボタンをクリックするといった使い方があたりまえになる可能性があります。
これまでの関係を変える技術
Cloud to Device Messagingは、魔法のような驚きを持つ技術ではありませんが、ケーブル接続か近距離の無線接続前提だったPCとの関係が過去のものとなり、目の前のPCだけではなく、遠隔地のPCとも関係を持つができ、新たなアプリやサービスを生み出す可能性を持つ技術です。最近、ならではという技術を見かけることが少なくなりましたが、これはAndroid OSならではの技術と言えます。