Tender Surrender

Googleディベロッパー交流会

表参道のダイヤモンドホールで行われたGoogleディベロッパー交流会に参加してきました。今回はOpenSocialがテーマということで、ドンピシャ。 色々な疑問を解決することが出来ました。

OpenSocialアプリケーション(ガジェット)はSNS間を持ち回れない?

とても基本的な疑問ですが、。OpenSocialは異なるSNS間でAPIを共通化することで、アプリケーション開発者の負担を軽くすることが目的のため、互換性は保証されるものと考えていましたが、どうもそういう訳でもないらしい。**なぜなら、OpenSocialはアプリケーションを乗せるもの(OrkutではGoogle Gadget)について規定していないから。 **

OpenSocialの仕様書を見ると、サンプルコードはすべてGoogle Gadgetを想定して書かれていますが、実際の仕様にGoogle Gadgetが要件であるとは書いていません。つまり、別にOpera WidgetだろうとYahoo! WidgetだろうとDashboard Widgetだろうと、乗せられるところに乗せてよい訳です。そこでこの辺りをはっきりさせるため、プレゼンをしてくれたクリスさん(ラストネームは忘れた)に聞いてみました。

  • ガジェットはGoogle Gadgetのみを想定している訳ではない。
  • MySpaceAppやhi5、OrkutはGoogle Gadget形式で提供される(未確認)
  • アプリケーションは基本的にSNS間で共有できるが、拡張機能に対応していると、別のSNSでは動かない可能性もある。

僕の拙い英語力だと、なんだか釈然としない答えしか得られませんでした。なんだかまだもやもや感が残ってますが、個人的にこう思ってます。

  • ガジェットはGoogle Gadgetである必要はない
  • アプリケーション開発者は、コア機能は共通かできるが、ガジェット部分についてはSNSごとに用意する必要がある。

OpenSocialはRESTful APIの仕様が出るまで役に立たない?

OpenSocialはSNSから友達の情報を取得できることが目玉な訳ですが、当然認証認可が必要になります。JavaScriptのAPIでは、単純にnewDateRequestを使って簡単に取得できるように書いてはありますが、コンテナ側の実装はそう単純ではありません。

Google Gadgetを前提とした場合、コンテンツタイプとして2つの選択肢があります。1つはGadget XML中にHTMLも記述するhtmlモード。もうひとつはGadget XML中にリモートURLを記述するurlモードです。htmlモードはGoogleの管理するgmodules.comというドメイン上で動作しますが、urlモードの場合は、サードパーティーの管理する全く別のドメインで動作することになります。察しの良い人はこの時点で気付くかと思います。

リモートサーバーからOpenSocialのSNS情報にアクセスするには、そのリモートサーバーのプロキシを介して、SNSのRESTful APIを叩く以外、方法がない

これは単純にAjaxがドメイン超えできないということに起因していますが、とても重要なこと。RESTful APIがまだ正式に用意されていないOpenSocialなだけに、これがないと使い物にならないんじゃないの?MySpaceのRESTful APIってなによ!? OrkutのiLikeアプリってリモートじゃね!?という疑問が募ってしまったのでした。(あれ?AjaxってJavaScript自体の置いてあるドメインだったら直接リクエスト投げられるのか!?)

Shindigについて

先日インストールしたShindigですが、まだJavaしか対応していないものだとばかり思い込んでました。そしたら、Javaよりも実装は遅れているけど、PHPもあるというじゃないですか!!早速帰ってコードを見てみると、、、確かにありました。お作法がJavaっぽいのでアレレな感じですけど、PHPメインの僕にとってはありがたい発見。

他にも

などなど、、、子供がうるさいので今日はこの辺で。

comments powered by Disqus