Permalinkという概念が浸透して、比較的最近作られたようなウェブのサービス上にあるリソースには、そのリソースを一意に表すことのできるURLが割り当てられているようになりました。このブログの記事を表すURLはhttp://labs.gmo.jp/blog/ku/2008/06/fav.htmlで、このURLにアクセスすればこのページがなくなったりしない限りは"多くのサービスに見られるコンテンツに対するfavという概念"について書かれた文章が得られます。このブログにある記事が増えたり減ったりしても、この記事を表すURLは変わりません。
read/write
ひとつのリソースに普遍的なひとつのURLが割り当てられていれば、そのURL自体をIDにしてリソースを読み書きすることができます。以前
デバイスドライバ/FUSEのrestfs/SITEINFOの役割比較で触れた
RESTfsはその前提の上に立つことで、ウェブのサービスをファイルとして読み書きする機能を提供しています。
RESTのAPIが提供されていないウェブのサービスであっても、ユーザがウェブ上でコンテンツを公開したりするためのサービスは、コンテンツひとつひとつを表すURLと、そのコンテンツに対する読み込みと書き込みの概念が存在します。
コンテンツの読み込みは、ふつうにブラウザでそのコンテンツがあるページを閲覧することです。コンテンツの書き込みは、そのサービスが受け付けることのできる形式のリソースをサービスにアップロードすることです。YouTubeであればビデオを投稿することが書き込みにあたります。Flickrであれば写真のアップロード、twitterであればなにかつぶやいてみること、ブログであれば記事を書いて投稿すること、del.icio.usであればブックマークを新しく作ることです。
このように多くのウェブのサービスはread/writeすることができます(writeはともかくreadできないサービスはないでしょう)。
fav
多くのウェブのサービスではread/writeのほかにもうひとつコンテンツに対して広く行われている操作があります。何がきっかけなのかわかりませんが、いまでは多くのサービスでそのコンテンツが気に入ったことを表すために
favoriteマークをつけることができるようになっています。
- YouTube
-
YouTubeにはそのビデオが好きだった時に♡マークのFavoriteボタンを押すと、自分のお気に入りのビデオのリストに追加されるようになっています。
- Flickr
-
Flickrには☆マークのFAVESボタンがあります。これも自分のお気に入り写真のリストに追加されます。
- Twitter
-
Twitterにも☆マークで"Favorite this update"というボタンがあります。星をつけると自分のお気に入りリストに入ります。ふぁぼったーというtwitterのお気に入りを集計しているサイトもあります。
- ブログ
- ブログには上に挙げたサービスのように、その投稿が気に入ったことを表すための機能はありません。そもそもその気に入った投稿が書かれているブログが自分のブログでない限りは、書き込むことができません。そのため、ブログの投稿を自分のお気に入りとしてリストしていくには、原理的に外部のサービスに頼る必要があります。
そのお気に入りのブログの投稿を管理するための外部のサービスが、古くからあるブラウザのブックマークであり、現代的なものではdel.icio.usのようなソーシャルブックマーク、はてなスターやdiggやstumbleuponのような、おもしろかったらボタンを押す、サービスがあります(stumbleuponとdiggには"おもしろくなかった時に押すためのボタンもあります)。
- del.icio.us
- ひとつ上のブログのところで述べたように、del.icio.usがfav機能を持たないコンテンツに対してfavするためのサービスとして存在していて、投稿されるものがコンテンツであるという認識に立っていないからか、del.icio.us自体にはコンテンツである投稿されたブックマークひとつひとつに対するfavに相当する機能はありません。それはdel.icio.usがfavできないサービスに対するfavを保存しておくためのサービスだと考えることができるからかもしれません。del.icio.usが持っている、ひとつひとつのブックマークというコンテンツに対してfavをつけることはできないものの、ブックマークをしている人を "add to your network" することができます。
人を自分のネットワークに追加すると、your networkというページでネットワークに入っている人がポストしたブックマークの一覧に表示されるようになります。
"ひとつのURLに結びつけられたリソースに対する操作としてのfav"ではありませんが、そのユーザをひとつのリソースとしてとらえればfavとして考えることもできます。
サービスにfavという概念がないかで見てみるとamazonにも気に入った商品のリストを作るための
ほしい物リストがあり、gmailにもメールに☆をつける機能があります。
last.fmでも"Express love for this track"があり、
FriendFeedにも"like"があります。
まとめ
だからなにということもなくそれだけですが、ファイルシステムとしてマウントすることが可能なくらいファイルシステムと同じ性質を持っているインターネット上のサービスに、ファイルシステムには存在しないfavという概念が広く存在していることがおもしろいなと思いました。
RESTfsでそれぞれのサービスのread/writeをラップして一元的にread/writeできるのと同じように、それぞれのサービスにあるfavをラップして一元的にfavすることもできそうです。
comments