Google Wave is Great but...

Google Wave見ました。これはすごい。どうすごいかを少し考察した後、but...の後に僕が考えていることを整理したいと思います。

「全てをHTTPベースで規定し直す」というGoogleの根底にある哲学

ご存じの通り、WaveはHTTPプロトコルで動作するSMTP「のような」ものだと良く言われる。これまでのウェブの世界ではWaveで行われるような通信は通常、HTTPではなくIRCSMTPで行われてきた。
HTTPというのはどういう仕組みかというと、

  1. クライアント(ブラウザ)がサーバーにリクエストを出す
  2. サーバーが応答し、データ(headerとbodyから成る)をクライアントに返す
  3. サーバーがデータを全て送信し終わると、クライアントとサーバーの接続は切断される。

という仕組みだ。この仕組みはご存じの通り、「多くのクライアントへ(1カ所で集中管理された)情報を渡す」という点で非常に効率的に設計されている。

他方IRCSMTPにもそれぞれ得意な用途というのが存在しているわけで、そこは一長一短である。通常のIRCなら備えている「プッシュ通知」(相手がチャットでしゃべったらこちらに通知される仕組み)は、実はHTTPで実現しようとすると思いの外大変だ。通常、ウェブサーバーはデータを転送し終わると接続を切断するように設計されており、このままでは「プッシュ通知」ができない。サーバー・クライアント間のコネクションを張りっぱなしにしておけば、その分だけリソースを大きく消費してします。普通のPCサーバーでApacheを動かすと同時接続数が1000も行けばかなり良い方だと思う。そこで、GoogleはCometという技術を使って、この問題を解決したわけだが、本来のHTTPの用途からすれば、はっきり言って滅茶苦茶なことをやっているとも言えなくはない。

では、何故グーグルはそこまでして、HTTPベースにこだわるのか。第一に、彼らの戦略上、特に対MSという文脈においては、全てがブラウザで完結するということの意味は大きい。ブラウザさえあれば、ハードもOSも関係ないよ、という世界こそ彼らにとって理想の水平統合状態だ。
ただ、それだけではないだろう。第二の理由は、HTTPの思想である「多くのクライアントへ(1カ所で集中管理された)情報を渡す」というHTTP、いやウェブの仕組みそのものこそが最高に優れているとグーグル自身が陶酔しきっているようにも見える。今回の一連のWaveの件は、とにかく全てをウェブらしく再規定する、というグーグルの意思表明にも見えるのだ。

早すぎたLingr

Cometの件も出てきたし、Lingrに触れずにはいられない。今回のGoogle Waveのリリースは、Lingrが如何に早すぎたかということを証明してしまった。はっきり言って、Google WaveLingrそのものだ。
2006年9月、僕はシリコンバレーで江島さんに会い、Lingrの裏側がどうなっているかを説明してもらった。その時は、まぁそりゃそうやれば同時接続数を増やせるよね、という技術的な理解のみをして分かった気になっていたが、LingrがやりたかったことはGoogle Waveそのものなんだろうと思った。恐るべし江島健太郎。
唯一残念なのは、GoogleLingrに敬意を払って買収なり、営業譲渡なりがなされなかったことだけだ。

Wave is Great but...

最後に、but...の後ろの部分の話を少しだけ。
ウェブの世界はアプリケーションが全てだ。どれだけ良いテクノロジーやプラットフォームがあってもユーザーが集まらないものに価値は無い。その意味において、Twitterはすごい。裏側のシステムは今でも滅茶苦茶だろうけど、そんなことは関係なく彼らはすごい。

はっきり言おう。Google Waveのアプリケーションが上手くいく気がしない。
まず、単に既存のwikiやIMをウェブ版に直したくらいでは、スイッチングコストが大きすぎるためユーザーは動かないだろう。そして何より、前述のLingrが考えられる限りベストな方法でアプリケーションを作ったが上手くいかなかった。そう、僕はGoogle Waveのプラットフォームを使ってLingr以上にいけてるアプリケーションを作られる気が全くしないのだ。

Waveはコミュニケーションのプラットフォームになる、というけれど、本当にコミュニケーションのプラットフォームということの意味を分かっているかい?
コミュニケーションというのは最もネットワーク外部性が効くから、スイッチングコストが大きいんだよ。
アドレス帳が移動できないとしたら携帯電話キャリアを代えようと思う?
あるいは、今から自分のskypeのコンタクトリストの全員に1通ずつ新しいサービスのinvitationを送ろうと思う?


全てをHTTPで規定しなおすという思想には共感するけど、先はまだ長そうだ。