クラウドバレット構想

BULLETの方は相変わらずちょこちょこ開発していて、まあ細かい話は全部開発バレット*1の方に書いてるんだけど、一個面白そうな話があったので、こっちにも書いておく。
ちなみにこの話はまだまだ全然開発する予定がなくて、とりあえず検索とスキンチェンジャが先。その後、もしかしたらやるかもという程度。

BULLETの配置方針

BULLETは、TwitterFacebookと違って単一のプラットフォームを目指してない。
設計指針はむしろ2chにずっと近いんだよね。


1BULLETは開発BULLETのように個人レベルまで落ちることもあったり、せいぜい2chでいう板単位での設置を想定してる。いわゆる国内サッカー板とかそういうの。


この辺の話は、以前テーマ集約の件を書いた時にはまだブレてた。
http://d.hatena.ne.jp/tsugehara/20121215/1355541434
この時書いてた話は、まだオープンソースにする前提ではなかったから、Twitterクラスの単一プラットフォームの話も考えていて、仮に単一プラットフォームであるならばテーマ集約がどうしても必要だよねということになるんだけど。


オープンソースになれば、インスタンスが多く出る前提になって、配置単位はもっと細かくなる。
となれば、一つのインスタンス内でテーマを集約するという話よりも、もっと別のアプローチが必要になるんじゃないかなと。

BULLETリポジトリ

BULLETってテーマ作んの結構大変なんだよね。はてなも一からはてなキーワード作り出したら大変だろう。
俺自身何回も開発環境リセットするから、毎回テスト用テーマ作るのも大変だしテーマのインポート機能作ったんだけど。


その時に、「どのBULLETからテーマをインポートするか」ってのを指定しなきゃいけない。
インポート作成時には、とりあえずURL直入力にしたんだけど。
このURLをどうやって知ることが出来るのかなと。


で、よくあるリポジトリ案が思い浮かぶんだよね。
どっかセンターのサーバが一個あって、そのサーバに各BULLETのURLなどを登録出来るようにする。
BULLET利用者からしてみれば、URLを登録しておく事で広告にもなるし、一応積極的な利用は見込めるわけだ。


で、そのリポジトリからURLを引っ張って、テーマのインポートをしたりすれば、いろんなBULLETから好きな設定を持ってこれるようになると。

インポート対象の拡大

テーマのインポートが出来るようになったら、今度は別のこともインポートできるなぁと。


例えば、スキン。
BULLETのスキンって基本的にはjquery uiのテーマ依存なんだけど、一部BULLET特有のCSSもあるからその辺を包括して変更する必要があって、そういう意味でスキンチェンジャが必要なんだけど。
スキンチェンジャを作る以上CSSを吐き出す仕組みをBULLETもつわけで、それならjquery uiのテーマから選ぶ以外に、他所のBULLETからかっぱらってくることも出来るなぁと。


他にボックスとか、URLとか、いろいろあるんだけど、とにかくいろんなものをもってこれちゃうなぁと。

書き込みのリアルタイムインポート

そんなこと言い出したら、書き込みも共有できるんじゃないかなと。
書き込みを一括インポートじゃなくてリアルタイムでインポートするようになれば、それはもうBULLET同士がつながっているって事になるなぁと。

クラウドバレット

仮に複数の拠点に書き込まれた内容が、いろいろなネットワークに散らばっていくんだとしたらもうそれはクラウドだよなぁということで、クラウドBULLETという構想が思い浮かんだ。


構成はこんな感じだ。


BULLET間を知るという行為はリポジトリが仲介し、BULLET同士のやり取りはBULLET間で直に決める。
BULLET間で環境の共有*2をすることが出来る。


さらに、投稿の共有をすることで、異なるユーザ間が行う発言を、それぞれのBULLETが持つテーマと組み合わせて情報集約することが出来る。
投稿については一方向である事もあり、双方句であることもあると。

クラウドバレットの課題

まあ、投稿がチェーンされて共有されるのとかは技術的にそんなに難しくも無いけど、いくつか問題はある。

  1. 同期書き込みの限界 = 専用サーバないとさすがにお手上げかなと
  2. 匿名BULLETはいいけど、ユーザを使うBULLETの場合は?
    1. BULLET Eのユーザが書いて、BULLET Cにどのように反映するのか?
    2. ユーザ共有をしたとして、BULLET EのAdminユーザはBULLET CでもAdminなのか?


あと、そもそもべき論としてそんなんやるべきなのかどうなのかとか。
複数のインスタンスをつなげるという構想は大変面白いんだけど、どういうコミュニケーションツールにしていきたいのかが最重要なので、こういう構想もあるけどやるべきかどうかは別問題だなということで。


多分、リポジトリまでは作ると思うけど、今の環境だと書き込み共有まではサポートしないかなという感じ。

*1:http://tsuge.sub.jp/theme/demo/

*2:厳密には取り込み