では、OpenSocial向けのアプリケーションには、どんな特徴があるのか。
1つは、情報の選択や選別に使用される、人と人とのつながりをグラフ化した「ソーシャルグラフ」。
ソーシャルグラフは、この人は、誰と、どれくらいの近さ・遠さで“友達”なのか、といったことをグラフ化したものだ。「例えば、e-コマースサイトで、レビューのレイティングを行ったとします。でも、こういうの、実は役に立たないことが多いんですよね。一般大衆がどう支持しているかという情報ですから、それをそのまま信じていいものかどうか分からない。それよりも、私と同じ趣味指向の人、私の友人、または友人の友人たちがどう評価しているかの方がずっと重要な意味を持つわけです」
ソーシャルグラフは、人間関係を基にした効果的なレコメンデーションになるだろうというわけだ。
もう1つは、アクティビティストリームという仕組みだ。
アクティビティストリームを北村さんはこう説明する。「例えばmixiのトップページを見てみると、友達の日記の下に写真がありますが、友達の情報だけ集中して見られるというのがSNSのすごいところだと思います。SNS以前の世界ですと、全ユーザーの情報がずらっと表示されてしまう。それが、自分の直近の、自分の確実に興味のある人間の情報だけが並んでいることによって、当然その日記のコンテンツにも興味がわきます」
さらに、北村さんはアクティビティストリームをソーシャルアプリケーション的に転じる効用として、「例えば面白いガジェットを作り、そのガジェットでゲームをやってすごい高い点数を取ったとします。その得点情報をアクティビティストリームとして共有した場合、その『点数』が友達の最新情報を表示する場所に表示されます。そうすると、当然、友達はその友人の行動に興味を持ちます。何をやってこの点数をとったのか、と。取りあえずクリックしてみると、そこで新しいゲームを見つけたり、新しいアプリケーションの体験をしてみたりできる」と語り、ユーザーのアクティビティやコミュニケーションのよりバイラルな広がりを示した。
「TwitterとかFriendFeedは、ソーシャルなアクティビティのアグリゲータなのですが、OpenSocialのアクティビティストリームも同じ考え方です。例えば、どこかのSNSがmixi上のオープンソーシャルのアプリケーションを持っていたとします。そこにmixiに投稿しましたという情報を、アクティビティリストに、ぽっと1行表示させれば、友達関係の中で共有したいものがまとめて見られるようになります」(及川さん)
いままでタイムラインベースでしかなかった情報の表示の仕方がソーシャル化されることで、友達との新しいかかわり方や、コミットの仕方の新しい方法が提供されていくのではないだろうか。
さて、日本のコンテナにはどのようなサービスがあるだろう。“純国産”サービスとしてアプリケーション開発者に知られているサービスに、mixiとgooの2つがある。及川さんは説明する。
「当初2007年の11月に提唱したときからmixiにOpenSocialに賛同いただき、4月の下旬にパブリックな形のサンドボックスとして、現状は開発者向けにプラットフォームを公開しているという形になっています。想像以上に一般の開発者の方たちが参加しているようです」
一方、北村さんがかかわるgooホームは、ポータルサイトであるgoo全体をソーシャル化するというコンセプトの元、SNSとしてスタートした。今年の3月末にサンドボックスをオープンし、5月21日に一般のユーザー向けにOpenSocialを使ったサービスの提供を開始することで、ソーシャルウェブ・ポータルとしてリニューアルを行った。
gooホームは今後、goo内だけでなく、いろんなソーシャルサービスをアグリゲートし、広げていく予定だという。北村さんは、gooホームをソーシャルウェブ・ポータルにするためのインターフェイスとして、OpenSocialが適していると判断したという。
現在のところ、gooホームで稼働しているのはgooの中で開発したアプリケーションだけだが、これからソーシャルアプリケーション開発者やベンダが開発したアプリケーションの公開申請の受付を開始していく。これより、ポータルサイトに多彩な楽しさ、便利さの相乗効果生まれることが期待される。北村さんは、そのためのコンテナ環境を着々と整備していて、「OpenSocialの準拠率は、胸を張って世界一高いといえます。仕様もすごくかっちり作っているという自負があります」(北村さん)
そのOpenSocialの仕様への準拠さの高さを証明するかのように、開発者コミュニティで作成したアプリケーションが動かない場合に、その解析のためにgooホームが使われることが多い。アプリケーションが動かない原因の切り分け、つまり原因がコンテナ側にあるのか、アプリケーション側にあるのかの判断をするために、gooホームが利用されるケースが多いという。
OpenSocialの中心をなすのは、JavaScript APIだ。アプリケーションはJavaScriptで書かれている。それらのアプリケーションはブラウザで動作し、Ajaxがデータを取得する仕組みだ。現在、対象としているSNSはWebベースのものが多く、Ajaxを利用することでUIの利便性が高いアプリケーション開発ができる。他サービスとのマッシュアップでアプリケーションを開発することもでき、RESTful APIも利用すれば、Webブラウザを必要としないデバイス向けの開発もできるという。
開発者が参照する資料として、OpenSocialは、OpenSocial Foundationにオフィシャルのドキュメントを用意しているが、石原さんは「gooのドキュメントも併読することをお勧めします」という。gooホームのドキュメントは、翻訳ではなく、最初から日本語で説明することを念頭において書かれているので、分かりやすいだけでなく、世界的に見てもかなり細かく詳しく書いてあるドキュメントなのだそうだ。
「これを書くときに意識したのが、Google Codeなどに書かれていてそれを見れば明らかにわかる、ということの説明は避けて、Google Codeをリファレンス的に使ってもらって、すごく基本的なところプラスgooホーム独自の実装説明にしぼって書いています」(北村さん)。
XMLのスキーマやOpenSocialで個人情報を扱う上でのパーミッションモデルなどの実装・運用上重要な話について、非常に細かく説明がしてあるとのことだ。
Google Codeをリファレンス的に使い、初心者が恥ずかしくて聞けないレベルの説明から、gooホーム独自の実装説明に絞った内容が掲載されてある。XMLのスキーマやパーミッションモデルを細かく分かりやすく説明している。OpenSocialで個人情報を扱うときにどういう制限があり、どういうパターンだったらどれが使えるかを知りたいときは参照してみるといいだろう。
既存のSNSでOpenSocialに準拠した機能を実装したいとき、あるいは新たにOpenSocial準拠のSNSを立ち上げたい場合は、リファレンスインプリメンテーションのShindig(シンディグ)を使うのが、いまのところ一番確実で手っ取り早いという。Shindigもオープンソースで開発されていて、JavScript APIとやりとりするための機能やアプリケーションをガジェットやウィジェット風にSNSに表示するための機能などが含まれている。
最後に、OpenSocialの仕様を決めるメーリングリストにも活発に参加し、日本人でただ1人のShindigのPHP版のコントリビューターも努める北村さんからのメッセージをお伝えする。「これらのプロジェクトは極めてオープンに民主的に行われていますから、ほかの日本人の開発者もコントリビューターに加わっていただきたいですね。仕様策定にかかわることで、OpenSocialの在り方をより深く考えることができます。自分の携わるSNSにとって必要な仕様が、ほかのSNSにとっても必要であると認められれば仕様に反映されることもあり、自分のためと思ってやったことが、結果としてほかの人に利便性を提供することにもなります。これからじっくりOpenSocialと付き合っていこうと考える開発者の方は、ぜひ参加してみてください」
OpenSocialはほかの技術革新とは趣が異なり、SNSの運営者/開発者とユーザーが共に新しいSNSの可能性を創っていく技術のことなのではないだろうか。今後、コンテナがさらに増え、さまざまなアプリケーションが開発され、新しい豊かなコミュニケーションがユーザーに提供されることに期待したい。
立薗理彦(たちぞの まさひこ)
1972年東京生まれ。1996年、慶應大学 環境情報学部卒。シャープで組み込み系のソフトウェアエンジニア、ノキアで日本向け端末のリリースに携わる。週末プロジェクトとしてiTunesでの再生履歴をネットで公開するサービス「音ログ」を開発。現在は、音楽ニュースサイト「ナタリー」の技術担当取締役
滝口 幸子(たきぐち ゆきこ)
静岡県出身、日本大学芸術学部卒業、ニューヨーク・シラキュース大学大学院計算機科学科修士課程終了。2008年春からナターシャに入社。「ナタリー」の開発と英語版の編集をしつつNPO法人青少年科学技術振興会や著作権保護期間の延長問題を考えるフォーラムの事務局員としても活動中
Copyright © ITmedia, Inc. All Rights Reserved.