各コンテナ(OpenSocial)では、3つのVIEWに対応しているわけですが、
- Home View
- Profile View
- Canvas View
アプリ単体で表示される「Canvas」以外の「Home」「Profile」で表示されるアプリケーションは取捨選択されることが目に見えています。ブログパーツに近い概念かもしれません。
コンテナによっては制限されるところもあるかもしれません(すでにある?)。試しにMySpaceを使っていると、無意識にそういう行動をとっている自分に気が付きます。
「Home」におかれないと起動回数が減るかもしれませんし、「Profile」に設置されなければ口コミ的に広まる可能性が減るかもしれません。
では、どういったポイントに気をつければリストラされないのでしょうか?
自分の頭の整理もかねてまとめていきます。
続きを読む "「ProfileView」「HomeView」に載せたくなる12のルール(暫定版)" »
前回は指定したURLの結果を取得しました。今回はその応用で外部のJSONを取得したいと思います。前回のサンプルでも取得はできますが、JavaScriptの変数として取ってこれるような機構がOpenSocialでは用意されているのです。
サンプルのアプリとして、Googleの画像検索の結果をJSONとして取得し表示する物を作成してみました。
■実行結果
・MySpace
続きを読む "[入門] 外部のJSONを取得する (makeRequest())" »
翔泳社さんから事前ミーティングのお知らせをいただいたので、先週行ってきました。
って、よく考えると本番はもう今週なのか(^^;
--------------------------------------------------------------------
【デブサミ版 Google Hackathon 事前ミーティング】
--------------------------------------------------------------------
日時:2009年2月4日 18:30 - 21:00(開場 18:00)
場所:東京都渋谷区桜丘町26-1
Googel 東京オフィス 7F 花の宴
内容:
Hackathon の説明
グループ分け
Ideathon
(OpenSocial アプリケーションのアイデアを考えます)
Googleのオフィスもこれで2回目です。
前回はFeed系を希望していたのですが、今回は仕事に近いところでチャレンジしたいと思い、 ゲーム系にチャレンジ。で、いざ希望者が集まってみるとやはりゲームは大人気!一瞬、Feedへ逃げようかと思ったのですが、分割してやることになったので、居座り続けましたw
たまたま集まった5人のメンバーでアイデアを話し始めると、一周するころには方向性がまとまり、画面遷移まで作ってましたよwwwさらにプレゼンも得意な方がいらっしゃったおかげで会場の笑いもとれ、最後に一人一票もって投票を行ったところ、見事1位に輝きました!すばらしい!賞品としてGoogle特性Tシャツ片手にその日は家路につきました。
ちなみに、ほかのグループも中々興味深かったです。
詳しくは当日のレポートがCodezinあたりに載ると思うので、そちらをご覧くださいませ(^^; 楽しみは後にとっておくべしw
続きを読む "デブサミ版Google Hackathonの事前ミーティングに行ってきた" »
MySpaceで独自に定義されているVIEWERの属性情報を取得します。
ドキュメントで定義されている通り「MyOpenSpace.Person.Field.*をとってきます。コード自体は前回のopensocial.Person.Fieldを取得するのと同じでOK。opensocial.Person.Fieldと同時に取得することもできます。
■実行結果
・MySpace
続きを読む "[入門] MySpace固有のVIEWERの属性情報を取得 (MyOpenSpace.Person.Field)" »
MySpaceの「PersistenceAPI」をいじっていたのですが、OpenSocialの仕様通りにコードを打ってもうまく動作してくれなく憤慨していましたw で、色々調べていたら、いくつかクセのような物が分かってきたのでメモ代わりに公開しておきます。(他のコンテナで起きるかは未検証)
- newUpdatePersonAppDataRequestにはJSONで渡さないとエラー
- getId()の戻り値は’myspace.com:’+ユーザーIDだが、、
getData()で取得した配列のキーは、ユーザーIDのみ
- 保存できる1レコードの最大長は1,024byteまで
FireBugマンセーな世界でしたw
続きを読む "[MySpace] PersistenceAPIで転びやすいポイント" »
これは!と思って検証していたら、確かにそれらしいリクエストをmakeRequestへ送っているのを見つけました。
■クラウド時代に備えて、プログラマーが理解しておくべき考え方
http://codezine.jp/article/detail/3618
Google App Engineが自動でスケーリングしている例として、オープンソーシャル向けの3Dアバター「BuddyPoke」を挙げた。同サービスのorkut上でのユーザー数は現在3千万人ほどあり、ユーザー増加の過程でサーバなどの設備増強などはまったく行なっていないそうだ。
XMLはAmazonのS3に置いてるんですね。あんまりこういうのを見るのは良くないのかしら(^^; (いらないヘッダは消してます)
POST /gadgets/makeRequest HTTP/1.1
Content-Type:application/x-www-form-urlencoded
Host:bipq8hub3ub1r4mcejdm9urlpd456fkn.a.orkut.gmodules.com
Content-Length:521
url=http%3A%2F%2Fbuddypokeapp.appspot.com%2Forkut%2Fmood&httpMethod=POST&headers=Content-Type%3Dapplication%252Fx-www-form-urlencoded&postData=mood%3Dm_nluv%26epoch%3D1235618626&authz=signed&st=AFinprQG8jC2cr_lE1MCv3PYY3XHYjOrRbW7x4I1SIof3kQevcjpIdahOAy5fff8Ree6v18hyef8l6mlAuafENfKTzaHT4Atc7O49lQ5FJlKAFqymhm4MyQ&contentType=TEXT&numEntries=3&getSummaries=false&signOwner=true&signViewer=true&gadget=http%3A%2F%2Fbuddypoke.s3.amazonaws.com%2Forkut.xml&container=orkut&bypassSpecCache=&oauthState=&OAUTH_SERVICE_NAME=HMAC
おまけですが、データの保存にもAmazon S3を利用しているようでした。
普通にフォームからPOSTするだけで、S3へ格納できる「Browser-Based Uploads Using POST」という仕組みが用意されているんですね。S3便利すぎる。
※AppEngineで用意されているディスクが500Mということを考えると、AppEngine経由でデータを別のストレージに保存しているんだろうなぁというのは想像に難くないところでもあります。で、たまたま表に出てきていましたが、こんな感じで直にリクエスト送ったりもしていると。
ちなみにリクエスト内容はこちら。
(いらないヘッダは消してます)
続きを読む "[アプリ] BuddyPoke! はGoogle App Engineなの?" »