-
1つ目のPは「プロトコル」。Waveサーバはグーグルが独自に書き起こしたHTTPサーバの一種で、SMTPを置き換え得るサーバソフトウェアだ。通常のHTTP上でWaveのプロトコルを使ってクライアントと通信する。クライアントとは基本的に小さなXMLファイルをやり取りする。
SMTPと異なるのは、サーバ同士がメッセージの送受信のたびにピア=ピアで通信を行うのではなく、ユーザー間で1つのサーバ上のWaveオブジェクトを共有するモデルとなっている点だ。この構成によって、Comet(コネクションを切らずにHTTP通信を行うテクニック)による非常に応答性の高いリアルタイムコミュニケーションが可能となる。タイプ中の文字は1文字ずつサーバに送られ、各クライアントにほとんどタイムラグなしに動的に表示される。多くのインスタント・メッセンジャーでは、相手がタイピング中であることは表示されるが、実際に相手のメッセージが届くのを待つことになる。これがWaveではタイプ中の文字がサーバからリアルタイムに送られてくる。「これは会話をとてつもなくスピードアップさせます」(ラスムセン氏)。
WaveクライアントはローカルにあるXMLファイルを変更する。この変更差分がXMLでサーバにプッシュされ、サーバ上のWaveオブジェクト(XMLファイル)に適用される。続いてその差分が接続中の各Waveクライアントに広がり、それぞれの画面にリアルタイムで変更が反映される。Waveではテキストだけでなく、画像やリンクなども同様に扱うことができ、画像ファイルを貼り付けたWave(一連のコミュニケーションを構造化したスレッド、もしくはドキュメントそのものをこう呼ぶ)では、画像を並び替えたり、キャプションを複数人で共同編集したりといったことがリアルタイムで行える。