2010/06/03毎度まいどいい加減なことばかり書いていてすみません。ループス岡村直人です。今回もとっておきの偽情報をお届けします。まゆ毛をつばでべとべとにしながらご覧ください。題材は「OneSocialWeb」というオープンなプロトコルです。荒っぽい調査を基に執筆しておりますので、認識違いや間違い等お気づきになった方は、コメントやメール(okamura@looops.net)などでご指摘いただけると嬉しいです。複数のSNS間で情報の同期、そんなことが実際に可能になるのでしょうか。今回紹介するOneSocialWebでそういう世の中が実現するとどういう風になるのか、私の妄想を図にしてみました。図:複数SNS間での連携イメージ(妄想)色々なものが出てきていますが、実際の企業・技術などとは一切関係ございません。妄想のきっかけとなったOneSocialWebがServer-ServerモデルとClient-Serverモデルの両方をサポートしていることもあり、用語の統一もいまひとつできていません。私はこのようなものをイメージしながら調査をしておったという、参考程度に掲載させていただきました。------------------------------------------------------------------------------◆はじめに------------------------------------------------------------------------------少し前、オープンなFacebookを作りたいという4人の学生がDiasporaというソーシャルネットワーキングサイトの構築をKickstarter.comでマイクロファンディング(投資家ではなく、一般人から少額投資を募るサイト)を実施し、最終的には$200,642を調達したことで話題を集めました(TechCrunch記事)。この一件は、ちょうどFacebookのプライバシー問題のタイミングと重なったこともあり、自分のプライバシーが特定の会社の意向で危険にさらされると感じた人々や、OpenSocialPluginsの公開によるソーシャルグラフの独占的展開に戦慄を覚えた人々の不安を象徴する出来事と受け止められたように感じます。その一方で、Diasporaの出現によって、それほど注目もされず(少なくとも日本では)、ひっそりと開発されてきたあるOSSの存在が引き合いにだされました。主導する、「OneSocialWeb」というプロジェクトでした。------------------------------------------------------------------------------◆OneSocialWebの概要------------------------------------------------------------------------------OneSocialWebは、その名の通り世界に複数あるソーシャルネットワークを一つにつなげようという試みです。サイトのトップページには以下のように記載されています。私たちは、全てのソーシャルネットワークが相互に接続され、協調して動作する世界を夢見ている(それは現在のEmailがたくさんのプロバイダに支えられ、協調して動作している姿に似ている)。私たちのプロジェクトは、それぞれのソーシャルネットワークのかけ橋となる共通言語の策定を目指す。Web」が形成されるだろう。あなたにも、これを現実のものとするための手助けをお願いしたい。※初めてこのブログを見る方のために説明しておきますが、翻訳は主にExcite翻訳がやっています。誤訳が多いのでご注意ください。同じようなSNS(ソーシャルネットワーキングサイト)なのだと考えていました。時間がかかったように思います。Protocol)を中心とした複数のオープンな技術仕様を組み合わせたプロトコルに近いテクノロジのようです。いう表現が散見されるのですが、ダウンロード可能な成果物としてはクライアントアプリケーション(?)やXMPPサーバ用プラグインなどが中心です。既存のSNSが頭にあると、OneSocialWebがどんなものかなかなか全容が腹に落ちないと思いますので、私が感じた方向性の違いを3点挙げておきます。○OneSocialWebってこんなもの?これまでのSNSでは、個人のアイデンティティは「場(SNS)」に属していた(別のSNSには別のIDがある)。ティティは現実世界の個人(具体的にはPCや携帯などの端末)とより密接に紐付いている。これまでのSNSでは「コミュニケーションの場」と「相手との繋がり」と「共有するデータ」は不可分だった。ニケーションの場」から「繋がりとデータ」を引きはがすものだと思える。「場」については、「クライアント」という表現をされていることが多い。広がりを感じるような提案はないように感じた。Openfireを拡張することで、データの保持など、現在のSNS(WEBアプリケーション)が持っている機能の多くを実現できると思われる。※正直なところ、現在ある「コミュニケーションの場としてのSNS」と、OneSocialWebが考えている「クライアント」の類似点・相違点が、今でもよくわかっていません。図:OneSocialWebの動作イメージこの図は、左下にあるユーザー(eschnou@vodafonernd.com)がポストした情報が、そのユーザーの参加するソーシャルネットワーク(vodafonernd.com)から、更に別のソーシャルネットワーク(betavine.net)へPush通知され、そのソーシャルネットワークから別のユーザー(alice@betavine.net)へリアルタイムで通知される様子を表しているのだと思います。この図を見ると、OneSocialWebがソーシャルネットワークを相互接続するために「Emailのような」という比喩を用いている理由がなんとなく理解できます。(開発者の方はどうスライドに記載されているJavaコードを見ていただくとイメージしやすいと思います)上図ではクライアントはスマートフォンのようですが、WEBアプリケーションとして実装した場合のクライアントイメージ(要はIEなどのブラウザから使う場合のイメージ)がOneSocialWebのサイト上に掲載されています。図:OneSocialWebクライアントのWEBアプリケーション実装イメージこの画面イメージですが、どこかで見たことがある気のする方もいらっしゃるのではないでしょうか。私はどことなく先日一般公開されたGoogleWaveを彷彿とさせるなぁ、と感じました。以下にGoogleWaveのイメージを掲載します。図:GoogleWave(GoogleImage検索から勝手に転載)この連想はあながち的外れではなかったのかもしれません。このモデルでは各ソーシャルネットワークは自分を通過するデータしか保持しないのだと思います。ソーシャルグラフはどこかのサーバに貯めこまれるのではなく、OneSocialWeb自体がソーシャルグラフ全体を表して、ユーザーは自分のためだけにソーシャルグラフを使う、そういう世界なんだと思います。この世界ではMixiもFacebookも、データベースを持ったルータのように見えます。------------------------------------------------------------------------------◆OneSocialWebを支える技術------------------------------------------------------------------------------技術についてはめったなことが書けないので、できればお茶をにごしたいな、と思っていたのですが、せっかくなので調べたことをさらっとまとめておきたいと思います。Protocol)Jabber社が開発したXMLベースのIM(インスタントメッセンジャー)用のプロトコルだそうです。メッセンジャー)やYahooメッセンジャーなどのあれです。通常、これらのIMのプロトコルは非公開ですが、XMPPはオープンソースであり、その仕様が全て公開されているとのことです。クライアント実装としては、XMPP.jpで複数のメッセンジャーを集約して相互に通信させるアプリケーションを公開しています。核に実装されたアプリケーションのようです。XMPP、聞いたことがないプロトコルでしたが案外身の回りで使われていたんですね。Messenger)XMPPサーバです。2.0のデュアルライセンスで公開されています。以下のような機能が利用できるそうです(一部)。JDBC3ドライバの利用によるDBMS)LDAP接続OneSocialWebサーバは上記「プラグインインターフェース」によってOpenfireサーバを拡張するプラグインという位置づけです。重要なポリシーである「非中央集権型」の実現に寄与していると思われます。ID)XMPPにおける個人識別子。「[名前]+@+[ドメイン]+/+[リソース]」で定義される。Protocols)XMPPの拡張プロトコル。現在280程度が定義されており、やり取りするメッセージに紐付く様々な意味づけ(semantics)を行います。Protocol)XEP-0163で策定されているプロトコル。XMPPで送信されるメッセージデータに、アカウントのステータス変更を紐付けるために利用されているようです。Surrenderさんに公式サイトの翻訳がありましたので転載させていただきます。キュアなアクセスを提供する、簡単に実装可能な”Peopleデータ”のAPIです。本文より転載)OneSocialWebではvCardに代わるプロフィール情報の共有手段として採用されているようです。Network)こちらも素晴らしい翻訳がありましたので転載させて頂きます。イパーリンクを使って人と人のつながりをシンプルに表現する方法です。ンテンツがWeb上に急激に広まっています。使ってシンプルに示すことを可能にします。本文より転載)OneSocialWebでは友人関係を表現する仕様として利用されているようです。XFNが表現できる友人関係は、単なる繋がりだけではなく、その方向性(Twitterで言う両思いとか片思いとか)や属性(恋人とか親戚とか家族とか)も指定できることのようです。きれいな表で定義されています。パーティーで出会ったAdamとBradの二人がお互いに知り合いだった時、各々が自分のサイトに以下のようなリンクを張ることで両思いの関係を表現できます。acquaintance">Adam</a>OneSocialWebのような分散環境でこういった人間関係を管理するとなると、検証がものすごく大変になりそうなんですが、実際はどうなるのでしょうね。○Activitystrea.ms調べてみたところ、日本語の情報で一番上に来たのがこんなのです。10:10:51☆互換性のあるactivitystrea.msというフォーマットにすることで第三者サイト(TwitterやFacebookなど)とのつながりの可能性を広げるactivitystrea.msをよく知らないで使った物だからこんな結果になったと想像する。英語あまり読めない人たちなのかな?wいやぁ、この程度でドキドキしていてはだめですね。スルー力を磨かないと・・・。それはともかく「その辺の他人がWEBで何をやっているのかを表現するAtomフィードの拡張」という雰囲気でしょうか。Liveなどで利用されているようですので、かなり普及しているんでしょうか。私は今日まで全く知りませんでした。------------------------------------------------------------------------------◆まとめ------------------------------------------------------------------------------ちょっとした好奇心から調べ始めたのですが、知らないことだらけでびっくりしました。英語だからといって後回しにせず、きちんと向き合うことが大事だなぁ、とつくづく思います。現時点ではOneSocialWebという仕組み自体はあくまでプロトコルであり、例えばFacebookの対抗馬になるようなものではないと理解しています。」という記述がありますが、「金のなる木」と目されているソーシャルグラフを企業が独占しずらいこの仕様は、採用する側、特に既存のソーシャルネットワーキングサイトにメリットが少ないように受け止められるということも、話題にならない理由ではないかと感じました。この点からは、OpenSocialが、専ら学習コストの低減と、それによる開発コスト削減のための共通フレームワークのように受け入れられ、ソーシャルグラフの共有という観点(そんな観点ありましたっけ?)ではいまひとつ成果をあげられなかったことが思い出されます。現在ソーシャルネットワークを掌握しているベンダに採用されることはないような気がする。別のソリューションが出てくるのを待つことになるんじゃないか」というのが現時点での感想です。それでもやはり、この高い志をもったプロジェクトを応援したいと思います。OneSocialWebのプレゼンテーションには「巨人の肩に乗るものは巨人より遠くを見る」というような文言がありました。「巨人」はオープンな開発コミュニティを指すのかもしれませんが、SNS界の巨人も当然意識しているのではないかと思います。多くの利用者と長年にわたって行われてきた機能拡張という重荷を抱える相手を、束縛のない自由な設計を武器にしたこの小さなコミュニティがどうやってからめ取ろうとするのか、今後が楽しみであります。それでは、よろしくお願いいたします。参考資料:XMPP仕様簡単解説OneSocialWebのロードマップ(2010年6月3日現在。直人エンジニア出身の事業責任者。今はフリーで大企業やスタートアップの支援をしてます。(高速Dockerの話)」50歳過ぎて悶々としているくらいなら何か始めたらよいと思う。オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。利用規約プライバシーポリシーお問い合わせアイティメディアからのお知らせプレスリリースメールサービスRSSTwitterITmediaはアイティメディア株式会社の登録商標です。