2005-07-23

Hatena ID Auto-Discovery について

昨日は SIGMOD-J の大会に行った後にアルファギークなお二人と食事をしてきました。

大会ではやはり naoya さんの Web 2.0 についての話が一番面白かったです。 周りにいた人の反応も一緒でした。

ちなみに僕は naoya さんは初対面。 食事に途中参加の高林君とはちょうど4年ぶりだったことが今判明。オリンピックみたいだ:-)。

naoya さんは普段から blog やブックマークを見ているので、ぜんぜん初対面な気がしなかったんですが、 僕としては REST だの Folksonomy だの microformats だのといった単語をガンガン喋ったり聞いたりするのが新鮮かつエキサイティングでした。 やっぱり直接会って話すのは大切だと実感です。

以下本題です。僕は話題に出遅れてしまったんですが Hatena ID Auto-Discovery について。 naoya さんには直接喋ったんだけど、 酔っ払っててよくわからなかったと思うので、 もう一回ここに書いておきます。

まず、現状の仕様はこうですね。

<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="DC.creator" title="id:naoya"
  href="http://www.hatena.ne.jp/user?userid=naoya" />

で、僕が提案するのはこれ。

<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="DC.creator" href="http://www.hatena.ne.jp/user/naoya" />

二点提案があります。

最初は title 属性について。 例では title="id:naoya" となっていますが、 別にこれはなくてもいいのではないでしょうか。 DC の creator は href 属性で指定される URI で識別されるのであって、title 属性はあくまでも便宜上の助言的情報。 ならば、title 属性の内容はコンテンツ作成者に委ねた方が自由度が上がる、と考えられます。 もちろん id 記法が好きな人は title="id:yohei" としていいし、 そうじゃなくて title="YAMAMOTO Yohei" としてもいいし、 title="このページの作者のはてなIDです" とかしてもいいわけです。

次に href でリンクする先の URI についてです。 ひとつは ?userid=naoya というように、query string を使うのはどうだろう、という話。 もうひとつはこの URI が適切なのか、という話です。

こういう ID としての URI に query string が入っているとちょっとクールじゃないですね。 文字列長も長くなっちゃうし、何より query string はクライアント側でいじれる所がいかにも密結合的です。 ま、このケースはそんなに気にすることはないんですが、 僕のこれまでの感覚だと、はてなは URI がいつも綺麗だという印象があります。 はてならしさを維持するためにも、ここは query string を使わないほうがいいのではないでしょうか。

あとはリンク先の妥当性です。 はてなダイアリーの id 記法でリンクする先はそのユーザのダイアリーですよね。 その観点から id 記法との整合を考えると、ダイアリーを持っているユーザの場合は、 ダイアリーにリンクするのが最も適切ではないでしょうか。 ダイアリーを使っていないユーザはどうするのかという問題が残りますが、 それも id 記法でのリンク先にあわせるのがいいのではないでしょうか。

ということで、最終的には以下のような形になりました。

<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="DC.creator" href="http://d.hatena.ne.jp/naoya" />

2 件のコメント:

  1. cool URI はまさにそうですよね。はてな的には /user/naoya/ より /naoya/ かも。

    ダイアリー(d)での id 記法によるトラックバックは d にいきますが、例えばグループ(g)での id 記法のトラックバックは g にいきます。

    ちょっとわかりにくいかもしれませんが、はてなの考え方的には、www がはてなの全体で、各サービスはそのサブ空間、という感じです。それぞれのサービスは自分のサービスに閉じたスコープを持っていて、d で id:naoya とすれば d:id:naoya だし、g で id:naoya とすれば g:id:naoya...みたいな。

    なので URI の参照先は d にするよりもやっぱり www なのかなと。/user?userid=naoya を /naoya/ でもいけるようにひとまず ad-hoc に対応して、後日 /naoya/ をちゃんとした profile ページに仕立て上げるのがいいかな...と思いました。

    返信削除
  2. コメントありがとうございます。
    なるほど。id 記法の詳細や www と d の関係は理解しました。naoya さんのいうとおりだと思います。
    いずれにしろこの仕様はもう少し揉んだ方がいいでしょうね。

    返信削除