ブログ

たけまる / opensocial


2008-06-29 Sun

_ AtomPub の multipart 拡張と OpenSocial のバッチ処理 [atompub][opensocial]

以前に "AtomPub で複数リソースをまとめて POST する方法" というエン
トリを書きました [2008-03-29-1].このエントリでは,2通りの "エント
リをまとめてPOST する方法" を紹介しました.

このうち,"Media Resource と Media Link Entry を同時に POST" が
multipart 拡張として正式に標準化されることになりました.元々
Picasa API として使われていた方法で,実績もあるため,標準化はすんな
りと進みそうです.

また,もうひとつの "複数の Resource をまとめて POST (BATCH 処理)"
は,OpenSocial 仕様として正式に採用されるようです.いまのところ,
AtomPub にはフィードバックされていません.

基本的な振る舞いについては,以前のエントリ [2008-03-29-1] をみてく
ださい.ここでは,補足事項のみを書きます.

続きを読む

Referrer (Inside): [2008-03-29-1]

2008-06-26 Thu

_ OpenSocial の XRDS-Simple が AtomPub に与える影響 [atompub][opensocial]

二週間ほど前に えーじさん から AtomPub のことで相談を受けて,あとで
ブログに書きますと言ったきりほったらかしてしまいました.Erlang 関係
でバタバタしてたもんですみません ><

そういえば,数ヶ月前に "AtomPub のマニアックな話題について書いてい
きます" と言ったあと,ほとんど書いてない気もする….

3月〜4月に書いたエントリに関連した標準化動向もあったことなので,
AtomPub についていくつか書いていこうと思います.Rails2 についても
ちょっとかくつもりです.

というわけで,久々に AtomPub の話題です.お題は OpenSocial の
XRDS-Simple です.

続きを読む

Referrer (Inside): [2008-04-09-1]

2008-03-29 Sat

_ AtomPub で複数リソースをまとめて POST する方法 [atompub][opensocial][gdata]

(2008-06-29 追記) その後の動向を書きました [2008-06-29-1]

(追記) yohei さんからのコメントです.
解決策はたくさんあり、結局要求次第と思われ。やりたいことによって解
決策 が異なるので、仕様に入れないのは正しいと思う。個人的には複数
同時にPOSTすると、レスポンスが multi status に...

