<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tender Surrender &#187; iGoogle</title>
	<atom:link href="http://devlog.agektmr.com/en/archives/tag/igoogle/feed" rel="self" type="application/rss+xml" />
	<link>http://devlog.agektmr.com</link>
	<description>SocialWeb Evolves</description>
	<lastBuildDate>Mon, 05 Jul 2010 05:13:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>EN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>iGoogleの進化に見るGoogleのソーシャル化</title>
		<link>http://devlog.agektmr.com/en/archives/207</link>
		<comments>http://devlog.agektmr.com/en/archives/207#comments</comments>
		<pubDate>Mon, 17 Nov 2008 17:38:28 +0000</pubDate>
		<dc:creator>Eiji</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[iGoogle]]></category>

		<guid isPermaLink="false">http://devlog.agektmr.com/en/?p=207</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fdevlog.agektmr.com%2Fen%2Farchives%2F207", "style": "big", "title": [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_light-green" style="float: left;margin-right: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fdevlog.agektmr.com%252Fen%252Farchives%252F207%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22iGoogle%E3%81%AE%E9%80%B2%E5%8C%96%E3%81%AB%E8%A6%8B%E3%82%8BGoogle%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E5%8C%96%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fdevlog.agektmr.com%2Fen%2Farchives%2F207", "style": "big", "title": "iGoogleの進化に見るGoogleのソーシャル化" });</script></div>
