10月初め頃から徐々に一般公開されたGoogle Wave.並々ならぬ興味をもって眺めていたが、無事プレビュー権を獲得することができた。そして少しづつ使い始めている。当初思っていた通り革新的なツールであるというのは間違いない。しかし革新的なエクスペリエンスを提供するかというと今のところ期待はずれと言わざるを得ない。実装不足というわけではない。むしろ現在の仕様としてはちゃんと完成度が上がっていると言える。問題は仕様が偉大すぎてL.starのような凡人がついていけないところにある。

L.starが実際に使うコミュニケーションというと以下のようなものがある。

  • メール

    • グループディスカッション

    • スケジュール/会議予約調整



  • ドキュメント/ソースコード共有

  • IM

  • IRC

  • 2ch


多くはメールに頼りつつ、コラボレーションツールとしてOutlookの機能(ただし会社のみ)も少しは利用する。細かいやりとりはIMやIRCを使うのが多い。IMはBitlbeeでIRCに統合しているので、実際に使うのはメール・IRC・社内共有ツールというぐらいである。Google Wave、というかGoogle Waveが扱うメッセージ単位である"Wave"は基本的にオブジェクト埋め込み可能なツリー構造ドキュメントであり、Waveクライアントはそれをリアルタイムレベルで共有するものである。だから、"Wave"は汎用ツールとして、それら全部を内包することが可能である。それを意図して作ったのであるが、やはりここまで野心的なことをやるのはとてつもなくすごいことだと言えるだろう。問題は、汎用ツールであるが故にどれをやるにも使いづらいのだ。主観というか偏見に近いだろうが、そもそもツリー構造は人間が気楽に扱うにはいまいち。だからスレッド式掲示板はいつまでも傍流なのである。

もう一つは、非常に雑多な更新が起こりうるにもかかわらず、Waveは1つのドキュメントなのである。それゆえ、あちこちの更新をうまく拾ったりするのが難しい(ただし、未読拾うだけならスペースバーでできる)また、おそらく良くできたWaveは(同様にツリー型を基調とする)マインドマップのように放射状に広がることになると思われる(でかい議論とか見たことがないので何とも言えない)が、その場合には全体像を追うのがさらに難しくなる。そもそも、良いWaveを作るためには良い作戦が不可欠である。しかし、誰がいったいそれを指揮するのか、と言う問題はある。今のところ、ベストプラクティスのようなものはある程度存在している。メールやIRCは暗黙のルールがそれをカバーしているが、Waveはそれなしに戦わないといけないのだ。

もうちょっと簡潔にまとめると以下のようになろう。

  • 特定用途で使いづらい。

  • 全体を美しく保つ仕組みの不足

  • 全体像を把握しづらい


さらに踏み込めば「やることが多すぎて何をしたらいいのか分からない」と言うことだ。もちろん、こんなことをWaveチームが気づいていないはずはない。気づいているから徐々にプレニューからスタートし、ノウハウを蓄積させつつ改善のためのフィードバックを充実させようというのだ。

L.starとして、上記のある程度の解決策として、以下のようなものを提案したい。

  • Eclipseでいう"perspective"機能。つまり、特定用途に特化したUIを追加する。これは、ある意味Waveletの仕事と言ってもいいのかもしれないが、Waveletはあくまで埋め込み可能オブジェクトであり、ツリー全体を支配するものではない?と感じられる。ツリーの一部の特定種別に特化した入力機構があれば、ツリーの特定部分の共同作業が楽になる。例えばチャットのように連続してツリーノードでメッセージをやりとりするとか、写真登録を連続して行ったりとか。

  • Wave Template。これもまたWaveletとRobotで実現するべき機能なのかもしれない。今のところWaveはツリー式であり我なら上下スクロールで見るようになっている。例えば、チェスをやりながらchatをするようなケース、これはチェス盤が隠れてしまってやりづらいのではないか、と言うような懸念がある。実際地図は使いづらかった。感じとしてはExcelの「セルの凍結」のように特定部位にノードを貼り付けられたり、段組を実現したりというような形が、Waveの形態によっては求められないだろうか。perspectiveと併せて「特定機能特化」に対す回答である。また、テンプレートはBest Practiceの導入を容易にし、合意の形成や美しいドキュメント作成に役立つだろう。

  • 全体像を把握しやすくする機能。純粋にズームで良いかもしれないが、巨大なWaveになればなるほど使いづらくなるのを避けるためには、全体像を把握するのは必要である。

  • ノードの要約機能。Robotでもある程度可能だろう。巨大なWaveには余り意味のないノードが登場する。しかし、現状ではノードの目立つ度合いは単にオブジェクトの大小である。もっと意味論的にどうなのか?と言うのが必要では無かろうか。例えば単純に「賛成」という意見を表明するようなのは「○」にしてしまうとか、そういうのだ。また/.Jによるモデレーションのような、議論に有益な部分を浮きだたせる機能。短いバージョンを使って要旨を得やすくするなど、議論そのものを小さく「見せる」方法が必要になるだろう。ツリー型では子ノードをばっさりたたんでしまうパターンが多いが、あれ「だけ」はいただけないと思う。必要なのは全体を維持しつつ要約により全体を見やすくすること。


まあ、こんな要望が出てくること自体が、Waveの素質の高さと言っていい。どれも従来のコミュニケーションツールでは考えられないような広範囲をサポートするプラットフォームをデザインできたからこそ出てくるようなものである。そもそも、まだまだ開発は途中、大きい機能もこれからと言われている。Googleにはむしろ、L.starの考えなど軽く吹っ飛ぶようなすごい解決策の実装を期待したいものである。