OpenSocialの国内外での盛り上がりや、OpenSocialコンテナになる方法、アプリケーション開発の心得を聞いた
ソーシャルサイトが多くの人にとって「なくてはならないもの」になりつつあるいま、それらのサービスでユーザー間のコミュニケーションを助けるソーシャルアプリケーションに、ソーシャルサイト運営者、開発者、ユーザーの注目が高まりつつある。
Google直伝インタビュー第5回では、OpenSocialをテーマにGoogle シニア プロダクト マネージャの及川 卓也さん、デベロッパーアドボケイトの石原 直樹さん、国内の開発者コミュニティであるOpenSocial-Japanに参加し、NTTレゾナントのgooの担当でもあるGoogle API Expertの北村英志さんにOpenSocialの開発の心得を聞いた。
OpenSocialは、Googleが2007年11月に発表したソーシャルネットワークサイト(SN)に代表されるソーシャルサービスで利用されるアプリケーションを開発するためのプラットフォームだ。そのため、「OpenSocialはGoogleのモノだ」と勘違いしがちだが、実は違うようだ。
OpenSocialは、OpenSocial Foundationによって、オープンなプロセスでその開発が進められている。Googleは、OpenSocialの仕様策定や開発環境の整備などを中心的に行っているが、あくまでもOpenSocial Foundationに参加する1企業に過ぎない。日本においても、開発者コミュニティであるOpenSocial-Japanの活動を支援し、デベロッパー交流会やハッカソン、アイディアソンを開催しているが、OpenSocialを進める1企業という立場は変わりない。
OpenSocialアプリケーションをホストできるサイトは「OpenSocialコンテナ」で、コンテナで実行するアプリケーションが「ソーシャルアプリケーション」と括られる。
6月2日現在、OpenSocial Foundationのドキュメントのページにあるリストによると、41のコンテナ(Betaリリース中のコンテナも含む)がリストアップされている。
コンテナリストには、日本でもおなじみのMySpace、mixi、iGoogle、また、今回話を聞いた北村さんが開発者として携わるgooホームがある。「OpenSocialアプリケーションの一覧」には、1万2千のアプリケーションがある。コンテナ別に提供アプリケーション数を比較すると、SNSの大きさに比例するかのようにMySpaceが圧倒的に多い。
OpenSocialアプリケーションの一覧ページの各アプリケーションの詳細として、アプリケーションの動作の確認ができるコンテナリストの「View Details ≫」に複数のコンテナのアイコンが並んでいる。
及川さんはこう説明する。「これまでソーシャルなWebサイト、例えばSNSの上でのアプリに標準というものがなかったところへ、1つアプリを作ればgooの上、mixiの上、orkutの上にそのアプリが載っかりますよ、動きますよ、ということなんです。そもそも、いままでのソーシャルサイトは、mixiならmixi、gooならgooというSNS事業者自らが提供した機能しかなかった。それが、いろんな方がアプリケーションを開発して、いろんなソーシャルサイトに載せられるとなると、いままでOSが担っていたようなプラットフォームとしての役割をソーシャルサイトができるようになるのです。ソーシャルサイトの上でアプリが流通するような、そんなアプリケーションの流通プラットフォームが新たに登場したと見ることもできます」
これは、アプリケーション開発者にとって魅力だろう。あるSNS用に開発したアプリケーションが複数のSNSで動かせる。これにより、より多くのユーザーに開発したSNSアプリケーションを使ってもらい、ユーザーを獲得する機会が増えることになる。
コンテナ(SNS)側にとっても、自サービスで動くアプリケーションの数が増え、ユーザーにより多くのSNSの楽しみや利便性を提供できる。
「OpenSocial wikiに、各コンテナが準拠しているOpenSocialのバージョン番号が表記してあり、クロスコンテナ(Cross-container)で、複数のSNSで動作させる場合の注意点が書かれています。開発者はOpenSocialアプリケーションを各コンテナに適用させるときに、この注意点を見て、サポートされていないインターフェイスなどは、そのコンテナで動作させるときには使わないようにすることができます。例えば、OpenSocialにはいくつかのビュー(表示モード)がありますが、コンテナによってはすべてのビューをサポートしていないことがあります。そのような場合でも、そのコンテナ向けにそのビューを使わないようにアプリケーションを少し書き直すだけで、そのコンテナでも動作させるようにできます」(及川さん)
ハッカソンに参加するデベロッパーは、1日カンヅメになってコーディングする。OpenSocialのHackathonはほぼ毎月1度のペースで行っている。
OpenSocialをテーマとしたハッカソンでは、あるコンテナ向けにアプリケーションを書いていた人が、会の終了までの空いた時間を利用して、そのアプリケーションを別のコンテナでも動くようにする、といったことをすることがあるそうだ。最初のころは乗せ換えに時間がかかったり、うまくいかなかったりしたが、最近は10分くらいのコーディングでそのまま動くことがよくあるという。「ハッカソンの回を重ねるにつれ、OpenSocialアプリの開発の汎用性、“Learm once, Write anywhere”が実現されつつあります。」(及川さん)
OpenSocialのバージョンは、0.7以上は基本的に互換性がある。現在OpenSocial Foundationのリストのあるコンテナが準拠しているバージョンはほとんど0.7か0.8だ。つまり、現在、40近くあるコンテナのほとんどで、アプリケーションの互換性があるということになる。「バージョン番号で誤解を受けているかもしれませんが、0.7からもうプロダクションレベル、商用で使っていただいて構わないというレベルになっています。」(石原さん)
また、0.8からはRESTfulのインターフェイスを持つことになった。これは、従来のGDataベースのOpenSocial data APIに追加されたもの。これにより、モバイル機器などいろいろなデバイスに対してOpenSocialの機能が使えるようになった。
Copyright © ITmedia, Inc. All Rights Reserved.