perlとactionscriptでオンラインチャットなブログパーツを実験中!
ブログ専用のオンラインチャットを「ブログパーツ」として実験的に作ってみました。本ブログの右サイドに貼付けています。
仕様とか機能とかデザインとか、そこら辺の難しいことは全然真剣に考えていない状態でして、本当に単なる「実験」です。
正直言ってまともに動かないレベルです。自宅のサーバ1台で動かしてるし、恐らく腐ってます。
なのに、なんでこんな実験をしようと思ったかというと、
「ブログ閲覧者たちにリアルタイムなコミュニケーションを実現できる機能を提供したら、何か新しい価値、新しいサービスが生まれないか?」
ということを日々妄想しておりまして、まずはそれの実現可能性について何となく探ってみたかったわけです。
技術的側面
今回の実験では
- フロントエンドはjavascript
- ブラウザとサーバ間は裏で永続的にTCP接続(CometじゃなくてFlashのXMLSocketを採用!)
- サーバサイドはperlのPOE::Component::Server::TCPで独自にサーバを実装
という構成でシステムを作ってみました。
コードがあまりにお粗末、というか書きなぐって無理矢理動かしてみた、という状態のものなのでソースを晒すのは自重します。
googleガジェットにしている理由ですが、はてブではブログパーツを作って貼付けるには制限があるようでして、だれもが勝手に作ったブログパーツを自由に貼付けられる訳ではないみたいです。ですがgoogleガジェットであれば認められているようなので、今回の実験ではgoogleガジェットにくるんでみました。
サービス的側面
今回の実験は技術的に云々というより、「どんな新しい価値/サービスを作り出せるか」ということに主眼を置きたいなと思っています。
今のところぼんやりと考えているのは以下のようなポイントです。
以下、もう少し掘り下げてみます。
リアルタイムに閲覧者同士が通信できるということの「可能性」
濱野智史さんの論文やら本やらが最近話題になっていますが、私も常日頃から同じようなイメージのことをぼんやりと考えていました。
もともと非同期なコミュニケーションを前提とした「インターネット」というメディアにおいて、「同期的コミュニケーション」で横串を突き刺すようなことができたら、それってたぶんすごく「意表をついた」ものであり、且つ本質的価値をむき出しにした「一皮むけた」サービスが出来上がったりするんではないかと。
今回の実験としては「チャット」を題材にしてみましたが、リアルタイム性とコミュケーション性を生かすキラーアプリは他にもあると思うんです。それが何なのかはまだわかりませんが、きっと何かあると信じております。
閲覧者をどうやってクラスタリングするか
多くのユーザと「つながっている状態」を確立できたとして、今度はどうやってその人たちを「分類」し彼ら同士を「つなぎ合わせる」かというのが非常に大きいポイントになると思います。
たとえば「同じサイトを閲覧しているユーザ」でもいいし、もしくは「同じ興味を持っているユーザ」でもいいし。
もしくは「男と女」「売ります買います」などのようなマッチング的グループでもいいわけです。
「同じサイトを閲覧しているユーザ」であればごく単純につなぎ合わせることが可能ですが、それ以上凝ったことをしようとするとユーザクラスタのDB化が必須になってきますね。
閲覧履歴や検索履歴を解析してユーザ行動をターゲティングするといった話がweb広告業界では花盛りですが、なにも広告だけでなく応用範囲は広いはずです。ここら辺はどういった価値/サービスを作るかによりますが。
サーバサイドから一方的にプッシュすること
「HTTPの常識を打ち破る」というと大げさですが、基本的にHTTPリクエスト発行したものについて結果を取得して閲覧するのが一般的なwebのあり方ですから、サーバから一方的に情報がプッシュされてきたら驚きなわけです。
濱野智史さんも言及していますがニコニコ動画の「時報広告」はまさにこれだったわけですね。
またプッシュする情報はテキストデータや画像だけというわけではなく、動画でもいいしもしくはjsonpとか使えばjavascriptの関数だって発行できてしまいます。
つまり「サーバサイドから一方的にプッシュ」というのは、言い換えると「サーバサイドから任意のタイミングでトリガーを引ける」ということであって、送り込む情報のカタチは色々考えられるよ、ということになります。
「ユーザが受け入れてくれるモノを受け入れてくれるタイミングでプッシュする」ことが当たり前にできるようになってくれば、webの広告もだいぶ様変わりするかしら、と妄想力を高めている今日この頃です。
最後に
同じようなことを考えている人は数多くいると思うのですが、要はアウトプットをどう出すかが大事であって、濱野氏のように説得力のある論説を世に提供するのか、それとも「とりあえずこんなの作っちゃいましたー腐ってるけどだれか触ってみてちょ!」的な「ゲリラ風アウトプット」を世に出してしまうのか。
ま、私の場合には残念ながら後者の方法でしか出力できないんですが。。
よろしければ実験ブログパーツ、触ってみてください。
その上で「こうした方が良いよ」とか「これじゃダメだよ」みたいなご意見/ご感想とかコメント欄にでも貰えるとありがたいです。