2009年9月15日火曜日
OpenSocial Hackathon in 会津
2009年7月19日日曜日
おばかアプリ選手権に出場してきました
ひょんなことから自分の作品でもないのに「おばかアプリ選手権」に狩り出されたので、せっかくだから出場してきました。場所はお台場のTOKYO CULTURE CULTUREという所。
発表したのは話題沸騰!weboo氏の「チャンネー」ガジェットです。
チャンネーはOpenSocialを使ったソーシャルアプリです。次々と表示されるチャンネー2枚の写真から好きな方を選んで行くとあなた好みの髪型が見つかる、という趣旨です。決まった髪型は取り置きすることもできます。友達のお気に入りの髪型が見れたり、お気に入りがアクティビティストリームに反映されたりする点がソーシャルアプリって感じです。
まあ、開発に当たって僕はいっさい何もしてないんですがね。
本番ではありがちなトラブル発生で、gooホームサンドボックスを使ってデモする予定が、mixiアプリを使うことになり、weboo氏が仕込んできてくれた色々なものの見せ場がなくて、ちょっと残念なことになってしまいました。
でも同じ「チームお色気」で出場したおっぱいエンジニアがpuniTouchと絶妙なトークで挽回してくれたので、結果オーライ。
非常にユニークなイベントで楽しかったです。次回は自分の作品で出場できたらいいなあ。
レポートはこちらをご覧下さい。動画もあります。
Google Developer Day 2009の動画が公開されました
先日行われたGoogle Developer Day 2009の動画が公開されてます。基調講演に一瞬と、パネルディスカッションに登壇した動画もありますので、よろしければご覧下さい。
基調講演 vol.4 OpenSocial
OpenSocial パネルディスカッション
2009年6月12日金曜日
Google Developer Day 2009
僕は基調講演に一瞬と、OpenSocial Panel Discussionのセッションに登壇させて頂きました。
基調講演デモ
基調講演では、先日一般ユーザー向けにも公開したgooホームのOpenSocialを使って、goo地図ガジェットとフォトビューアーガジェットがPhotomemoのガジェットに連動して動く、というソーシャルウェブ・ポータルというコンセプトを打ち出したgooホームならではのデモをお披露目しました。基調講演では言いそびれてしまったのですが、このアイディアは元々、先日行われたHackathonでディベロッパーの1チームが見せてくれたものを元にしています。
実装としては、OpenSocialに含まれるpubsubというフィーチャーを使っています。pubsubは、任意に作成されたチャンネルに対してオブジェクトをpublishすると、同じチャンネルをsubscribeしているガジェットのコールバック関数が呼ばれオブジェクトが届く、というかなり単純な仕組みです。pubsubについては、近いうちにgoo Developer's Kitchenの方にもドキュメントを追加します。
また、今回のデモを行うため、PhotomemoチームにPhotomemoガジェットとフォトビューアーガジェットを開発して頂きました。ご協力ありがとうございました。
OpenSocial Panel Discussion
もうひとつ参加させて頂いたのがPanel Discussionでした。今回は先日のデブサミでもご一緒させて頂いたリクルートの川崎さんに加え、mixiの川岸さん、そしてGoogleの及川さんとのディスカッションになりました。
内容については、OpenSocialというよりはSocialWebを広い観点で捉え、その中で現状使えるOpenSocialというピース、およびこれから広がっていくSocialWebの世界に関して。僕の中でもmixiアプリとgooホームガジェットの目指す所がまるっきり違うことに気付いたのは割と最近なので、その辺りが分かりやすく伝わるようにお話しさせて頂きました。
まとめ
Panel Discussionの場でも言いましたが、日本のSocialWebという世界観にまだまだ伸びしろがあると感じています。海外に比べると実名が好まれなかったり、最大のSNSがクローズドだったりと、海外のそれを単純に輸入できないことは十分理解していますが、必ず近いうちに求めらる技術になっていくと思います。
共感された方はぜひ、SocialWeb Japanにご参加下さい。
2009年4月1日水曜日
OpenSocial Hackathon開催します
gooホームサンドボックス立ち上げと丁度タイミングが合ったこともあり、gooとOpenSocial Japanコミュニティ、リクルートメディアテクノロジーラボ共同開催で、OpenSocial Hackathonを開催することになりました。
Hackathon(ハッカソン)とは、Hack(ハック)とMarathon(マラソン)を組み合わせた造語で、参加者をグループに分け、その場で実際にコーディングを行いながらソフトウェアを作りあげていくものです。
これまでにもGoogleを中心に数回開催されていましたが、今回はgooホームサンドボックスをコンテナにしてやってみようというものです。
主催: gooホーム、リクルート メディアテクノロジーラボ、OpenSocial-Japanコミュニティ
日時: 2009年4月24日(金) 10:00〜18:00 (開場:09:30)
場所: リクルート メディアテクノロジーラボ
人数: 35名
条件:
- OpenSocialに興味がある方
- JavaScriptでのプログラミング経験がある方
- OpenSocialガジェットの開発経験のある方
(下記チュートリアルを行うとスムーズに理解することができます)
http://code.google.com/intl/ja/apis/opensocial/articles/tutorial/tutorial-0.8.html - ノートパソコンの持参が可能な方
※ 参加者の方は4月14日に事前ミーティングも行いますので、ご参加ください。
日時: 2009年4月14日(火) 18:30〜20:30 (開場:18:00)
場所: リクルート メディアテクノロジーラボ
内容: Hackathonでのチーム分け等の手続き、アイディアの意見交換
参加をご希望の方は、下記2つのサイトにて登録を行ってください。
http://groups.google.com/group/opensocial-hackathon-0424
↑こちらに記載してある詳細をよくお読みください。
当日はOpenSocial入門を執筆されたよういちろうさん、川崎有亮さん、Googleの方、そしてもちろん僕もチューターとして参加します。
OpenSocialに興味がおありの方は、ぜひご参加ください!
2009年2月6日金曜日
OpenSocialパネルディスカッション
来る2月12日、13日に目黒雅叙園にてDeveloper Summit 2009が開催されます。
中でも、12日17:40からOpenSocialパネルディスカッション 2009年、OpenSocial普及元年に「これから」を大予言にご注目。
最近「OpenSocial入門」を執筆された田中洋一郎さん、リクルートの川崎有亮さん、mixiから小山浩之さん、Googleの石原直樹さん、白石俊平さん、矢野りんさんに加え、僕もパネラーとして登壇することになりました。
今年はいよいよmixiやgoo、OpenPNEなど、日本でも複数のOpenSocial環境が利用できるようになるいわば元年です。OpenSocialが今後ウェブにとってどういう役割を果たして行くのか議論する予定です。ご興味のある方はぜひ、ご参加ください。
参加の申し込みはこちらから。
2009年1月25日日曜日
SocialWeb勉強会 vol.1を開催しました
1月23日に株式会社DeNAオフィスにて、SocialWeb勉強会 vol.1を開催しました。参加者は50名で、キャンセル待ちも出るほどの盛況ぶり。ソーシャルウェブの注目度の高まりを感じる勉強会となりました。
僕からのプレゼンテーションは、主催としてコミュニティの今後の方向性を示すと共に、現在の海外サービスで示されている方向性および、実際にメインプレイヤーたちがどういう形でソーシャルウェブ化に取り組んでいるかという状況を紹介しました。多くの内容は既にこのブログで紹介してきたものでしたが、いいまとめになったのではないかと思います。
スライドはSlideShareにアップしましたので、掲載しておきます。フォントが変わってしまって少々見づらい部分もあるかもしれませんが、ダウンロードもできますのでぜひご覧ください。
[slideshare id=948379&doc=socialweb-vol1-1232769487727464-3&w=425]
他にもよういちろうさんにOpenSocial導入のためのプレゼンテーション、id:ZIGOROuさんによる2009年のOpenIDの動向を紹介するプレゼンをしていただきました。詳しい内容は追ってこちらのページにアップされることと思います。ぜひチェックしてみてください。
最後に、会場を提供してくださったDeNAと、お手伝いしてくださったDeNA社員の皆様にお礼申し上げたいです。ありがとうございました。
追記:神部さんの飛び入り参加によるPaypal + OpenPNEのプレゼンについて書くのを忘れていました。僕のプレゼンの中でも触れた課金によるマネタイズにも絡む、実に興味深いお話でした。
再追記:PowerPointをPDFに変換してからSlideShareに再アップしたら、きれいに表示されるようになりました。
2008年4月8日火曜日
OpenSocialとかどうよ?的な勉強会(!?)に参加してきた
MDPとOpenSocialの関係
MDPとはMySpace Development Platformの略。MDPはOpenSocialより広い範囲のAPIです。言い換えると、OpenSocialはMDP上に作られている、とのこと。