(追記) enclosure or content/@src について lyokato さんとのやりとりです.
lyokato: あー、日記と同時に関連写真を投稿したいとか、そういうケー
スかなと思ってました。その場合はここで書かれた処理の後、enclosure
link突っ込んだ日記entryのpostでいいのかしら?
takemaru: あー,そっちかぁ.それならクライアントの意志による関連づ
けなので,enclosure でもいいと思いますし,単純に日記本文
(//entry/content) の中に <img src="..."> を書いておくだけでもいい
と思います.

最近は ZIGOROu さんにお題をもらってからブログを書くようになってきま
したw 今回のお題は,AtomPub で複数の Resource をまとめて POST する
方法についてです.

# 意外に AtomPub ネタにニーズがあるようなので,今後もマニアックな
# ネタを紹介していこうと思います

これまでにいくつか提案がありましたが,そのいずれもが標準にはなって
いません.いまの段階では,ほとんどの AtomPub サーバ・クライアントは
対応していないと思います.ただし,いくつか Google のサービスで実装
されている (されようとしている) ものがあるので,これらは "デファク
ト標準" になる かも しれません.

まとめて POST する方法は大きく 2 つに分けられます.

続きを読む

Referrer (Inside): [2008-06-29-1] [2008-04-16-1]

2007-12-11 Tue

_ 僕が OpenSocial や OpenID, OAuth を無視できない理由 [opensocial][openid][oauth]

machu さんを皮切りに,shinichitomita さんや kazuhooku さんがとても
面白い議論を繰り広げてます.

クロスドメインのセキュリティ問題を OAuth で解決する - まちゅダイアリー (2007-12-07)
Re: クロスドメインのセキュリティ問題を OAuth で解決する - id:kazuhookuのメモ置き場
クロスドメイン通信とアクセスコントロール - snippets from shinichitomita’s journal

ちょっと切り口を変えて,「この議論がどうして重要なのか,どうして革
新的なのか」ということを考えてみます.うまく説明できるかわかんない
けど,挑戦してみようかなと.

イノベーションってのは,それまでうまく使えなかったリソースを活用で
きるようになったときに起こる.蒸気であれ,電気であれ,資本であれ.

先に結論を言うと,OpenSocial や OpenID, OAuth (クロスドメイン関連の
技術) は,今はうまく使えていないリソースを活用して,イノベーション
を起こす可能性を持っているってこと.

# 似たようなこと書いてるページがありましたら教えてくださいませ m(_ _)m

続きを読む

2007-12-06 Thu

_ OpenSocial のキラーアプリ [opensocial]

話題の OpenSocial ですが,正直,アプリケーションが見えてこなくてパッ
としないなぁと思ってました.

そんな中,12/1 に手嶋屋で行われた OpenPNE 勉強会の中継に耳を傾けて
いました.OpenPNE を使って小さな SNS を運用していたり,過去に認証
API 関連のパッチを commit したこともあって,OpenPNE の動向はちょく
ちょくチェックしています.

勉強会のテーマは OpenSocial のアプリケーションでした.最初のうちは,
名刺サービスや SNS 引っ越しの簡易化といったありきたりな案しか出てい
なかったのですが,勉強会も半ばにさしかかったあたりで気になる意見が
出ました.

「メッセージはどうだろう?」

続きを読む

2007-12-03 Mon

_ Atom と GData と OpenSocial の関係 [atom][atompub][gdata][opensocial]

(追記)
2008年2月27日に発表された OpenSocial RESTful APIs には,「新ドラフ
トが採用されれば,過去に提案した GData ベースの API を変更する」と
あります。その場合,OpenSocial に GData 拡張が含まれない可能性があ
りますので注意してください。

OpenSocial は Google Data APIs (GData) をベースにしているそうです.
そして,GData は Atom をベースにしています (いくらか違い
[2007-11-29-1] はありますが).

ややこしいので,関係をまとめてみました.

■ データ表現

下表はデータ表現 (XML 要素など) の関係です.下から上に向かって順に
拡張されています.

OpenSocial データ表現拡張
Google Data APIs - elements データ表現拡張, JSON
Atom Syndication Format 基本的なデータ表現

Atom は <feed> や <entry>, <title> といった基本的なデータ構造を定
めています.仕様書の和訳は↓にあります.

RFC 4287 The Atom Syndication Format 日本語訳 - futomi's CGI Cafe

GData では,人やイベントを表すための拡張が行われました.仕様書の和
訳は↓にあります.

たけまる - GData/CommonElements

# なお,GData は対象サービスごとにさらに独自の拡張があります.たと
# えば,YouTube API では動画の長さを表す要素などが追加されています.

また,XML から JSON への変換方法も定められています.Perl であれば,
Google::Data::JSON モジュールで GData に従った変換ができま
[2007-02-22-1]

さらに,OpenSocial では,位置や Activity (日記を書いたり動画を投稿
したりといった活動全般) についての拡張が行われる予定です.

■ プロトコル

下表はプロトコル (通信方法や URI) の関係です.下から上に向かって順
に拡張されています.

OpenSocial URI 拡張 (path)
Google Data APIs - basic URI 拡張 (検索クエリ), 認証
Atom Publication Protocol 基本的なプロトコル, URI

AtomPub は,基本的な通信プロトコルを規定しています.HTTP メソッドや
URI の使い方を定め,リソースの CRUD を可能にしています.仕様書の和
訳は↓にあります.

ソフトウェア研究開発本部 / RFC 5023 Atom Publishing Protocol 日本語訳 - Ricoh Japan

GData は検索のためのパラメータを決めています.おなじみの q=foo とい
うクエリで検索語を指定したり,updated-min=2007-01-01T00:00:00Z のよ
うに日時を限定することもできます.GData 風クエリを使えるブログ検索
API を [2007-06-23-1] で公開していますので,それを使うとどんなクエ
リを投げれるか何となく掴めると思います (今回,少し修正しました).
GData 仕様書の和訳は↓にあります.

たけまる - GData/Protocol

さらに,OpenSocial では,URI の Path 部分でユーザやデータの key を
指定できるようになりそうです.

# といいつつ,OpenSocial group をちょっと覗いたところ,上で触れてな
# い (Atom と関係ない部分の) Google Gadget 関連がかなり多いかも.

2007-11-04 Sun

_ OpenSocial について雑感 [opensocial]

OpenSocial について思うことをいくつか.

追記: いろんな意見があった方がいいと思うのではてブから貼り付け
     (有名人からもらったコメントでクォリティをあげるメソッド ;-)
(miyagawaさん) 広告云々は全然関係ないと思うのだが・・Google Gadget
に脚光を浴びせるのはまさにそう。というか原点がそれ

■ なぜいまなのか

これは言うまでもなく,Facebook が Microsoft の出資を受け入れたこと
に対抗して,焦って発表したんだろうと思ってる.

焦ってというのは,API Document を読むと,"まだ十分に準備できてない
けど発表しちゃった" 感が少しあるような気がするんだよなぁ.おかしな
点もあるし,URI に統一感が乏しいし,development kit はまだ配布でき
ないみたいだし.

とはいえ,多くの SNS 企業が乗ってきたことで業界の様子が一変したのは
間違いないし,Microsoft はこの発表を聞いてどうするのかなぁ.

■ SNS 企業は何をしようとしているのか

SNS っていうのは closed な世界が特徴で,data と view が一体になって
いたわけです.OpenSocial はこれを分離しようという目論見です.

Google は SNS の data をほとんど持っていません.なので,SNS に広告
を出すことができませんでした.当たり前ですが広告は view にくっつき
ます.data から view を切り離すことで,Google にも広告を出すチャン
スが出てきます.というわけで,Google が OpenSocial を提唱するのはよ
くわかります.

一方で,SNS 側のメリットは微妙です.よくここまで多くの SNS が乗って
きたなぁと思います.その理由はこんなとこでしょうか.

- 長い目で見れば,SNS は少数に集約されるかオープン化の道をたどる
- OpenSocial に賛同しても,当面,ほとんどのユーザは今まで通りの
  view (HTML) を使う (ほとんどの SNS ユーザは geek ではない)
- 直近のリスクは低く,将来に備えられるので,OpenSocial に賛同する

Google と SNS の間で,広告に関する取り決めはあるんだろうか? 広告料
収入は SNS と折半するのかなぁ.

■ mixi が Google で検索可能になるのか

Twitter でこんなコメントを見かけました.

Twitter / プーさん: OpenSocial に賛同するってことは, Goog...
OpenSocial に賛同するってことは, Googleの検索対象範囲に含まれるって
ことなんじゃないかな。

単に SNS 内の検索エンジンを Google にするのであればともかく,
www.google.com の検索窓から他のページと同じように検索できるようには
ならないんじゃないかなぁ.そうするには,ユーザと SNS の間で契約事項
を変更しなきゃいけないような気がする.

あと,ユーザごとに検索スコープを設定する (検索可能なページを限定す
る) というのは,それなりに検索コストが高くなるので (アルゴリズムは
難しくないけど),いくら Google とはいえすぐには難しくないかなぁ.

Gadget にデータを表示するときに "データに合わせた広告を貼り付ける"
くらいならあると思う.

■ SNS ソフトウェア

OpenSocial 賛同企業に,手嶋屋 (OpenPNE) のような SNS ソフトウェア開
発元が含まれているのか知らないのですが,彼らにとってはメリットが大
きいように思います.

OpenPNE のような SNS ソフトウェアは企業などで使われることが多いです.
たいていの場合,企業にはすでに文書などの資産があり SNS と連携させた
いのですが,一般的な API がないために実現が難しいです.僕なら,
OpenSocial に対応した SNS ソフトウェアは優先的に使いたいです.

SNS に OpenSocial を実装するためには,Google が提供する
development kit を使います.これを入手するためには,OpenSocial
Container Google Group で連絡してくださいとのことです.

OpenSocial Container Developers - Google グループ

■ 隠れた思惑

大したことではないけど,いまいちパッとしない Google Gadget と
Google Data APIs に脚光を浴びせたいという思惑もある気がする.
Referrer (Inside): [2007-11-15-1]

2007-11-04 Sun

_ OpenSocial Protocol [opensocial][gdata][atom][atompub]

あちこちで話題になっているように,Google が OpenSocial を発表しまし
た.

グーグル、SNS向けAPI「OpenSocial」を発表:ニュース - CNET Japan
Open Social : ソーシャルネットワークを、どのウェブサイトにも:Goodpic
OpenSocialって? - Ogawa::Memoranda

API Document が提供されているので (まだプレビュー版だという注釈はあ
りますが),ざっと眺めて protocol についてのメモを作ってみました.ホ
ントにざっとしか見ていないし,サンプルを動かしてもいないので,間違
いがあると思います.追々アップデートしていくつもりですが,気づいた
方がいましたらコメントください.

なお,ここではプロトコルについてのみ書きます.言葉をかえると,実装
に依存する部分 (具体的なプログラミング方法) には触れていません.そ
れについては " 気が向いたら書くかも" くらいのつもりです (^^;

続きを読む

Referrer (Inside): [2007-11-29-1]