第5回Googleデベロッパー交流会(OpenSocialについて)行ってきた

OpenSocial発表されて話題になったときにチラッと見た程度の認識しかなかったので、どういうものなのか勉強しようと思い参加しました。

OpenSocialとは

結論から言うと、OpenSocialSNS上で動くアプリケーションを作るための基盤となるAPIのようです。
参加する前の認識では、OpenSocialは、OpenIDとかWEB APISNS版みたいなものだと思っていました。
開発者のメリットとしては、それぞれのSNS独自のAPIを学習する必要がないことがあげられています。パネルディスカッションの中での、「どのOSでも一度プログラムを書けば動かせるJava」と対比して、「どのSNSでも一度プログラムを書けば動かせるOpenSocial」という話がわかりやすかったです。

OpenSocialの基盤技術

OpenSocialのコアとなるものは以下の3つになるそうです。

1. JavaScript API

OpenSocialにはGoogleガジェットの技術が使われており、JavaScript + XMLを使って簡単に開発を行えるようです。
JavaScriptAPIを使うことで、そのSNSからデータを取得できます。APIで利用できるデータは以下の3つです。

  1. People and Friend(ユーザ情報や関係情報を得るためのAPI)
  2. Activities(ユーザが何をしたかという活動情報を得るためのAPI)
  3. Persistence(データを保存・取得するためのAPI
2. Apache Shinding

上に書いたJavaScript APIを使うためのJavaで実装されたコンテナサーバらしいです。
実際にSNS提供者がOpenSocialに対応するのに使ったり、自分のローカルでのテストのために使うのだと思います。

3. RESTful API

これは現在まだ未実装ですが、Web上に提案書が公開されています。
JSを使えないモバイルなどでOpenSocialを使うために利用するそうですが、個人的にはこっちを先に実装してもらいたかったです。

パネルディスカッションのデモとかを見た感想

よういちろうさんこみゅすけOpenSocial版が個人的には衝撃的でした。複数のSNSをまたいで、ユーザがSNS上のシステムに参加できるというのが面白いです。
ユーザの参加状況を自前のDBに保持しているそうなので、クロスドメインの問題はどうなっているのか聞いてみたところ、APIの中に外部アクセスするためのものがあるそうです。
また、会場からも質問がありましたが、ユーザの情報に気軽にアクセスでき、外部にも情報を送ることが出来るので、プライバシーとかセキュリティとかで一悶着ありそうな気がしました。
SNS提供者はともかく、OpenSocialアプリケーション開発者は、ただ作って公開してもビジネスにはならなそうなので、外部のWebサービスとのマッシュアップを行ったものを開発することが重要になりそうです。