2008年7月10日木曜日

勝手アンカー

人にWebページを紹介したいときに、相手にはそのページの特定の箇所にダイレクトにアクセスしてほしいことがありますよね。

紹介したいページが自分の作ったページならアンカーを設定するわけですけど、他人の作ったページではそうはいきません。

そんなとき、人のページに勝手にアンカーを設定できるようにならないのかなあ、と思いませんか。そう、勝手アンカー。無断アンカーといってもいいかもしれない。

なんかいい手はないものか。

いちばん最初に思いつくのは、Googleのキャッシュとか、Web魚拓とかがありなら、紹介したいページのキャッシュを勝手アンカーつきで保存してくれる Web アプリというのはどうかと。

でも、そういうキャッシュはお断りっていうサイトも多いでしょうしね。下手したら怒られますね。

すでに、エクステンション、アドオン、プラグインを使って、Webページの任意の箇所をハイライトしたり、ノートをつけたりして、それをみんなで共有できるっていうのはありますよね。
あれは近い。

近いけど、ああいうのは、自分のためのブックマークという動機から出発しているからありえるんですよね。共有はその後の話であって。人にちょっとリンクを紹介したいだけで、特別なツールの導入を前提にするなんてありえない。

大上段なとこで、もうURL/URIの仕様を拡張しちゃうってのはどうだ。リソースの任意の箇所をリンク先として指定する方法として、アンカーの他に、Xpath のような記法でDOMツリーの任意のノードを指し示せるようにしてはどうか。

それで、主要なブラウザがみんなサポートするのを待つ。だめか。

あと完全にどうかしてる話なんだけど、一応いっておくと、bookmarklet とか、greacemonkey とかにするような小さい Javascript のコードを、なんとリンクに添付できるようにして、信頼してもいいって人はリンク先を表示中に添付されてきたコードを実行する、みたいなことにならないかな、ってそんな危ない話はないですね。

じゃあ、もうリンクはあきらめる。そのかわり、将来のアンカー設置個所の候補を投稿できる Web アプリをつくる。

アンカーを埋めたい箇所っていうのは、ページの隙間なんじゃなくて、本来コンテントですよね。テキストノードか、コンテントとしての外部ファイルか。隙間にアンカーを設定することが多いような気がするけど、アンカータグを考えた人はコンテントをそれでマークアップすることを想定していたはず。

テキストノードならその一部を、外部ファイルならそのファイル名を、対象となる URL とともに投稿する。Web アプリは対象ページを調べて、確かに投稿されたコンテントが存在していれば投稿を受付け、将来のアンカー候補にURI を与える。その URI にアクセスすると、対象のページへのリンクとともに、検索エンジンのスニペットのようなかんじで、紹介したい人が紹介したいと思った箇所のコンテントが表示される。

サイト名、ページのタイトル、URLで検索すると、ヒットしたサイト、ページに対して、いろんな人が投稿したアンカー候補がリストされたりして。見た目はまるで検索エンジンの検索結果なんだけど、スニペットがみんな誰かが直にリンクしたいと思った箇所のコンテント。人に紹介したいと思った箇所に、すでに他のだれかがアンカー候補を設定してくれていれば、そのURIを紹介すればいい。

これを将来のアンカー候補だと言い張っていれば、たくさん候補が提案されているサイトの Web マスターなんかはだんだん気になっちゃって、いつか本当にそこにアンカーが設定されるかもしれない。なんて。

いや、そこまではやらなくても、必要に応じてときどき使うツールとして地味に存在してくれていると、結構便利かなあと思うんですけど、どうでしょう。

でも、ここまでぐだぐだ書いといてなんですけれども、実は、ブログとともに普及した、1トピック1リソースの「エントリー」という単位こそがこの問題に対する最良のソリューションだったんですよね。エントリーはファイル=ページよりも一段抽象度が高くって、URIやRESTだとかでいうところのリソースというものに正確に対応してますよね。世の中こっちがベースになるなら無断アンカーなんていらないや。

というわけで、無断アンカーいらない、という結論になっちゃいました。

-----------------
sent from W-ZERO3

0 件のコメント: