Google Wave Weekend hack-a-thon に参加しました。みんなで集まって開発するタイプじゃなくて、発表を Google の渋谷オフィスでやるという形で。じつは Wave は先週までノータッチだったんで、あわててガジェットやロボットの作り方を調べて、もふもふ開発。
渋谷に集合、まずは Wave エンジニアの Seth Covitz さんのトーク。ロボットをいろいろと作られている方で、たくさんのロボットのデモを見せてくださいました。
ロボットとはどういう物なのかというと、「サーバサイドで動き、Wave 上で話しているセッションに参加者として加わって、会話に反応してネタを言ったり便利機能を提供したりする」というもの。今のところ、Google App Engine で作る形になります。実例として面白かったのは
そのあと、参加者の発表です。今回の参加者はやたら Mac 率高し。こちらも Mac Book 持って行ったけど。
デモでは皆でガジェットとロボットのでネタの出し合い。私が作ったのはちょっとしたガジェットです。
ガジェットというのは、ロボットと違って、Wave のインターフェイスに機能を追加できるものです。JavaScript で書けます。Wavelet(ひとつの会議室のような単位)ごとに State というオブジェクトがあって、ハッシュのように任意の key に任意の value を突っ込んで参加者みんなで共有。この State の更新をフックして面白い処理をやらせると、みんなでリアルタイムでゲームなどができます。さらに面白いのが、Wave についている Playback という機能。開始から現在までの進行状況を、参加者の変化・メッセージの投稿だけでなく、State の更新までリプレイできるのです。
たとえば、チェスや将棋や囲碁の対戦をするガジェットなら、一手一手を State に保持しながら進めていくので、これを Playback すると、棋譜のかわりになるわけです。
私の作ったものは
「マインドマップ以外の何か with Wave」
本物マインドマップみたいな外観にできなかったのと、そもそも元祖マインドマップって一人でやることが前提なんで、「以外の何か」です;-)
みんなでわいわい模造紙を囲むような気分で、いろんな形のノードを書いたり、編集したりする、ディスカッションツールです。他の人の書いたネタについて連想したものをつけたしていけるので、アイディアがどんどん広がります。
Playback 機能を使うと、みんなが編集していくプロセスが見えるので、そのまんま議事録にもなるし、ディスカッションの席に遅刻してきた人でも安心:-)
他の参加者の皆さんのハックもすばらしい。面白かったのが
最後の人気投票では参加者の皆様のあたたかい支持で一位に輝きました。後日賞品の Wave Tシャツがいただけるらしい:-)
今回のイベントはこんな感じでとてもエキサイティングでした。Wave という生まれたばかりのコミュニケーションプラットフォームで一体どんなことができるだろうかを皆で模索し、ネタから実用までさくっと作って見せ合うことで、未来が見えてきますね。
Wave アカウントがあって、JavaScript をちょっとでも書いたことがあれは、Wave ガジェットはさっくり作れると思います。Google 公式の Wave Gadgets Tutorial を見れば作れます。
Wave のサンドボックスアカウントは、Google の開発者向けイベントとかでときどき配布されてるみたいで、現在2万件。この間の Google Developer Day 2009 の参加者でも配布されました。Wave のロボットとかガジェットとかを開発してみたい方は、今度何かイベントがあるときに参加してみるといいかも……。
技術的なネタをまた今度ちゃんと書きますね。ひとまず報告まで。
まだまだバグがあったり未実装部分があったりガワが可愛くなかったりするんですが、もうちょいブラッシュアップして公開して、ガジェットライブラリに入れてくださーいと申請するつもりです。