yohei-y:weblog

XML と REST/Web サービス関連の話題が中心の weblog です

2005-07-31

Web らしく URI で連携する方向

前のエントリで触れた ID だけのディスカバリの問題点ですが、 他にもこんなのもあります。

僕が自分のブログにはてな ID を埋め込んだとして期待するのは、 ブログを訪れた人が自分のブックマークやアンテナを見に来てくれたり、投げ銭してくれたりすることです。 でも僕がはてなで何を使っているかは僕にしかわかりません。 僕の場合はてブはてアは使ってるけど、 はてダは更新を止めちゃった、はてフは知らん、という状況です。 もしかしたらアサマシは嫌いだから投げ銭してほしくない、という人もいるかもしれない。

これって「はてなID」の埋め込みだけでは実現できません。 自分ははてなのこのサービスを使っているよ、という主張をできないからです。

ではどうするか。 自分ははてなのこのサービスを使っているから見に行ってね、という宣言をしたらどうでしょう。 head 内で宣言するんだったらこんな感じ。

<link rel="hatenab" href="http://b.hatena.ne.jp/yohei" />
<link rel="hatenaa" href="http://a.hatena.ne.jp/yohei" />

body 内部で a タグに書くのであればこんな感じ。

<a rel="hatenab" href="http://b.hatena.ne.jp/yohei" >はてぶ</a>
<a rel="hatenaa" href="http://a.hatena.ne.jp/yohei" >はてあ</a>

ここまでくると、別にはてなに限らないでもいいのではないかという気がしてきます。 たとえば僕の場合、使っていると宣言したいサービスは

  • hatenab
  • hatenaa
  • flickr
  • bloglines
  • delicious
  • mixi
  • blogger

なので、head はこうなります。

<head>
  <link rel="hatenab" href="http://b.hatena.ne.jp/yohei" />
  <link rel="hatenaa" href="http://a.hatena.ne.jp/yohei" />
  <link rel="bloglines" href="http://www.bloglines.com/public/yamamotoyohei" />
  <link rel="flickr" href="http://www.flickr.com/photos/60043209@N00/" />
  <link rel="delicious" href="http://del.icio.us/yohei" />
  <link rel="mixi" href="http://mixi.jp/show_friend.pl?id=173690" />
  <link rel="blogger" href="http://yohei-y.blogspot.com" />
</head>

a タグだったらこうなります。

<a rel="hatenab" href="http://b.hatena.ne.jp/yohei">僕のブックマーク</a>です。
<a rel="mixi" href="http://mixi.jp/view_profile.pl?">mixi</a>も使ってるよ。
<a rel="payment hatenagesen" href="http://nagesen.hatena.ne.jp/yohei">投げ銭</a>よろしく。

この rel= はいわゆる microformats ですね。 link タグなら Atom feed にも同じように入れられます。

