Androidは雇い主の分身として仕事をする
エージェント
Androidの生みの親アンディ・ルービン氏×
「Google Android入門」著者の嶋是一氏
@IT編集部
2008/6/13
Androidの生みの親、アンディ・ルービン氏が、Androidに込めた思いと今後の展望を語る。「Google Android入門」の著者である嶋是一氏が聞く。
6月10日に横浜パシフィコで「Google Developer Day 2008」が開催された(参照:【Google Developer Day基調講演レポート】アンドロイドやOpenSocialなどデモ多数、グーグル)。
グーグルが2007年11月に発表した携帯電話向けプラットフォーム「Android」の生みの親でありモバイルプラットフォーム担当シニアディレクターのアンディ・ルービン(Andy Rubin)氏もスピーカーとして訪日しており、@IT編集部で行ったインタビューに興味深い話を語ってくれた。
「クロールして持ち帰るということは、Androidがエージェントとなることを意味していると思う」Androidの親、アンディ・ルービン氏 |
この日のアンディ・ルービン氏は基調講演でAndroidパートのスピーカーを務め、3G携帯電話に搭載したAndroidを実網に接続したデモを行った。このときインターネットに「アクセスしやすく」する技術の1つであることを説明した。その後、「Google Android入門(技術評論社)」の著者である嶋是一氏をインタービュアーに迎え、約20分のインタビューを行った。
片方の足がRIA、そして、もう片方の足がクライアントアプリ
嶋是一(以下嶋):まず始めにAndroidという名前を付けた理由は? なぜロボットではなかったのでしょう?
アンディ・ルービン(以下ルービン):私は少年自体からロボットが大好きだったんだ。いまでもずっと好きだ。子供はみんなロボットは好きだろう? だけどロボットは人の形をしているとは限らない。より人に似せて人の形に近いのがアンドロイドだ。それは親しみがあり友達のようだし、ロボットよりも楽しい気持ちになれるだろう? そうだ日本のアニメと同じだよ。そういう世界を持っているんだ。より人に近いところにある、それがGoogle Androidなんだ。
インタビュースタート直後からルービン氏の熱い話で始まった。アンドロイドに対する楽しさや、ワクワクする気持ちを込めて付けた名前のようである。Google Androidが、ロボットのように人から遠い関係にあるものではなく、アンドロイドのように、より人に近いものとなることを期待しているようだ。
「ロボット好き」というルービン氏が、本当にハードウェア好きと思える一面も当日見せてくれた。なんと基調講演で用いた、携帯電話画面をプロジェクターに映し出すための装置は、氏の自作らしいのだ。しかも、事前に会場に訪れて、講演時と同じライティングにセッティングしてもらい、ホワイトバランスなどを設定するという、念の入れようである。そのかいもあり、デモンストレーションは実にスムーズなものだった。 |
嶋:この自分の友達でもあるアンドロイド君の活躍の中心の場所はどこでしょう。インターネットとクラウドをクロールして情報を持ち帰ってくるのか、それとも、自分の横にあり、持ち主自身の情報をクロールするのか?
ルービン:クロールして持ち帰るということは、Androidがエージェントとなることを意味していると思う。そのために働く場所は、どこでも行うものだと思う。
ルービン氏もエージェントとしてのAndroidには興味がある様子であった。質問にあったクロールとは、検索システムで世界中のWebページにアクセスし情報を収集する処理のことである。特にこのようなプログラムを「ロボット」と呼ぶ。 また、エージェントとは、雇い主の分身となり仕事をする人/物のことである。特にここでは、持ち主が欲する情報をインターネットで自主的に集め、持ち帰り、行動提案をするアプリケーションを意味している。ルービン氏は、クラウドの新しいイノベーションから発する情報をエージェントが持ち帰ることは価値があることであるが、それを使いやすくするために、(ネット側だけでなく)自分の横にもAndroidはなくてはならないと語ってくれた。 |
嶋:どちらかといえば、アンドロイド君がより活躍できるのは、RIA(リッチインターネットアプリケーション)のようなネットワーク・クラウドの上でしょうか? それとも、クライアントアプリケーションのような、携帯電話の中でしょうか。Androidがクラウドへ“アクセスしやすくするツール”として考えると前者だと思うのですが。
ルービン:Androidはキャラクターを見てもらうと分かるとおり、両足を持っていて自立しているんだ。私が思うに、片方の足がRIA、そして、もう片方の足がクライアントアプリだ。1本だけで立っていられるわけでなく、両足が必要と考えている。それは、Androidには各種多様なアプリケーションが搭載される。その1つ1つのサービスにより、最も適した使い方があると思っている。例えば、皆が大好きなゲームなどは、携帯電話のリソースを潤沢に使うためにクライアントアプリである方が、よりAndroidとして活躍できるだろう。
RIAはWebブラウザ上で(Ajaxやスクリプトを駆使し)アプリケーションを動作させる手法である。あたかもクライアントアプリケーションが動作しているように見えるため、将来クライアントアプリケーション市場のシェアが奪われる可能性もあるといわれている。しかしAndroidはRIAに特化したものでなく、プラットフォーム(PCでいうOS:オペレーションシステム)であるため、広い可能性を持っている。その可能性の1つとしてRIAを用いればいいし、クライアントアプリを利用すればよいと語っていたようだ。 |
オープン設計で内部メディアライブラリもマッシュアップ
嶋:Googleの技術が支持されている背景として、多くの人が参加できる技術環境を提供し、マッシュアップを促すのが強みだと思っています。クライアントアプリケーションよりも、RIAの方を開発する人が多いため、よりマッシュアップが起きやすい環境であると思うのですが。アンドロイド君はRIAで発展すると思うのですが違いますか?
ルービン:残念ながらそれは同意しかねる。Androidはそれ自身がオープンになるように開発されている。そのためAndroid上アプリケーションでマッシュアップは起こるし、何より、Androidは内部のライブラリでさえもマッシュアップできるよう、オープンに設計しているんだ。それくらいクライアント部分についても大切に考えている。例えば基調講演でデモしたメディアプレーヤが使っている、メディアライブラリの部分についても、マッシュアップができるような仕組みに作ってあるんだ。
Androidアーキテクチャは、Linuxカーネルの上に「ライブラリ」というモジュール群が存在し、それらの多くはC/C++言語で記述されてライブラリオブジェクトの形で提供されている。このライブラリの上層に、アプリケーションが動作するためのVM(バーチャルマシン)やフレームワークが重なる構造を持つ。このライブラリは奥深い層に存在するため、Androidの機能を左右する重要なモジュール群である。 |
嶋:ライブラリ部分までマッシュアップを推奨するのはかなり驚きです。現在は残念ながら、ソースの多くが公開されていないため、ライブラリの自由な追加・削除について闇の中でしたので、もしかするとOHAなどのアライアンスプログラムにより制限が課せられる可能性を憂慮していました。
しかし、ライブラリ部分までマッシュアップすること自体は、Androidの分断化/断片化が進んでしまわないかと、より憂慮しています。このような断片化がされないようにするために、やはりOHAなどの取り組みでルール作りをしていく必要があるのではないでしょうか? そうすると、マッシュアップの主体は、より制約のない自由な環境であるRIAになるように思えるのですが。
ルービン:断片化については非常に興味ある部分だ。しかしわれわれはそれをコントロールすることはできないと考えている。
分断化/断片化はフラグメント(Fragment)ともいわれ、同じAndroidであるのに複数の実行環境が多数できてしまう状況を指す。これが深刻に進むと、アプリケーションが異なるAndroid上で動作できなくなる可能性もある。一方、現在AndroidはOHA(Open Handset Alliance)に参画する34社の貢献により作られている。Androidの標準化はこの団体で現在行われていると推測されている。 |
嶋:そうすると、ソースがオープンにされた後、正規Androidではない亜流Androidが出てしまう可能性もあります。これも許容するということでしょうか?
ルービン:Googleはそれを制限できないし、コントロールできるものでもないと思っている。それもマッシュアップが行われる活動の中で、市場が選択していくべきものと思っている。良いモジュールは残り、悪いものは淘汰される。むしろ、マッシュアップで分断化を解決できるのではないだろうか。
確かにOHAは「商用端末の第1機種目を作るために集まった仲間」と報道されている。出荷後は、唯一のAndroid標準化団体ではなくなる可能性も否定できない。また、亜流のAndroidが出現してもコントロールできないし制限しない、という自由でオープンな考え方が、これほどまで徹底されていることに驚きを隠せない。 |
テストスイートを標準のチェックツールとして無料で提供予定!
嶋:しかし、亜流Androidが複数あるということは、事実として分断化しています。このため、1つのアプリケーションがほかのAndroid上で動作しない可能性もあります。この状態を放置することはAndroidの発展を害さないでしょうか?
「標準のチェックツールとしてテストスイートも提供できますよ」Androidの親、アンディ・ルービン氏 |
ルービン:別に分断化を放置するわけではない。われわれとしてはテストスイートを市場が必要とするならば、標準のチェックツールとして提供する予定もある。もちろん無料で!
テストスイートとは、新たに作り出した新しいAndroidプラットフォームが、最低限守るべきAndroidの互換性を満たしているかどうか、確認を行うツールである。このテストスイートが充実していることは、Androidの分断化を防ぐことを意味する。サンマイクロシステムズのJavaや、Adobe Flash Liteなども、このような検証プログラムが必須とされており、これが完了しない限りは出荷できない。 |
嶋:無料ですか? 驚きました。OHAに参加されている企業には、これらの評価を行うための役割があると思っていました。私の想像では、検証試験ベンダが、高い金額を設定するのでないかという恐怖がありました。なぜならオープンなものを検証することは大変にコストが掛かるためです。本当に無料で出してしまってもいいのですか?
ルービン:無料です(笑)。 だけどわれわれとしてはそのツールを提供するだけですから。
嶋:なるほど。だけど、議論を掘り返して申し訳ないのですが、ある断面で分断化が進み『本家Android』『日本Android』『別の標準化団体が進めるAndroid』などが出現してしまう状況には、私はどうしても違和感が残ります。
ルービン:まず明確にしたいのが、現状はまだAndroidは正式リリースしていない事実だ。そのためソースも公開しておらず、懸念している状況にないということである。このようなオープンな開発を行う場合、進め方として大きく2通りある。
1つは、新しいものを作り出す際に、完全にオープンにして広く希望者全員を参加させる方法である。すべての参加者がかかわり仕事を行い、その参加者全員の有機的な結合により進める方法である。
もう1つは、今回のOHAのように、まず初めのプロダクト(製品)を作り出すまではオープンにしない方法だ。ソースなどが固まり、製品が出荷した品質のときに正式リリースとする方法だ。
後者の場合は前者に比べて、リリースするまでは分断化は進まないし、その後も有機的結合の中で開発するより、分断化は進みにくいと考えている。まだ、現段階ではAndroidはver.1になっていない。
嶋:そういう意味でも、あえてこの質問させていただきます。ソースが公開されるのはいつなのでしょうか。
ルービンは笑いながら、また聞かれてしまったという感じであった。しかし落ち着いて答えてくれた。 |
ルービン:もちろん具体的な日程はいえないが、ソースが固まったタイミングに公開される。それは、1stプロダクトが出るタイミングでもあり、リリースがAndroid ver. 1.0となるタイミングでもあり、そして、これがソースが公開となるタイミングだ。
ファーストプロダクトは携帯電話であり、今年の後半とアナウンスされている。これからすると、2008年中(執筆時点からすると6カ月以内)にソースが公開される見通しだ。 |
嶋:最後に1つだけ質問させてください。携帯電話以外の製品で、Androidが出荷される具体的な話はありませんでしょうか?
ルービン:Androidの可能性は携帯電話だけではない。超小型PC、PDA、カーナビ、そのほか多様な可能性がある。当然、このような開発が今後あるだろう。まずは1stプロダクトの携帯電話を出して、その先にある未開拓の世界だと思っている。
「Google Android入門(技術評論社)」の著者である嶋是一氏 |
最後に嶋氏の著書「Google Android入門」に、ルービン氏からサインをもらっており(ルービン氏も嶋氏からサインをもらっていた)、書いてあったメッセージは「Androidを勉強するディベロッパーの助けとなりますように」である。きっとこれは等しく多くの開発者に向けた言葉なのだろう。
|
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|