「すべてWeb上にある」までの遷移、Gears、AIR

上記「ホームページ作成ツール」は、iGoogleとは少し違う。iGoogleはWebサービスであり、ローカルPCにはアクセスできない。Googleはおそらく「全部Web上にあればローカルPCになんてアクセスしなくていい」という理想があるのだろうけど、まだまだそこまでは到達していない。ただ、Googleの勢いも早い。米Google、プレゼンテーションソフト企業のZenterを買収と、Google Docs & Spreadsheetsにプレゼンテーションが加わるらしい。あとはシェルとエディタとコンパイラとストレージさえWeb上にあれば、確かにローカルPCになんてアクセスしなくていいかもしれない。

しかし、Itanium vs AMD64やInfiniband vs PCI Expressのような過去の例から言って、「過去との互換性が無く、他に選択肢がある」ような革新は成功しにくい(他に選択肢がなければ、ApplePowerPCx86ような成功もある)。Itaniumはハイエンドサーバーで利用されており、そこに十分価値があるが、geekにしか利用されないWebアプリケーションには価値がない(現状、収益モデルを確立できない)。デスクトップアプリケーションで使いやすいアプリケーションがあれば、わざわざWeb上のアプリケーションを使う必要もない。Googleには「これ以外に選択肢はない」というもので、理解可能なビジョンがあるのだろうか。


他に選択肢の無いような革新的ビジョンを示すより、「すべてWeb上にある」という状態にスムーズに遷移できるように互換性を確保した方が、たぶん簡単。その一環がGoogle Gearsなんだろうけど、Gooogle Gearsを使ったサービスも、やっぱりWebサービスの域を超えない。著作権やセキュリティなどの問題に対処しないといけないので、ローカルPCにフルアクセスなんてできない。


そこから考えると、AdobeのAIR(旧Apollo)の方が成功しそう。もちろんAIRとGearsは相反するものではないので、「すべてWeb上」への移行の過程でAdobeGoogleが歩み寄って連携するか、寄らなくても連携するためのツールがどこかで開発されると思う。(SQLiteなどで歩み寄りは既に始まっている)


AIRは普通のデスクトップ用ランタイムでしかない。しかしそれはWeb技術でデスクトップアプリケーションを記述するというもので、「JavaScript」「Ajax」「Google API」などのオープンスタンダードでつながる技術者を取り込める。その上で、「Flash」や「Flex」などのAdobeが持つWeb技術を利用し、リッチなインターフェースの提供と、技術者のデスクトップアプリケーションからWebアプリケーションへの逆輸入を狙う。WebサイドでFlexアプリケーションを実行し、クライアントサイドでAIRアプリケーションを実行し、相互に連携する。使われている技術はまったく同じで、UIはFlashなので、アクセスできる範囲(ローカルPC+WebとWebのみ)が違うだけで、デスクトップ用でもWeb用でも結局はまったく同じ見た目のアプリケーションを書ける。デスクトップからデータが消えていけば(あるいはただのキャッシュかバックアップだけになれば)、そのまま自然に「すべてWeb上」に移行していく。完璧に互換性が保たれたストーリー。


まずは、AIRを使ったデスクトップアプリケーションは登場すると思う(自分で作ろうかな)。続いて、そのAIRアプリケーションと連携するサーバーサイドのFlexアプリケーションが出てくる(AIRアプリケーションはインストール作業が必要なので、互換性を保つためには、ほぼ同等の機能を持ったサーバーサイドアプリケーションが必要になるはず)。サーバーサイドのFlexアプリケーションは普通にブラウザ(Flash)でアクセスできるので、HTML+CSS+JavaScriptと比べて圧倒的にリッチな上に、記述が簡単なUIにインスパイアされる開発者がたぶんたくさん出てくる。AIRアプリの方も使ってみると、半透明すげーとなる。「JavaScript」「Google API」などのキーワードに惹かれて、とりあえずAIRアプリを作ってみる開発者もたくさん出てくるはず。そして、そのうちキラーアプリが出てくる。


引っかかる点は、UIがHTMLでない点くらいか。Webサービスの普及の一因には、「HTML+CSSユーザーインターフェースが簡単に書ける」という点があったと思う。しかし、デスクトップアプリケーションよりWebアプリケーションを使いたいと思わせるような、リッチなインターフェースを提供するには無理が出てきたことは確か。開発者はHTML+CSSを棄ててMXMLとFlashを受け入れるのか。


FlashやFlexがクローズドであることも引っかかる。FSFやMozillaなどは間違いなく嫌がる。GnashなどのFlash互換プレイヤーや、もしかしてMozlexなんてFlex互換ランタイムなんかが出てくると、JavaScriptクロスブラウザ問題と同じような状態になってしまう。このあたりは、Adobeがどこまでクローズドを貫きつつ、オープン業界にも普及させるかが鍵か。あるいはSunのように複数ライセンスの下でオープンソースにしてしまうかもしれない。そうすると他社からFlex開発ツールが出てきたりして、Adobeとしては旨味が減るが、膨大な数の開発者が集まれば問題ない。あるいは、他の追随を許さない高品質なツールを開発し続ければ問題ない。Adobeなら可能か。ただ、リリースサイクルの合間に現行のリリースに不満があるOSSコミュニティーに攻勢をかけられると、ユーザーを奪われるかもしれない。Adobeとしては、開発途上の情報公開をもっと充実させる必要がありそう。Adobe Labsはそれを狙っているに違いない。




ところで、問題は、自分がAIRやGearsに乗るかどうか。これは乗るしかない。いくらオープンであろうと、HTML+CSS+JavaScriptは、いずれAppleに負けそう。