rel 属性の値が各サービスごとに違うのがいいのか、 もっと別の値がいいのか、そもそもこんなことがやりたいのか、やっていいのか、という話はありますが (^^; URI で繋がるという方向性もある、ということを認知してもらえたらと思います。

ラベル: , , ,

9 Comments:

At 2005年8月14日 20:36:00 JST, Anonymous おのひろき said...

「<a rel="mixi" href="http://mixi.jp/view_profile.pl?">mixi</a>も使ってるよ。」なんてのは,microformats としての条件を満たしていないと思う.rel="mixi" ってのは href="http://mixi.jp/view_profile.pl?" に対してなにも情報を足していないのでは?

 
At 2005年8月14日 20:55:00 JST, Blogger yohei said...

あーすんません。リンク先はその前の例でも使ってる http://mixi.jp/show_friend.pl?id=173690 のつもりでした。

 
At 2005年8月15日 13:34:00 JST, Anonymous おのひろき said...

いや,rel="mixi" とか rel="hatenab" ってのが問題だと思います.

http://onohiroki.cycling.jp/2005-08-15-1#d20050815n1

 
At 2005年8月15日 21:18:00 JST, Blogger yohei said...

おのひろきさんが挙げられた URI を読みました。
まず、僕がこのエントリで言いたかったのはタイトルのとおり、 ID で連携するんじゃなくて、URI で連携する方法もあるし、その方が Web らしいと思うということです。ちなみに Web らしいというのはクライアントとサーバのお約束が少なくなる、いわゆる結合が疎になるという意味です。
ということで microformats 的な例は十分考え揉んだものではないので、そこをあまり突っ込まれても困るんですが。

でもまあ、いちおう反論してみると、プロファイルが必要というのはそのとおりだと思います。ちゃんと使うんならそのとおりです。でも個々のサービスごとに rel 属性の値を決めてはいけない理由はなんでしょうか? HTML 4.01 で定義されている rel="Bookmark" で指定されるブックマークと、その記事の著者のソーシャルブックマークとはちょっと意味が違うんじゃないかと思うのですが。
で、対案として rel="mysocialbookmark" でまとめるのと rel="hatenab", rel="del.icio.us" を分けるのとどっちがいいんでしょうか。もちろんプロファイルを定義するとして。
どちらもメリットとデメリットがあるし、作りたいアプリケーションやサービスを考えながら、落しどころを考えるのが microformats 的だと思うんですけど、どうですか。現時点では僕はどちらがいいとはいえないです。だからこの記事でも「rel 属性の値が各サービスごとに違うのがいいのか」と断っているわけです。

 
At 2005年8月16日 13:47:00 JST, Anonymous おのひろき said...

エントリーの主題と違うところに突っ込みを入れているというはそのとおりですね.困るようなところに突っ込み入れて申し訳ない.

「で、対案として rel="mysocialbookmark" でまとめるのと rel="hatenab", rel="del.icio.us" を分けるのとどっちがいいんでしょうか。もちろんプロファイルを定義するとして。」という点は,新たなサービスがでいるたびに profile を新たに定義しなくちゃならないようなやり方は不利益が多いと思います.rel属性値でdel.icio.usと宣言しなくてもhrefで示すURIでdel.icio.usなのは明らかなのですから,rel属性値はmysocialbookmarkのほうが適切だとぼくは考えます.
いずれにしてもrel属性を利用することがすなわちmicroformats的ってわけではないと思います.

 
At 2005年8月16日 22:49:00 JST, Blogger yohei said...

うーん。
僕はどっちもありだと思うし、現時点でどちらが正しいとはいえないと思います。ソーシャルブックマークはまだいいかもしれないけれど、たとえばはてなにははてなブックマーク以外にもいろいろなサービスがありますよね。はてなアンテナやはてなアイデアなんてのもあります。そういうのはどうするか。hatenaa, hatenai は駄目? あるいは rel="mysocialbookmark hatenab" ってのだってありですよね。

今ある microformats の仕様 hCalendar や hCard はもともと iCalendar や vCard があったから比較的すんなり決まるわけですが、これから microformats がオリジナルのメタデータ仕様もたくさん出てくるわけです。現に microformats-discuss でもいっぱい提案されている。さらに言えば microformats 自身だって、たとえば Structured Blogging とか対抗馬があるわけで(僕自身は Structured Blogging より microformats がいいと思います)、今まさに熱くてこれからの技術なわけです。

なので、汎用的なのがいい、って気持ちはわからなくはないけれど、汎用性は使いづらさを伴いますよね。だから、現時点でそこまで教条主義的に決め付けなくてもいいんじゃないかなあと思うわけです。microformats はまだまだ発展途上で、どう作ってどう使っていくかはまさにこれから僕たちが決められる可能性があるのだから。

 
At 2005年8月17日 17:56:00 JST, Anonymous おのひろき said...

rel="hatenab" とある場合とない場合で,メタデータの抽出の仕方がどう変わるかを考えたら,あまりrel="hatenab"ってのは有効ではないのでは?
hatenabにマッチングするか b.hatena.ne.jp にマッチングするかの違いだから.
そして rel に属性値を増やすのには profile の変更/追加が必要なので,あとから属性値を増やしたくなったら面倒です.title 属性や class 属性は profile を気にしないで値を置けますよ.

rel="hatenab"って確かにまったく汎用的ではないですね.それでこのような記述をして得られるものが何なのかがわかりません.

「microformats はまだまだ発展途上で、どう作ってどう使っていくかはまさにこれから僕たちが決められる可能性があるのだから」だからこそ,ぼくは問題にしています.

http://onohiroki.cycling.jp/2005-08-17-2

 
At 2005年8月21日 17:24:00 JST, Blogger yohei said...

続きはまとめてこちら
http://yohei-y.blogspot.com/2005/08/microformats.html

 
At 2005年10月2日 6:28:00 JST, Anonymous 匿名 said...

このコメントはブログの管理者によって削除されました。

 

コメントを投稿

Links to this post:

リンクを作成

<< Home