【SC-2】OpenSocial in Japan - Google Developer Day 2009
今回、GDDに参加してOpenSocialに初めて注目しました。
いままでは単語だけ聞いたことあるな、という曖昧な印象しかなかったけど
アイディア次第で楽しみが何倍にも広がりそうです。
ひとつ思いついたのでGoogleフォンで作ってみたい。
OpenSocial in Japan 株式会社ミクシィ 田中洋一郎 氏 OpenSocialとは? ソーシャルグラフを利用したアプリケーション SNSの原動力は? ユーザ間の関係(ソーシャルグラフ) バイラル効果(新しいコンテンツの発見) いままでのSNSにはユーザと運営者の2つの関係しかなかった そこに一般開発者を加えるとどうなるか。 SNSのもつソーシャルグラフを解放することでユーザにメリットがでる? ただし、SNSそれぞれがAPIを策定してしまうと互換性が著しく低下 → OpenSocialを提案 ソーシャルアプリケーションのための共通仕様 Write ones, Deploy anywhere ソーシャルアプリケーション 他の人とコラボレーションしながら使えるアプリ 海外での成功例 Mobsters:月間アクティブユーザ数1300万人(比較としてmixiのユーザは1600万人) シェア・コミュニケーションに重点 OpenSocial API Specification(仕様) API内部の仕組み 二つの形態がある。 JavaScript API 画面の中で動く RESTful Protocol 専用のアプリとして動く OpenSocial JavaScriptAPI XML + HTML + JavaScript (+Flashなど) つまりAJAXと同じ感覚 OwnerとViewerの関係 オーナーがアプリをインストールすると、そのアプリケーションは自分の持ち物になる。 たとえばインストールの結果、 プロフィールページにアプリが埋め込まれる。 そのアプリを実際に使う人がViewer。 OwnerとViewerの関係を分離して考える事が重要 Viewer Friend アプリケーションを使っている人の友達 Owner Friend 持ち主の友達 Views アプリケーションの置く場所を指定する Canvas View:アプリケーションを画面フルに使う Profile、Home Viewなど。 Viewによって利用目的が異なる。 Gadget XML & Views 基本はXMLで記述。 簡単に言うとルート要素にmoduleがあり、modulePrefsとContentに分かれている。 OpenSocial JavaScript APIの紹介 Person API 使用者の情報を取得する(世界各SNSの最大公約数的なデータ) SNSごとにとれる情報の項目が異なってくる。名前や性別、年齢など。 → 利用できる情報はSNSごとに異なる Friends API 他ユーザーの集合。3つの視点で使い分ける USER_ID:起点となるユーザ GROUP_ID:友達の種類、ビジネスなど NETWORK_DISTANCE:友達の距離。友達の友達など。 例)友達の一覧を取得するなどが可能 Activities API 誰かのFeedを取得する。 日記の更新情報などを取得できる Persistence API あとでログインしたときに改めて情報を使いたいなど永続化のためのAPI。 自分の情報ではなくて、自分が貯めた情報を他の人も共有できる gadgets.io.makeRequest 他のコンテンツとのマッシュアップをするための関数 はてブのRSSフィードを読み込んで表示するなど。 ただし、直接サーバーに取りに行ける訳ではなくて オープンソーシャルコンテナという専用サーバーを経由して取得(XSS予防) OpenSocial RESTFul Protocol デスクトップアプリケーションなどソーシャルグラフをから使いたいとき。 データの取得が可能ですが専用言語なのでパースが大変。 Java,PHP,Python,Rubyなどオブジェクトへの変換するライブラリがあります 基本的な開発手法 コーディングはテキストエディタ、Ajax対応のIDE デバッグは各SNSのSandBoxなどが中心 OpenSocial Dev App その場でコードを書いて実行できます OSDE(OpenSocialDevelopment Environment) ローカルマシンでソーシャルグラフを仮想的に提供(Eclipce) OpenSocial-jQuery XMLでかくのは長くてしんどいので短くするために書き方を工夫できる キャッシュ 人気が出たアプリケーションは膨大なアクセスが発生 リクエスト処理は持たなくなってしまう・・・ OpenSocialサーバーにキャッシュ機構でカバーする 外部サーバーへ負荷を軽減 アプリケーション作っているときは邪魔者(修正が反映されない) URLのあとにnocache=1をいれるとキャッシュ機構は無効に。 OpenSocialのオープン性 コミュニティでAPI策定が行われている 個人レベルでの参加が可能 策定された仕様に基づいてSNSが1から実装するのは大変 Apache Shindigで実装を提供する 開発者のためのコミュニティ OpenSocial-Japan 日本におけるOpenSocial gooホーム 2009/5/21 一般公開 サービスをマッシュアップしたGadgetを体験できます mixiアプリ 2009/4/8 オープンβ mixiのソーシャルグラフを利用可能、モバイル版は明日からリリース(企業向け) 課金API、広告プログラムなどビジネス的な展開もあります Javascript libraries for jQuery jOpenSocial opensocial jQuery いずれも日本人が作成 OpenSocial 日本語ドキュメントが用意されています 日本がOpenSocialをリードしている OpenSocial Hackathon 毎月開催しています。主催はGoogleやOpenSocial Japanなど OpenSocial v0.9 v0.6が初版 v0.9ではテンプレート的なものが採用(OSML) Lightweght JavaScript APIに対応。開発をできるだけ簡単にする。 AlbumAPIで画像が使えたりします