ここしばらくブログのエントリをさぼりましたが、先日お伝えしたサン×リクルート Mash up アワードのエントリ作品を作っていました。先に書いておきますが、間違いなくコンセプトだけで勝負しています。もちろんコードは公開しますが、あんまり見ないでください(w。
以前からSkype APIには興味があったのですが、ちゃんとコードを書いたりしていませんでした。ですが、この際なのでということでSkypeを使ったマッシュアップにこだわって頭をひねってみました。その結果出てきたのが、Skypeをつかって声を録音して、その声をシェアしようというもの。そこでSOS(Share Over Skype)サーバと名づけています。
エントリ作品で文字データとして選んだのはじゃらん宿表示API(ていうかですね、一番使いたかったSmatchがいまいちだったのです)。宿のオススメ情報を声で残して皆でシェアします。
面白い(と、僕が思う)のは録音のアーキテクチャ。Skypeを使うのでマイクさえあればクライアント側に録音機器は必要ありません。
宿を検索して「声でオススメ」を押してもらうとSkypeが起動してサーバとチャットします。すると、すぐにサーバからは受付のメッセージが戻ってきます。それから10秒するとサーバから電話が。それに出ると録音開始、切ると録音終了になります。ブラウザをリロードすれば「オススメを聞く」のボタンが出てきます。
作ってみて楽しかったのは録音へのやり取りにチャットのインターフェースを使うところ。今回はあまり有効活用していませんが、たとえばサマリやタイトルなんかをチャットで対話型で入力してもらうとか面白いのかなと思いました。
実際に触ってもらうと面白いと思うのですが、残念ながらWindows上でしか動かないし、そんな公開サーバを持っておらず、ごめんなさい。こちらの図を見てもらえるとイメージが沸く、かも?
使った技術ですが、Skype APIはSkype社の公認オープンソースプロジェクト「Skype API for Java」(thanx Hisanoさん!)。それからActiveXとしてSkype4COM。
WebアプリケーションフレームワークはSarugau JS。手前味噌ですが、Sarugau JSはAjaxのテクニックをサーバサイドで活用できるのが面白いです。今回はDOM操作にMochiKitのDOM.jsを使いました。関数言語っぽいというかBuilderの感じが良く出ています。
あと録音などはJavaのサウンドAPI。WAV形式でしか録音できないのでデータ容量がえらいことになります。
時間がなかったので検索や結果表示の画面がださださです。せめてGoogle Mapsでも使えって言う感じですが…。すみません。
こちらに動的ではない状態で置いておきます(これらのページをアプリケーションサーバで見るとちゃんと動的に処理される)。興味がある方は以下の資料を当たってみてください。
サーバはインストールマニュアルの通りでダウンロードから解凍して1クリックで動くのですが、周辺準備がめんどうです。
Windowsのサーバマシンとクライアントマシン、それぞれに別IDのSkype。サーバにはミニピン<>ミニピンのオーディオケーブル、クライアントにはマイク。お手数ですが、がんばれる方はどうぞ(もしくは西新宿まで来てくれれば見せますw)。フィードバックや質問など、何かあればコメントやメールで連絡をください。
トップページ
- コンセプト : SOSサーバのコンセプトを方法を紹介します。
- インストール : SOSサーバをインストールする方法を紹介します。
- 使い方 : SOSのサイトを利用する方法を紹介します。
- アーキテクチャ : SOSサーバのアーキテクチャを紹介します。

コメント (1)
yusukeさん
遊んでんじゃない!ってのができたのですね。
帰ったら見せてね。
from PaloAlto,CA
投稿者: shin | 2006年07月31日 15:19
日時: 2006年07月31日 15:19