<p>iGoogleはこれまで複数のガジェットを1ページに表示するスタイルでしたが、最近「canvasビュー」が追加され、1つのガジェットを画面いっぱいに表示して利用できるようになったことは記憶に新しいと思います。canvasビューを使うことで、特にGmailやGoogle Readerのガジェットでは、単体サービスのかなりの機能がガジェット上でそのまま利用できるようになり、大幅に利便性が向上しました。</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/11/igoogle1.png"><img class="alignnone size-medium wp-image-208" title="igoogle1" src="http://devlog.agektmr.com/wp-content/uploads/2008/11/igoogle1-300x150.png" alt="" width="300" height="150" /></a></p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/11/igoogle2.png"><img class="alignnone size-medium wp-image-209" title="igoogle2" src="http://devlog.agektmr.com/wp-content/uploads/2008/11/igoogle2-300x152.png" alt="" width="300" height="152" /></a></p>
<p>このiGoogleの変化は、既に明言されてはいますが、iGoogleのOpenSocial対応を予感させ、将来的にGoogle全体がソーシャルネットワークになっていくことを示唆しています。実は既にGoogleがそれ自体をソーシャルネットワーク化していく方向性は随所に見られます。</p>
<h2>Googleのソーシャル化</h2>
<h3>Gmail連絡先(コンタクトリスト)</h3>
<p>ソーシャルネットワークを形作る上で最も重要になるソーシャルグラフを、GoogleはGmail/Google Talkに持ってきました。当然と言えば当然。この連絡先(コンタクトリスト)はAndroidケータイ上にもインポートされ、電話帳としても利用されており、いやでもリアルなソーシャルグラフになる点が特徴と言えます。</p>
<h3>Google Mapsプロフィール</h3>
<p>最近プライバシー問題で話題のGoogle Mapsには実はプロフィール機能がついており、画面上部の「プロフィール」リンクをクリックすると、自分のプロフィールを作成/表示することができます。これは後述のGoogleプロフィールと連携しています。</p>
<h3>Google Readerの共有機能</h3>
<p>Google ReaderはRSSリーダーですが、気になった記事をボタン一つで友達に共有できる機能があります。その際利用されるのがGmailの持つ連絡先のソーシャルグラフで、ここでも活用されています。</p>
<h3>Googleプロフィール</h3>
<p>いつのまにか、ひっそりと作られた感のあるのが<a href="http://www.google.com/s2/profiles/me?hl=ja" target="_blank">Googleプロフィール</a>。<strong>これが今後どう充実して行くかは要注目</strong>です。</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/11/googleprofile.png"><img class="alignnone size-medium wp-image-211" title="googleprofile" src="http://devlog.agektmr.com/wp-content/uploads/2008/11/googleprofile-300x165.png" alt="" width="300" height="165" /></a></p>
<p>画面左上にユーザーの写真とニックネーム、住所が表示され、その下にはプロフィールの詳細情報が表示されます。今のところ住所や過去に住んだことのある場所、通った学校、勤めた会社、略歴に加え、Googleを使っても見つけられないもの、超能力(?)など一風変わった項目もあり、この画面から編集を行うことができます。</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/11/googleprofilelink.png"><img class="alignnone size-medium wp-image-212" title="googleprofilelink" src="http://devlog.agektmr.com/wp-content/uploads/2008/11/googleprofilelink-300x167.png" alt="" width="300" height="167" /></a></p>
<p>そして「リンク」。今のところ本当にただのリンクですが、利用している外部サービスを登録することができます。面白いのは、例えばFriendFeedを登録すると、自動的に他のサービスも登録候補にずらずらっと表示されるところ。なるほど、ここでGoogle Social Graph APIを活用しているようです。確かに、FriendFeedにはrel=&#8221;me&#8221;といったmicroformatが埋め込まれています。</p>
<h3>メッセージ機能</h3>
<p><a href="http://japan.cnet.com/news/media/story/0,2000056023,20383508,00.htm" target="_blank">Googleプロフィールに最近メッセージ機能が追加</a>されました。英語版でしか存在を確認することはできませんが、プロフィールページからメッセージを送ることができるようです。これもOpenSocial対応を意識したものでしょう。</p>
<h2>Googleは今後どう変わって行くのか</h2>
<p>Googleがソーシャル化していく上で、今後どのような部分に変化が見られるのか予想してみました。</p>
<h3>Googleプロフィールにガジェット</h3>
<p>まず間違いなく、Googleプロフィールにもガジェットが追加できるようになるでしょう。</p>
<p>OpenSocialにはhomeビュー、canvasビュー、profileビュー、previewビューの4つがあらかじめ定義されていますが、ガジェット追加確認用のpreviewビューを除けば、一般的なSNSにおけるマイページ(homeビュー)、ガジェットのみを表示するcanvasビューが既にiGoogleで用意されているので、残りはプロフィールページ(profileビュー)となるのは自然な流れと言えます。</p>
<h3>GoogleプロフィールのiGoogle統合</h3>
<p>GoogleプロフィールとiGoogleの統合はあり得ない話ではありません。今もiGoogleのSandbox環境では自分のGoogleプロフィールの内容を確認することができますが、例えば簡単に画面遷移ができたりすることで、他者との距離を近づけ、iGoogleがソーシャルなものであることを意識できるようになるかもしれません。</p>
<h3>アクティビティストリーム</h3>
<p>iGoogleのSandboxでは既に片鱗が見えますが、OpenSocialのアクティビティストリームという機能がもう少し明確に、姿を現すはずです。アクティビティストリームとは、ユーザーの行動履歴のようなもので、mixiで言えば友達の日記やコミュニティの最新情報に当たります。</p>
<p>OpenSocialではガジェットからアクティビティを登録する機能が規定されていますが、iGoogleではこれに加えてリンクしたサービスのフィードも自動的に混ざる、FriendFeedライクな機能を追加してくるのではないでしょうか。<a href="http://jp.techcrunch.com/archives/20081112sweeping-changes-at-livecom-its-a-social-network/" target="_blank">MicrosoftがWindows Live Homeで追加した機能</a>にも同様のものがあります。</p>
<h2>まとめ</h2>
<p>Googleプロフィールをネタに記事を書き始めたのですが、なんだかんだ話が広がり、結構大きい話になってしまいました。しかしGmailを中心として着実に、潜在的にソーシャルグラフを広げているGoogleが、完全なソーシャルネットワークの形態をとった時にどれほどの影響力を持ったものになるのか、正直想像もつきません。果たしてGmailを作った時点でここまで考えていたのか？今後の動向から目が離せません。</p>

]]></content:encoded>
			<wfw:commentRss>http://devlog.agektmr.com/en/archives/207/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OAuthの署名方式を掘り下げる</title>
		<link>http://devlog.agektmr.com/en/archives/174</link>
		<comments>http://devlog.agektmr.com/en/archives/174#comments</comments>
		<pubDate>Fri, 03 Oct 2008 19:11:18 +0000</pubDate>
		<dc:creator>Eiji</dc:creator>
				<category><![CDATA[OAuth]]></category>
		<category><![CDATA[HMAC-SHA1]]></category>
		<category><![CDATA[iGoogle]]></category>
		<category><![CDATA[MySpace]]></category>
		<category><![CDATA[Orkut]]></category>
		<category><![CDATA[RSA-SHA1]]></category>

		<guid isPermaLink="false">http://devlog.agektmr.com/en/?p=174</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fdevlog.agektmr.com%2Fen%2Farchives%2F174", "style": "big", "title": [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_light-green" style="float: left;margin-right: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fdevlog.agektmr.com%252Fen%252Farchives%252F174%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22OAuth%E3%81%AE%E7%BD%B2%E5%90%8D%E6%96%B9%E5%BC%8F%E3%82%92%E6%8E%98%E3%82%8A%E4%B8%8B%E3%81%92%E3%82%8B%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fdevlog.agektmr.com%2Fen%2Farchives%2F174", "style": "big", "title": "OAuthの署名方式を掘り下げる" });</script></div>
