INTENTが
Androidの起爆剤になる
きっかけは、1ヵ月余り前にNTTドコモのAndroid端末「HT-03A」(関連記事)を入手して、使いはじめたときのことだ。日本語入力のことやメーラーなどについて、グーグル・グループにある「日本Androidの会」に質問を投げさせてもらっていた。そこで、「INTENT」という仕組みのことを教えていただいた(Androidプログラマーの方々には「遅い」と指摘されそうだが)。
iPhoneの魅力は、なんといってもそのシンプルさにある。ホーム画面は、テレビのリモコンよりもボタンの数が少なく、それを押せばアプリが起きるだけの仕組みといっても大げさではない。iPhone OSそのものは、「アプリランチャー」と言い切ってもよく、むしろ「感触」や「直感」や「デザイン」に注力して作られている。逆に言えば、それが素晴らしい。
それに対して、Androidのトップ画面は、いかにも中途半端な印象をまぬがれない。壁紙があり、時計があり、妙なところからフンドシのようなメニューがせり上がってくる。しかし、アプリケーションの実行環境については、AndroidはiPhoneよりもだいぶ新しいのだ。iPhone OSは、いかにも小学生的な「お行儀」のよさの世界である。それに対して、Androidは単に自由度が高いというのではなく、その設計思想にグーグルの狙いが見える。
手近な説明では、HT-03Aに標準で入っている「画像ビューア」がある。これで何らかの画像を見ているときに、「menu」から「共有」のボタンを押すと、「Gmail」「Picasa」「K-9」……といった項目の並ぶメニューが表示される。これは、画像ビューアがINTENTというものを発行して、これらのものが「私が対応できます」と手をあげている感じなのだ。
INTENTとは、Web APIで受け渡されるデータ形式のようなもので、Androidでは、いわばアプリケーション同士がマッシュアップするのに使われる。ここで注意しなければならないのは、Picasaがあるのを見ても分かるとおり、アプリケーションとウェブもマッシュアップが可能ということだ。
この説明をすると、「iPhoneにもアプリ連携の機能はありますよ」とか、「iPhoneにも、アプリからデータを受け渡す先を選べるソフトはあります」などと言われたりする。しかし、その意味は本質的に違っているのだ。
たとえば、ネットを使うあるサービスを開発して起業したとしよう。これをiPhoneで適切なアプリケーションから使うには、一般に専用のiPhoneアプリを用意してやる必要がある。そして、そのアプリを普及させなければならないのだが、実のところ、それがiPhoneアプリで商売するときの最大の課題なのだ。
それに対して、Androidを対象にする場合には、いまある有名ソフトが発行するINTENTに対応してやればよい。画像なら、HT-03Aに標準の画像ビューアで「共有」ボタンを押したときに、自分のサイトが選べるようになる。専用ソフトを流行らせる必要があるのとは、次元が異なっている。
図:iPhoneとAndroidにおけるアプリとWebサービスの関係
この構造は、ウェブにリンクの仕組みしかなかったところに、ブログでトラックバックが登場したのを連想させる。トラックバックが、勝手に相手のサイトに自分のサイトへのリンクを貼れてしまったように、勝手にメジャーなソフトから自分のサイト(やアプリ)につなぐことが可能となる。
INTENTは、Androidのアプリケーションの実行環境の基本であり、非常に広く深い内容を含んでいる。アプリとウェブサービスの連携は、その応用的な使い方の一例に過ぎない。日本Androidの会でも、具体的なソフトウェアの利用場面を想定したINTENTについての議論がされているようだ。INTENTに関して、より正確に知りたい方は、『Google Androidプログラミング入門』(アスキー・メディアワークス)をご覧あれ。
Androidは、モバイルとクラウドの時代におけるソフトウェアの進化に、ちょっとした影響を与える可能性がある。
※次回に続く
■Amazon.co.jpで購入
Google Androidプログラミング入門江川 崇、竹端 進、山田 暁通、麻野 耕一、山岡 敏夫、藤井 大助、藤田 泰介、佐野 徹郎(著)アスキー・メディアワークス