写真1●Ajaxスプレッド・シート「Num Sum」。セルの数値を書き換えると,関数の計算結果も変わる
写真1●Ajaxスプレッド・シート「Num Sum」。セルの数値を書き換えると,関数の計算結果も変わる
[画像のクリックで拡大表示]
写真2●オープンソースAjaxフレームワーク「ActiveWidgets Grid」のデモ。GPLと商用のデュアル・ライセンス
写真2●オープンソースAjaxフレームワーク「ActiveWidgets Grid」のデモ。GPLと商用のデュアル・ライセンス
[画像のクリックで拡大表示]
写真3●Ajaxワープロ「Writely」。文書はHTMLなどの形式で保存される
写真3●Ajaxワープロ「Writely」。文書はHTMLなどの形式で保存される
[画像のクリックで拡大表示]
写真4●米Isomorphic SoftwareのAjaxデータベース・クライアントのデモ
写真4●米Isomorphic SoftwareのAjaxデータベース・クライアントのデモ
[画像のクリックで拡大表示]
写真5●米Isomorphic SoftwareのAjaxデータ解析アプリのデモ
写真5●米Isomorphic SoftwareのAjaxデータ解析アプリのデモ
[画像のクリックで拡大表示]
写真6●米MB Technologiesのフレームワーク「bindows」のデモ。AjaxでWindowsを模したデスクトップ環境を作成している
写真6●米MB Technologiesのフレームワーク「bindows」のデモ。AjaxでWindowsを模したデスクトップ環境を作成している
[画像のクリックで拡大表示]
写真7●米MB Technologiesのフレームワーク「bindows」のデモ。グラフを表示している
写真7●米MB Technologiesのフレームワーク「bindows」のデモ。グラフを表示している
[画像のクリックで拡大表示]
写真8●Thinkfree OfficeのJavaアプレット版。Microsoft Officeのファイルを扱える
写真8●Thinkfree OfficeのJavaアプレット版。Microsoft Officeのファイルを扱える
[画像のクリックで拡大表示]

 米Googleと米Sun Microsystemsが10月4日,提携を発表した(関連記事)。この提携に関しては正式発表前から噂が流れていたこともあり,欧米メディアから「対Microsoft連合か?」など様々な観測記事が流れた。

 とりわけメディアが関心を寄せたのは,OpenOffice.orgを持つSun,Ajax(解説記事)を活用したGoogle Mapsなどインターネット・サービスで技術を先導するGoogle,両社が協力すればMicrosoft Officeに対抗するようなネットワーク・サービスを提供するのではないかという予想だ。

 提携前に記者は「デスクトップの機能をネットワークが吸い取る---MicrosoftがGoogleを恐れる理由」というコラムを書いた。まさにこの文脈の延長線上で,最大のデスクトップ・アプリケーションであるオフィス・ソフトをネットワークへ移行させるサービスが開発されるのではないかという期待が盛り上がった。

 だが実際に確定した提携内容は,SunがJRE(Java Runtime Environment)のオプションとしてGoogle Toolbarのダウンロード提供を始めるなどの内容に留まった。欧米の報道によると,米Googleの共同創業者であるSergey Brin氏は「オフィス・ソフトを作る計画はない」と語ったという(英Registerの記事)。

 SunとGoogleの提携はこれだけに留まらず,さらに計画があるという予測もある。だが,企業の戦略はともかくとして,技術面ではWeb版オフィス・ソフトが実現する可能性はあるのだろうか。

 実はWeb版オフィス・ソフトを実現するための要素技術のほとんどがすでに作成され,公開されている。