<p>当ブログでこれまで何度かOpenSocialに絡んだOAuthについて取り上げてきましたが、MySpaceを参考にしていたため、署名方式としてHMAC-SHA1のみを対象にしてきました。しかしShindigを掘り下げる上でRSA-SHA1を避けて通ることはできず、むしろこちらについても十分な知識を得ていないとなかなか先に進めないことが分かりましたので、この機会にまとめてみます。(OpenSocialをある程度前提にしていますが、署名の話はOpenSocialに限らないものです。)</p>
<h2>署名とは何か</h2>
<p>ITの世界で署名とは、問い合わせ元がその人であることを証明するための手段、と言えます。OAuthだと、コンシューマがサービスプロバイダに対して、名乗っている通りの者であることを証明することを意味します。これは、「自分」もしくは「相手と自分」にしか分からないものをリクエストに付け加えて送ることで実現されます。</p>
<p><a href="http://oauth.net/core/1.0" target="_blank">OAuthの仕様</a>では、署名方式について厳密に規定していませんが、HMAC-SHA1、RSA-SHA1、PLAINTEXTの3つの署名方式を説明しています。</p>
<blockquote><p>OAuth does not mandate a particular signature method, as each implementation can have its own unique requirements. The protocol defines three signature methods: <tt>HMAC-SHA1</tt>, <tt>RSA-SHA1</tt>, and <tt>PLAINTEXT</tt>, but Service Providers are free to implement and document their own methods. Recommending any particular method is beyond the scope of this specification.</p></blockquote>
<h2>HMAC-SHA1</h2>
<p>HMAC-SHA1を使ったOAuthでは、予めコンシューマとサービスプロバイダが、同じコンシューマキー(oauth_consumer_key)とコンシューマシークレット(oauth_consumer_secret)を持ちます。コンシューマシークレットはもちろん、秘密というくらいですから、2者以外に知られてはいけません。2者がコンシューマシークレットを共有することから、Shared Secretと呼んだりもします。</p>
<p>MySpaceでは、コンシューマキーをアプリケーションのURL、コンシューマシークレットをMD5らしきランダムな(?)ハッシュ文字列としていますが、コンシューマキーはディベロッパの任意で変更可能です。詳しくは<a href="http://devlog.agektmr.com/archives/tag/oauth">この辺り</a>をご覧下さい。</p>
<h2>RSA-SHA1</h2>
<p>逆に、RSA-SHA1の方式では、コンシューマが公開鍵と秘密鍵を持ちますが、サービスプロバイダは秘密鍵を知ることはありません。コンシューマは秘密鍵で暗号化した署名を加えたリクエストを投げます。この暗号化された署名は、公開鍵でしか解くことができませんし、秘密鍵でしか作ることができないため、コンシューマが身分を証明できる、という訳です。</p>
<p>署名を作る際、HMAC-SHA1方式の場合、コンシューマシークレット(oauth_consumer_secret)とトークンシークレット(oauth_token_secret)を&#8221;&amp;&#8221;で繋いだものをkeyとして利用しますが、RSA-SHA1方式の場合、秘密鍵をkeyとして使って暗号化します。そのため、コンシューマシークレットとトークンシークレットは不要です。</p>
<p>逆にサービスプロバイダは、公開鍵を使って署名が正当なものであることを確認します。</p>
<pre class="brush: php;">
$publickeyid = openssl_get_publickey($cert);
$ok = openssl_verify($raw, $signature, $publickeyid);
openssl_free_key($publickeyid);
</pre>
<p>$certは公開鍵、$rawは署名の基本文字列(Signature Base String)、$signatureは署名文字列(oauth_signature)を表しています。$rawと$signatureはコンシューマからのリクエストで生成することができますが、$certについてはちょっと考察が必要です。</p>
<h2>RSA-SHA1の公開鍵の扱い</h2>
<p>OAuthの拡張として<a href="http://dirk.balfanz.googlepages.com/oauth_key_rotation.html" target="_blank">OAuth Key Rotation Extension</a>が提案されています。これはコンシューマがサービスプロバイダにリクエストする際、公開鍵のIDをリクエストと一緒に渡すことで、サービスプロバイダに鍵をダウンロード/認識させるための仕様です。公開鍵のIDはxoauth_signature_publickeyパラメータで渡されます</p>
<p>※<a href="http://dirk.balfanz.googlepages.com/oauth_key_rotation.html" target="_blank">OAuth Key Rotation Extension</a>のドラフト、<a href="http://www.opensocial.org/Technical-Resources/opensocial-spec-v08/gadgets-reference08#gadgets.io.makeRequest" target="_blank">OpenSocial/Gadgetの仕様書</a>など、いくつかのドキュメントにxoauth_public_keyと記述されていますが、Shindigの実装でxoauth_signature_publickeyが使用されており、こちらが正式なものとなるようです。</p>
<p>ここで公開鍵のIDと言いましたが、もちろん、これだけでは公開鍵を取得することができないので、これを使ってゴニョゴニョする必要があります。</p>
<p>が、、、。</p>
<p><a href="http://www.opensocial.org/Technical-Resources/opensocial-spec-v08/gadgets-reference08#gadgets.io.makeRequest" target="_blank">OpenSocial/Gadgetの仕様書</a>には</p>
<blockquote><p>The container should make its public key available for download at a well-known location. The location <code>https://<em>container-hostname</em>/opensocial/certificates/<em>xoauth_public_keyvalue</em></code> is recommended.</p></blockquote>
<p>と書いてあるのですが、Shindigの実装ではhttp://container-hostname/public.cerになっていたりと、仕様が一貫していません。</p>
<p>現実はどうしているかというと、xoauth_signature_publickeyを無視して、コンテナのドキュメントに書いてある公開鍵をコピペして<strong>ソースコードにハードコーディング</strong>しています。hi5、Orkutについては動作確認ができました。iGoogleについては<a href="https://sites.google.com/site/oauthgoog/oauth-proxy" target="_blank">ここ</a>に公開鍵が書いてありますが、動作しませんでした。</p>
<p>OAuthが広まって様々なコンシューマが登場するまでは、まだまだこの中途半端な状態が続くのではないでしょうか。</p>
<h2>コンシューマは誰か</h2>
<p>ここで勘のいい方は気付かれたと思いますが、RSA-SHA1方式の場合、署名元が<strong>OpenSocialのコンテナサイトそのもの</strong>になっています。MySpaceのように、<strong>ガジェットではありません</strong>。ということは、もちろんコンシューマキー(oauth_consumer_key)もOrkutなら&#8221;orkut.com&#8221;、hi5なら&#8221;hi5.com&#8221;といった具合に、コンテナサイトを表すものが使用されます。</p>
<p>またこの方式の場合、どのガジェットがリクエストを投げているのかを表すため、<strong>xoauth_app_urlというパラメータ</strong>が追加されます。これを提案しているのが<a href="http://dirk.balfanz.googlepages.com/oauth_gadget_extension.html" target="_blank">OAuth Gadget Extension</a>です。</p>
<p>MySpaceのようにHMAC-SHA1を使っている場合は、ガジェットごとにコンシューマキーを設定し、ガジェットのリクエストをコンテナがProxyするという形を取っていました。これはShindigを使っているiGoogle、Orkut、hi5と、独自にOpenSocialを実装しているMySpaceとの方針の違いから来るものです。</p>
<p>HMAC-SHA1方式でコンテナをコンシューマとして扱おうとすると、シークレットは2者間のみで共有されなければならないため、コンシューマは、サービスプロバイダごとにキーとシークレットを発行しなければなりません。しかし、RSA-SHA1方式であれば、コンテナがコンシューマでも、公開鍵と秘密鍵の組み合わせは一つだけあれば使い回せるため、OpenSocialにおけるmakeRequest (Outbound OAuth)のように、コンテナが外部サービスからデータを取得するアーキテクチャの場合、RSA-SHA1方式にした方がコンシューマにとってサービスプロバイダの追加も容易になりますし、サービスプロバイダにとってコンシューマの署名を確認する作業も楽になるのが利点です。</p>
<p>ShindigがRSA-SHA1方式を中心に実装されているのはそんな理由がありそうです。ちなみに、Shindigの開発はGoogleが中心になって行われており、HMAC-SHA1方式についても現在実装中らしいですが、iGoogleでのコンシューマキーとコンシューマシークレットの発行は、メールで依頼することになっているため、今のところ本気で考えてはいなさそうです。</p>
<blockquote><p>In the case of the iGoogle sandbox, you can send mail to oauthproxyreg@google.com with the following information to register your shared secret:<br />
* URL of your gadget<br />
* The shared secret assigned to you by the service provider<br />
* The consumer key assigned to you by the service provider<br />
* Whether to use symmetric or asymmetric signing with the service provider (or say that you don&#8217;t know)<br />
Until your shared secret has been registered, your gadget will not work.  If you change the URL of your gadget, you will need to re-register the secret for that gadget.</p></blockquote>
<h2>まとめ</h2>
<p>現時点ではOpenSocialのOutbound OAuthではMySpaceがHMAC-SHA1方式でガジェットをコンシューマに、Shindig系コンテナはRSA-SHA1方式でコンテナをコンシューマにしていますので、外部サーバーとやり取りを多なうOpenSocialガジェットを作る場合、どちらからのリクエストも受け付けられるよう構築しておく必要がありそうです。</p>
<h2><strong>参考サイト</strong></h2>
<ul>
<li><a href="http://d.hatena.ne.jp/lyokato/20080818/1219081040" target="_blank">Outbound OAuthを実現するOAuth Proxy &#8211; Codin&#8217; In The Free World</a></li>
<li><a href="https://sites.google.com/site/oauthgoog/oauth-proxy" target="_blank">OAuth Proxy(Google OAuth &amp; Federated Login Research)</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://devlog.agektmr.com/en/archives/174/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ついにiGoogleがOpenSocial対応へ</title>
		<link>http://devlog.agektmr.com/en/archives/50</link>
		<comments>http://devlog.agektmr.com/en/archives/50#comments</comments>
		<pubDate>Tue, 22 Apr 2008 07:41:42 +0000</pubDate>
		<dc:creator>Eiji</dc:creator>
				<category><![CDATA[OpenSocial]]></category>
		<category><![CDATA[Gadget]]></category>
		<category><![CDATA[iGoogle]]></category>

		<guid isPermaLink="false">http://devlog.agektmr.com/en/?p=50</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fdevlog.agektmr.com%2Fen%2Farchives%2F50", "style": "big", "title":  [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_light-green" style="float: left;margin-right: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fdevlog.agektmr.com%252Fen%252Farchives%252F50%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%E3%81%A4%E3%81%84%E3%81%ABiGoogle%E3%81%8COpenSocial%E5%AF%BE%E5%BF%9C%E3%81%B8%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fdevlog.agektmr.com%2Fen%2Farchives%2F50", "style": "big", "title": "ついにiGoogleがOpenSocial対応へ" });</script></div>
<p>今日から、<a href="http://jp.techcrunch.com/archives/20080421hints-of-igoogle-turning-into-its-own-social-network/" target="_blank">OpenSocial機能提供に向け、iGoogleでsandboxの利用が可能になりました</a>。これは明白に、<strong>Google自身がソーシャルネットワークを基盤とした仕組みになっていく</strong>ことを意味しています。以前<a href="http://jp.techcrunch.com/archives/googles-response-to-facebook-maka-maka/" target="_blank">Maka-Makaと呼ばれるプロジェクト</a>が存在し、Google独自のSNSサービスが始まるという話題がありましたが、それがOpenSocialというオープンな形を取り、予想していたとはいえ、iGoogleという形で現実のものにされると、さすが、としか言いようがありません。</p>
<p>で、早速試してみました。</p>
<p>まずはサインアップ。<a href="http://www.google.com/ig/sandbox" target="_blank">こちら</a>からできます。(言語設定は英語にしておかないと、サインアップしてもsandboxが利用できないようです。)</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_signup.jpg"><img class="alignnone size-medium wp-image-54" title="igoogle_signup" src="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_signup-300x161.jpg" alt="" width="300" height="161" /></a></p>
<p><a href="http://code.google.com/apis/igoogle/docs/anatomy.html" target="_blank">http://code.google.com/apis/igoogle/docs/anatomy.html</a></p>
<p>これが新しいiGoogleの画面。</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_top.jpg"><img class="alignnone size-medium wp-image-52" title="igoogle_top" src="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_top-300x147.jpg" alt="" width="300" height="147" /></a></p>
<p>画面左にあるのがインストールしたアプリケーション/ガジェット。これをクリックするとキャンバスビューが開きます。</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_navi.jpg"><img class="alignnone size-medium wp-image-53" title="igoogle_navi" src="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_navi-110x300.jpg" alt="" width="110" height="300" /></a></p>
<p>画面右側にはUpdateとしてアクティビティストリーム(行動履歴)が表示されるとのことですが、まだ確認できていません。SNSですから、友達リストがあってもおかしくないのですが、sandboxでは友達なしの状態からスタートし、sandboxに登録しているユーザー同士でなければ友達になれないとのこと。どうやって友達になれるかは、まだ不明。実際のサービス時はGoogle Talk/Gmailのアドレス帳からスタートすることは容易に想像できます。</p>
<p>また他にも、ガジェットごとの設定項目の表示方法が変更されているようです。</p>
<p>で、せっかくのsandboxですから、早速以前作ったFriendIntroducerを試してみました。OpenSocialとはいえ、コンテナごとにビュー名は若干違うよね、ということで、ガジェットXMLにhomeビューを追記し、Developerガジェットから追加。</p>
<p><a href="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_gadget.jpg"><img class="alignnone size-full wp-image-55" title="igoogle_gadget" src="http://devlog.agektmr.com/wp-content/uploads/2008/04/igoogle_gadget.jpg" alt="" width="370" height="253" /></a></p>
<p>んー。友達がいないので、当然こういう表示になってしまいますが、動いていることは確認できました。やはりそこはOpenSocial。</p>
<h2>まとめ</h2>
<p>あくまで基盤とはいえ、Googleは本当に恐ろしい存在です。すべてのウェブサービスを飲み込めるくらい、地を這ってる。auやlivedoorのGmailしかり、Google App Engineしかり。何でもかんでもGoogleに乗っけてしまえってくらい。</p>
<p>そしてGoogleにはAndroidもあります。そう、携帯電話のアドレス帳もこの友達リストに接続できるようになるでしょう。そうすると、友達のブログ更新をメールで受け取ったり、そのままケータイで閲覧したりといったことがユーザーに何のストレスも与えずに可能になります。</p>
<p>あと足りないのはプロフィールビューでしょうか。Google MapやGoogle Groupsで部分的に実現されてはいますが、これがどういう形で結実していくか、見物です。</p>

]]></content:encoded>
			<wfw:commentRss>http://devlog.agektmr.com/en/archives/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
