ウェブ開発の次なる主戦場、Open Social
- 19. アプリの利用結果が更新履歴
に掲載される
• 「JunさんがFujiwoさんにバラク・オバマを
投げつけました」
• 友達全員がこの通知を見る。
• 「何これ?面白そう」と思ってクリック。
• Hug Meのインストール画面へ。
- 43. 一般的なOpenSocial
OpenSocial
ブラウザ
コンテナ
二回目以降はコンテナ 貴方のサーバ
にキャッシュされ、 Gadget XML
Javascript
貴方のサーバへの負担 CSS, SWF
はない。 画像, ビデオ
その他データ
※キャッシュOFFも可
- 44. こんなこともできる
貴方のサーバ OpenSocial
携帯など
コンテナ
PHP, Perl,
Java, .NET
などの
ブラウザ
サーバサイド
処理
携帯サイトや携帯アプリ、Windows
アプリなどからOpenSocialを操作。
(RESTful APIを採用)
- 46. 私が試したコンテナ
• gooホーム
– gooホームsandbox
http://sandbox.home.goo.ne.jp/
• mixi
– mixiアプリオープンβ
http://developer.mixi.co.jp/appli
• Orkut(Google運営のSNS)
– Orkut sandbox
http://sandbox.orkut.com/
- 47. Gadget XMLを作成
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
<Module>
<ModulePrefs title=quot;アプリ名quot; description=quot;アプリの説明quot;>
<Require feature=quot;opensocial-0.8quot; />
</ModulePrefs>
<Content type=quot;htmlquot;>
<![CDATA[
<h1>私のアプリケーションです</h1>
<p>すごいですか?</p>
]]>
• xmlをtestapp1.xmlなどの名前をつけて
</Content>
自分のサーバへ置く。
</Module>
- 50. キャッシュの仕組み
• 貴方のサーバに負荷をかけない為のもの。
• しかし開発中など、キャッシュが困る場合もある。
• Gadeget XMLの指定で明示的にキャッシュを
ON/OFF可能。
<ModulePrefs ...>
<Optional feature=quot;content-rewritequot;>
<Param name=quot;include-urlsquot;>.*png$</Param>
<Param name=quot;exclude-urlsquot;>.*js$</Param>
<Param name=quot;exclude-tagsquot;>img</Param>
</Optional>
</ModulePrefs>
- 51. キャッシュについての注意
• mixiアプリβ
– testapp1.xmlを修正する度にコンテナから
「更新」の必要がある。(自動的にキャッシュ)
• Orkut sandbox
– testapp1.xmlの更新が反映されない。アプリ
のURLに「?nocache=1」「&nocache=1」を
追加すればキャッシュされない。
• gooホームsandbox
– 自動キャッシュされないのでラクチン。
- 52. View
• OpenSocialアプリはSNS上の異なるシー
ンで表示される。
• 「home」
– 自分のログイン直後の画面。小さく表示。
• 「profile」
– 友人のプロフィール画面。小さく表示。
• 「canvas」
– 自分や友人のアプリ最大化画面。
• 「preview」
– インストール前のプレビュー画面
- 56. 個人情報の取得(JS部分)
function init() {
var req = opensocial.newDataRequest();
req.add(
req.newFetchPersonRequest(
opensocial.IdSpec.PersonId.OWNER ), quot;ownerinfoquot; );
req.send(
function( res ){
var item = res.get( quot;ownerinfoquot; );
var ownerinfo = item.getData();
var nickname = ownerinfo.getDisplayName();
document.getElementById( quot;mynamequot; ).innerHTML
= nickname;
});
}
- 60. 例
• ユーザー1: アプリA未インストール
ユーザー2のアプリAを表示
• アプリAはユーザー1の情報(VIEWER)を
取得できない。
• requestPermissionメソッドで権限を付与
することができる。
• 上記のケースでも、ユーザー2の情報
(OWNER)は取得できる。
- 64. 永続化API
User1 User2
User2へのMsg
User4へのMsg
User3 User4
User2へのMsg
User2へのMsg
User3へのMsg
User2へのMsg
- 67. ビジネス
• 広告表示はほとんどのコンテナで可能。
– mixiは原則OK、gooホームはgooの広告か
Amazonのみ。
• 直接の販売行為は禁止、が多い。
– 但し、自社サイト上で有料サービスを行い、そ
れをアプリ化するのは良い。
• 個人情報の取り扱いは厳重に注意。
– ユーザーに、どの情報がどう公開されるかしっ
かり説明する。
- 68. まとめ
• アプリケーションプラットフォームがOSから
ウェブへ移行。
• HTML+Javascriptで手軽に作れる。
• バイラルなアプリは加速度的に拡がる。
• ビジネス利用もOK。但し個人情報に注意。
• mixiアプリβはまだ不安定。やるなら
Orkutかgooホーム。
• OpenSocial面白いので皆さんもどうぞ。