OpenSocialではJavaScriptが先行して仕様決定されていっていますが、コンテナプロバイダはAjaxを受け付けるREST APIを作らないとRequestに対して応答を返すことが出来ません。そこでMySpaceの開発した仕様がMySpace REST APIでした。(当然、Orkutやhi5にもこれに類するものがありますが、仕様は未公開です。hi5はあったかな?)
MySpaceにはOpenSocialとは別にMyOpenSpaceという拡張があり、opensocialreference.jsとMyOpenSpace.jsとして区別されています。位置付けとしてはMyOpenSpaceがまずあり、それをラッピングする形でOpenSocialが存在する、と言った方が正確でしょう。OpenSocialは様々なSNSの持つAPIの最大公約数を取る形でデザインされているため、独自のAPIをラッピングすれば十分な訳です。確かにこれなら、他社SNSからアプリを持ってきたとしても、OpenSocialに対応したJavaScriptでさえあれば、互換性が保てますね。
また、RESTful APIについてはOpenSocial版が登場したときにどうするつもりか?という質問をしてみたのですが、「APIを増やすだけだよ」という回答。なるほど。そりゃそうだ。現行バージョンでアプリを開発した人向けに、古いバージョン用のAPIも残していくようです。
これで、以前から気になっていたMySpaceはまだ仕様が固まっていないはずのOpenSocial RESTful APIをどうやって実装したのか?という疑問が解決しました。
OpenSocialの拡張に当たる部分とは?
- フォトアルバム
- ヒーロー
- 好みの映画
等々が既に存在する独自拡張で、最も利用されているのがフォトアルバム。確かにフォトアルバムはSNSによってあったりなかったりしつつも、使われそうな機能ですね。
また、個別送信可能なメッセージ機能は?と聞いたところ、今まさに開発中だそうです。(今見たら、OpenSocialにもうあるような、、、)他にも、音楽やコメディなど、様々な分野のAPIを作っていきたいとのことでした。
アプリケーションの登録について
アプリ開発者はSandboxのアカウントを取得すればすぐに開発を始めることが出来ますが、実際にアプリを公開するためには審査を通る必要があります。審査はコードのレビューやリーガルチェック(著作権侵害等)を経て、だいたい24時間〜48時間で公開されますが、権利関係が微妙な場合はもっとかかることもあるとのこと。
聞きそびれてしまいましたが、アプリをXMLでリモートサーバーに置いた場合でも、一度アプリが審査を通過してしまうと、GoogleGadgetのようにそれ以降のサーバー上のXMLの変更は反映されないと思われます。
メモ
- Install Callback URL、Uninstall Callback URLはそれぞれ、ユーザーがアプリをインストール、アンインストールした直後にリダイレクトされるページのURLを指定できる。デフォルトはアプリのキャンバスページ。
- OAuthの認可用にキーとシークレットが発行される。
マネタイズ
当然メインは広告収入になると思われますが、Facebookのようにある種のレコメンド広告で収益を得る方法もありえます。他にも、アプリ開発者に対して課金することで表示位置を優遇したり、といったことも考えられます。
今のところアプリ開発者は、自社サービスの会員獲得を目的としてアプリを提供するケースが多いようですが、キャンバスビューで全画面を使うことができますので、ここに好きなように広告を入れて収益を上げてよいとのこと。将来的にはアプリを使って物販や課金する方法の提供も検討しているとのことで、夢が広がります。
アプリケーションの互換性
以前から疑問だったOpenSocialアプリケーションのSNS間の互換性について。実は自分の中では答えが出てたのですが一応聞いてみました。
まず、MySpace独自拡張の部分を利用しなければ、当然他のSNSに持って行っても使うことが出来ます。まあ、そりゃそうですよね。でも、viewやcssはサイトごとに切り替える必要があるはず。例えばOrkutではcanvas、profileという2つのviewしかありませんが、MySpaceにはhome,canvas,profile.left,profile.rightの4つが、hi5にはhomepage,canvas,profileという3つがあります。この時点で、うーん、ですね。
ただ、やり方として、コンテナのメソッドにアプリが動いているコンテナの名前を取得するAPIがあるので、それによって動作を切り替える方法もあるよ、と教えてもらいました。なるほど。
リモートサーバーにアプリを実装できるか?
RESTful APIを使えば当然外部サイトでもアプリを使えるのですが、ここではGoogleGadgetのContent type='html'をtype='url'にできるか?という話です。
答えは、イエス。
当然、同じドメイン配下にプロキシを作って、OAuthでMySpaceのAPIを叩く仕組みを作らなければならない訳ですが、サーバー用ライブラリも用意(準備中?)されているそうです。
アプリケーションディレクトリ公開後の伸び
Facebookはアプリケーション機能公開後に急激な伸びを示した訳ですが、MySpaceについてはどうか?聞いてみたところ、今のところ目立って急激な伸びは見られないとのこと。サイト上にもあまり誘導を貼っていないことから、まだその段階に達していないとの判断と伺えます。今後APIがもっとしっかりしたものになってから、色々やるんでしょうね。メッセージ機能等による口コミにも期待しているそうです。
escapeStringとunescapeStringについて
パーシステントAPIを使う際、文字列情報しか保存できないため、JSON形式でやりとりされます。その際文字列をエスケープしてから投げたり、受け取った際はアンエスケープする必要があるのですが、Orkutやhi5で使えたgadgets.util.escapeString()とgadgets.util.unescapeString()がMySpaceで使えなかったため質問してみました。
答えはescapeStringとunescapeStringはもう使われていないはずで、今はencodeURIComponentが推奨のはずだよ、とのこと。今OpenSocialの仕様を見てみたところ、まだgadgets.util.scapeString()もgadgets.util.unescapeString()も有効のようですが、、、。
MySpace用のサンプルアプリ
以前作った友達紹介アプリのMySpaceバージョンを公開します。
http://devlab.agektmr.com/OpenSocial/MySpace/FriendIntroducer.xml
別の人がこのアプリを自分のSandboxアカウントに入れることができたか分かりませんが、参考になれば。MySpaceに2つアカウント作って試すところまではまだやっていないため、物好きな方はMySpaceの僕のアカウントに友達申請してください。
感想
- MySpaceのエンジニアの方はAptanaを使う人が多いみたい。Javaアプリはもっさりしてて嫌いなので基本的に使わないのですが、もう一回チャレンジしてみようかな・・・。
- 何が驚いたって、参加者10人中パソコン出した人が4人。その全員がMacBook Airユーザーだったこと!
みんなリッチだなあ。 - Ozzieと写真撮ってもらった!
※追記(4/12)
「escapeStringとunescapeStringがもう使われていない」というのは間違いではないか?の件について、当日教えてくれたTerrenceにメールで確認しました。
どうやら「escape」と言ったのを、一般的なJavaScriptのescapeと勘違いしたらしく、彼が言っていた「escapeはもう使われていない」というのは、そちらを指していたとのこと。確かに、今はescapeよりもencodeURIComponentを使うように推奨されてますね。
で、本題のgadgets.util.escpeStringとgadgets.util.unescapeStringについては、確かに、MySpaceでは実装されていないそうです。自分で解決するしかないみたい。