既に開発されているAjaxによる表計算やワープロ,データベース

 写真1は,Ajaxで作成されたスプレッド・シート「Num Sum」だ。セルに「=SUM(C2:C4)」といった関数を書き込むと,計算結果の数値が表示される。セルの数値を書き換えると,ページをリロードすることなく,関数の計算結果も即座に変更される。

 オープンソース・ソフトウエアとして配布されているものもある。「ActiveWidgets Grid」(写真2)はスプレッド・シートではなくAjaxによるグリッドGUIを構築するためのフレームワークだが,GPLと商用ライセンスのデュアル・ライセンスで配布されている。

 写真3はAjaxワープロ「Writely」だ。文字の大きさ色,書体などを選んで文書を作成できる。表や画像も挿入できる。作成した文書はHTMLなどの形式で保存される。作成中の文書を自動保存する機能もある。

 データベースもある。Webアプリケーションなのでデータベース・クライアントだが,米Isomorphic SoftwareのWebサイトには,データベースを検索してフォームでデータを更新するインタフェースのデモがある(写真4)。写真5は,またデータを複数の切り口でグラフ化して分析するためのユーザー・インタフェースのデモである。

 もっと凄まじいものもある。アプリケーションではなく,WindowsをAjaxで実装してみようという試みだ。

 米MB Technologiesが開発しているフレームワーク「bindows」だ。bindowsは,AjaxでWindowsふうのウインドウ・システムを作成するためのフレームワークである。写真6写真7がそのデモだが,ブラウザのポップアップ・ウインドウ内にウインドウが複数表示されている。上部には「File」や「Edit」などWindowsふうのメニューが見える。さすがにここまで来るとかなり動作が重く感じるが,機能を絞れば実用になるかもしれない。

既存のアプリを真似るよりも,Webならではのアプリを

 こうして見てみると,Ajaxでオフィス・ソフトの機能のかなりの部分を実装できそうだ。Ajaxの最大の難点は開発が難しいことだが,これらのライブラリが整備されたことで,多くの開発者に手が届くようになってきたと言える。

 それでは,Ajaxオフィス・ソフトはMicrosoft Officeに取って替わることができるだろうか。

 サイボウズの研究子会社,サイボウズ・ラボはWebアプリケーションのインタフェースを主要テーマの一つとしており,Ajaxライブラリも開発し公開しているが,同社の秋元裕樹氏は「AjaxでMicrosoft Officeのユーザー・インタフェースを真似ても,まったく同じものを作ることはできない。ユーザーにとっては,Microsoft Officeに似ているが,ところどころでひっかかるというアプリケーションになってしまう」と指摘する。

 「既存のアプリケーションを代替するよりも,Webならではの独自アプリケーションでAjaxの特徴を生かすべき」というのが秋元氏の意見だ。GoogleのSergey Brin氏も同じように考えたのかもしれない。

 Webブラウザでリッチなインタフェースを実現するための技術はAjaxだけではない。Javaアプレットとして動作するオフィス・ソフトもすでにある。

 Thinkfreeが開発したThinkfree OfficeはJavaアプリケーション版とJavaアプレット版があり,アプレット版はユーザー登録すれば無料で使用できる。表計算,ワープロ,プレゼンテーションの3種があり,いずれもMicrosoft Officeのファイルを開くことができる。ユーザー・インタフェースもかなりMicrosoft Officeに似ている。日本語を扱うことができるだけでなく,メニューも日本語化されている(写真8)。

 ただ,ローカルで動くネイティブ・バイナリ版に比べ起動が遅いなどの難点はあり,またレイアウトやマクロなども含めればMicrosoft Officeとの互換性は100%完璧ではない。「似ているが,ところどころ異なる」という問題は,またJavaアプレットも直面しているようにも思われる。

Ajaxの可能性はまだこれから?

 それにしても,これだけ短期間にAjaxで様々なアプリケーションが作り出されているのを目の当たりにすると,Ajaxの可能性はまだまだ開拓されつくしてはいないのではないかという気がしてくる。

 技術革新についての名著,クレイトン・クリステンセンの「イノベーションのジレンマ」(翔泳社刊)によれば,現在支配的な技術を駆逐するような破壊的技術は,既存の技術に性能が劣るシンプルな技術として登場することが多いという。また,破壊的イノベーションは必ずしも新しい技術ではなく,既存の技術の組み合わによってもたらされるケースも見られる。この記述は,Ajaxに当てはまる部分も多いように思える。