2005.09.28
Web 2.0の3つの方向 - マッシュアップ、Ajax、新しいブラウザ
「Web 2.0」という言葉があちこちで聞かれるようになったが、Wikipediaの解説などを見ても、どうも定義がはっきりしない。IT用語とは概してよくわからないものだが、「Web 2.0」というのは定義のある技術用語ではなく、むしろ「動向の名前」に近いので、理解するのが余計むずかしい。

最近ティム・オライリーが作ったというWeb 2.0のミーム・マップネタ元)を見ると、中央に「The Web as Platform (プラットフォームとしてのWeb)」と書かれており、周囲にいろいろな関連トピックがある(これはFoo Campというイベントでのブレストのまとめらしい)。つまりティム・オライリー的には、「Web 2.0」とはまさに、彼がずっと前から言っていた「インターネットOS」論の別名ということだろう。

これらを見ても、大体の方向性はわかるが、「ひとことでいうと、何?」というエッセンスがわかりにくい気がする。

少なくとも、「Web 2.0」を可能にしている中心技術が「Web API」であることは間違いないと思う。「プラットフォームとしてのWeb」が可能なのは、Web上で複数の部品がWeb APIを通じてコラボレートできるからだ。なお、ここではWeb APIを以下の意味で用いている。

Web APIとは :
人間のためのユーザインターフェイス(いわゆる「画面」)ではなく、ソフトウェアに向けて、サービスやデータを公開するAPI(プログラムのためのインターフェイス、いわば「接続端子」)としてWebを使う方法。技術的には、SOAP、XML-RPCなどのWebサービスだけでなく、REST型のものや、RSS、ATOMなども含む。

つまり、ブラウザで何らかのURLを叩いたとき、普通のページではなくコードみたいなものが出てきたら、それは人間用ではなくソフトウェア用のWeb APIだ。

Web 2.0をドライブするものがWeb APIだとすれば、これがもたらすものは、そのWeb APIを使う「ソフトウェア」が何になるかという点で、

(1) マッシュアップ
(2) Ajax
(3) 新しいブラウザ

の大きく3つに分類できると思う。

(1) マッシュアップ

概略 : 複数のWebサービスを束ねて、人間向けのWebにまとめあげたもの
Web APIを使うソフトウェア : サーバにあるWebアプリ(人間が見るWebページの生成機)
見るのに必要なもの : 古いブラウザでOK
例 : Amazon Lightあまなつなど、AmazonのWebサービスを使ったサイト

(2) Ajax

概略 : JavaScriptベースのアプリケーション
Web APIを使うソフトウェア : Ajaxアプリ(Webページにはりついたプログラム)
見るのに必要なもの : 最近のブラウザ
例 : Google Mapsstart.comBindowsなど

(3) 新しいブラウザ

概略 : 従来のブラウザの拡張、新しいブラウザ、ブラウザ以外のデスクトップアプリ(これらをまとめて、ここでは「新しいブラウザ」と呼ぶ)
Web APIを使うソフトウェア : 新しいブラウザ
見るのに必要なもの : 新しいブラウザ
例 : Google Earthflockなど

(1)、(2)、(3)と進むにつれて、Web 2.0の「現場」が、サイトの奥、サイトそのもの、ブラウザ、と手前にやってくるので、従来のWebサイトと比べて、ユーザエクスペリエンスがより異質になってくる。

(1)はかなり前からあり、(2)は最近ホットになってきて、(3)はこれから、という状況だと思う。

アップデート (9/28) :
(1)のマッシュアップに関して、複数のWebサービスを組み合わせたサービスのマトリックスを発見。

ProgrammableWeb : Web 2.0 Mashup Matrix
http://www.programmableweb.com/matrix

これはすごい。テーブル上でマウスを動かしてみてください。