ソーシャルウェブテクノロジーに見る,Google Buzzの本当の意味

この記事を読むのに必要な時間:およそ 5 分

ソーシャルウェブとしてのGoogle Buzz

ソーシャルウェブとは,インターネット全体をひとつのSNSと捉えた時に,あらゆるユーザー同士がアイデンティティの帰属するサービスやドメインを超え,ソーシャルグラフで繋がり,情報を共有し,プライバシーを守ることができる世界を指します。

Googleも積極的に取り組んできたこのソーシャルウェブの考え方は,OpenID,OAuth,OpenSocialなど,新たなテクノロジーを次々と生み出し,ひとつの体系を作ってきました。この一連のテクノロジーは,最近GoogleにジョインしたJoseph Smarr氏が2008年に提唱した、OpenStackという概念にまとめられます。

OpenStack

OpenStackは,OpenIDで認証,OAuthで認可,PortableContactsでソーシャルグラフ,XRDS-Simpleでディスカバリ,OpenSocialでソーシャルアプリケーション,という5つのテクノロジーで構成され,この組み合わせでオープンなソーシャルウェブが作られていくのだ,とする考えです。

図3 OpenStackのテクノロジー要素

画像

Google Buzzを考える上で注目すべきなのは,Buzz自体がこのOpenStackに,バージョン2等とも呼ばれるActivityStreamsや PubsubHubbub,WebFingerといった新たなオープンテクノロジーをさらに積み上げて構成されている点です。

それでは,これらのオープンテクノロジーを使うと,具体的にどんなことが可能になるのでしょう? 各APIについて,簡単に解説します。

XFN, FOAF

XFNFOAFは,HTML上にセマンティックに人間関係を埋め込むための表現形式です。

Googleはクローラーによってこれを発見し,SocialGraph APIを通じて一般にも公開しています。

例えば,<a>タグのリンクにrel="me"を入れる(XFN)ことで,リンク先はこのページの持ち主と同じ人物のものです,ということを表すことができます。ユーザーの方は意識したことはないかもしれませんが,TwitterやFriendFeedでは,このmicroformatsが自動的に挿入されています。

BuzzではSocialGraph APIをフォロー対象や,接続するサイト(外部サービスと記述します)をレコメンドするのに役立っているようです。

ActivityStreams

ActivityStreamsは,最近Google社にジョインしたChris Messina氏を中心に,Googleはもちろん,MySpaceやMicrosoft,Facebookをも巻き込み仕様策定された,新たなフィード形式です。これまでにもRSSやAtomといったフィード形式は存在しましたが,ActivityStreamsはAtomの拡張仕様のため,クライアント側が対応していない場合でも,通常のAtom形式として読み取ることができます。

ActivityStreamsの特徴は,そのセマンティックな書式にあります。フィードの各エントリはユーザーのひとつのアクティビティを司り,動詞や目的語を指定することで,例えば「文章をポストした」⁠~をブックマークした」といった行動を意味的に表現することができます。

このセマンティック性により,フィードアグリゲータは,複数のアクティビティを視覚上まとめたり,多言語化したりすることが可能になります。

Buzzでは下記のURLからユーザーひとりひとりのアクティビティをActivityStreams形式で取得することができます。

http://buzz.googleapis.com/feeds/{user}/public/posted

また,外部サービスから取得するフィードについても,いずれはActivityStreams形式であることが求められてくるものと思われます。

Salmon Protocol

Salmon Protocolは,鮭をヒントに名前が付けられたプロトコルです。ひとことで言うと,同じエントリに対するコメントが複数箇所に散らばるのを防ぎます。

例えばFriendFeedでは,すべてのフィードにコメントを付けることができますが,これが例えば外部ブログの記事だった場合どうでしょう?  FriendFeed上のコメントと,実際のブログのコメントで書き込まれている内容が別だと,どちらも追いかけなければならなくなります。

Salmon Protocolはこのコメントをフィードの発信元に戻すことで,同期することを可能にするプロトコルです。

なお,このプロトコルはGoogleのJohn Panzer氏を中心に提唱されていますが,まだドラフトですらない段階のため,まだ実用段階に至っていません。これから徐々に作り上げられていくものと思われます。

OAuth

OAuthは既に馴染みの深い方も多いかと思いますが,難しく言うと,認証を必要とするリソースのデータを,クレデンシャルを第三者に渡すことなく利用可能にするプロトコルです。OAuthを利用すれば,例えばTwitterにFriendFeedからつぶやきを書き込む場合に,FriendFeed自体にパスワードを渡す必要がなくなります。

既にOAuth1.0,1.0aは広く使われ始めていますが,現在はOAuth WRAPという新しい方式が検討されており,ネイティブアプリケーションでの利用例も増えてくるものと期待されています。

Buzzでは,外部からAPIを経由して書き込む際などに活用されます。

PubsubHubbub

PubsubHubbubは日本でもlivedoorがブログのRSSに採用して話題になった,フィード伝達のリアルタイム化を可能にするプロトコルです。パブサブハバブと読み辛いため,PuSH(プッシュ)と略されることが多いようです。

Twitterに始まるリアルタイムウェブの流れは,テレビを見ながらおしゃべりしたり,Ustreamを見ながらちゃちゃを入れるといった同じコンテキストを共有するユーザー同士で楽しむというユースケースを生み出しました。また,複数サービスに跨るフィードのシンディケーションにおいて,コミュニケーションの同期を図るためには,時間軸も重要になってきます。

Buzzでは,ActivityStreamsやSalmon Protocolを利用する上で,応用されることが想定されます。

WebFinger

WebFingerはOpenIDやOAuthといった既存プロトコルも含めた,様々なアイデンティティから導かれるリソースのエンドポイントを,URLやXRIではなく,一般ユーザーにも馴染み深いメールアドレス形式で引き出すことを可能にしたものです。

OpenIDは当初,URLでアイデンティティを表すことが提唱されていましたが,ユーザーエクスペリエンスの観点から,ホワイトリスト化したサービスアイコンで代替する方が主流になってきました。

ただ,ホワイトリスト化は,ユーザーが自分のIDを自由に選択できるというOpenIDの意義を損なうだけでなく,ロゴマークの乱立で混乱を招く (NASCAR問題)元にもなるため,別の方法が検討されてきました。WebFingerであれば,ユーザーは自分の使い慣れたメールアドレスを入力するだけで,いつものログイン画面にリダイレクトされるため,一般ユーザーにも受け入れられやすいのではないか,ということのようです。

著者プロフィール

北村英志(きたむらえいじ)

NTTレゾナントでgooのソーシャル化にコンセプトから携わり,日本初のOpenSocialコンテナ立ち上げを行った。SocialWeb Japan主催,Google API Expert(OpenSocial),Apache Shindigコミッターでもある。

URLhttp://devlog.agektmr.com/

バックナンバー

ソーシャル

  • ソーシャルウェブテクノロジーに見る,Google Buzzの本当の意味