言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

WikiPhone 総括。そして TwitterPhone へ。

ふと思い出したように WikiPhone の事を書いてみる。

WikiPhone というのは四年前の今頃私が作ったインターネット電話システムです。多対多通信を基本としていて、シグナル機構が無いのと、ウィキのように無限にチャンネルが作れるのが特徴です。

どういう事かというと、基本はグループチャットで、無限にあるチャンネルから一つ選んでそのアドレスを友人と共有します。電話みたいに二人同士で話したければ、そのアドレスを他人にばらさなければ良いすし、逆にラジオみたいに放送したければアドレスを告知すれば良いです。つまり、電話のような会話から放送までリアルタイムな通信を全てカバーする一つのシンプルな仕組みです。また、仕組みとしては音声だけでなく将来動画の放送も考えていました。

なぜそういう事を考えたかと言うと、私は当時電話会議を頻繁に利用していて、その柔軟性の無さに困っていたからです。その頃 Skype の同時通話数は四人くらいで、Ustream もありませんでした。既存のソフトに無い使い方をしようとして、例えば五人で話そうとするともう駄目です。音声というとても基本的な情報なのにこんなに不自由なのは駄目だ!と思ったのです。

例えば画像の事を考えてみて下さい。みなさんがブログに写真を載せる時、写真の大きさやアップする場所が決められているなんて事は無いのです。アップするのは Picasa でも Flickr でも良くて、リンクさえ貼れば表示されます。またプログラマの立場からすると、コンピュータに写真を作らせて自宅サーバから送るなんて事も簡単です。ところがリアルタイムの音声については、画像みたいに自由に使う事は出来ません。

そこで自分でインターネット電話を作ろうと思って調べると、どうも既存の仕組みというのは電話のアナロジーに従って作られていて大変不格好に思えました。例えば電話だと当然相手を呼ぶためのシグナル機構があります。だけどネットには他の人をリアルタイムで呼ぶための方法は他にいくつもあります。当時は Jabber (google chat) を想定していましたし、今なら Twitter があります。一つ一つの機能はシンプルにというのがインターネットの精神なので、インターネット電話にシグナル機構は不要なのです。という風にどんどん機能をそぎ落として行くと WikiPhone に辿り着きました。

その後 WikiPhone は何人かの人々に使ってもらい、何とか会話が成立する程度には使えるけど、まだまだ技術的に未熟だという評価に落ち着きました。もしかしてもうちょっと開発を続けていれば日の当たる事もあったかもしれないけど、そのうち基盤に使っていたスクイークプラグインの仕様が変わり使えなくなり現在に至ります。

あれから四年経ち、SkypeUstream などリアルタイムに通信する手段が前よりずっと洗練されました。しかしそれでもやはり、あるサービスに閉じている限りあらかじめ用意された使い方しか出来ない事には変わりません。なのでまだ WikiPhone のような物の存在価値はあるのかなと思います。四年前と比べて、理想の WikiPhone 実現に役立つ要素がこれだけ増えています。

  • Twitter : 今はみんな Twitter を持ってるので呼び出しと ID にそのまま使える。
  • Flash 10.1 : スクイークプラグインを使わなくても音声を動的に生成出来る(Adobeプロトコル以外で音声通信が出来る)。
  • HTML5 : 今の規格には音声の動的生成は入ってないけど、FireFox の人が実験しています。
  • 新しい HTTP 規格 : 昔の WikiPhone は二本の HTTP で無理矢理リアルタイム通信をしていましたが、新しく HTTP の範囲で出来るようになるそうです。

つまり新しい WikiPhone - TwitterPhone (受けを狙ってこういう名前を付けてみたが気に入っている訳ではない) はこんな風になります。

  • 専用クライアントの人は喋りたい人の ID を選ぶと専用 URL が発行されメッセージが送られる。
  • Web から使う人は TwitterPhone のウェブサイトに行き URL を発行してもらう。これを Twitter メッセージに貼付ける。
  • Twitter メッセージを受け取った人は URL をクリックすると Flash 経由で会話開始。
  • iPhoneiPad の人は Flash 使えないので専用 App が開く。
  • ここまでは普通のボイスチャットと同じ。プロトコルは単純で公開されているので、簡単に自分のラジオ局を作って延々と自動作曲の曲を流したり超マルチチャンネルのサウンドスケープを作ったり、音声ですら無い色んなリアルタイムな情報を放送したりそれを使ったゲームが作れる。

あと、技術的すぎる話は省略しました。もしや私のアイデアに共感して実装してくれる若者が居ないとも限らないので、詳しくは WikiPhone 仕様 http://d.hatena.ne.jp/propella/20070117/p2 に書いてあります。その他の過去記事: