ブックマーク機能とかフィードリーダーとか

要約

 ブラウザのブックマーク機能は昔から僕のニーズに合っていません。だいたい後で「どこかで見たんだけど、どこだっけ」というのを探す羽目になります。そもそも今見ているウェブページが後で再び必要になるかどうかをその場で判断させようというのが間違っていると思います。今時ディスク容量なんて大量にあるのだから、ブラウザはユーザーが見たページを淡々と記録していってくれればよいのであって、そこから後で必要になった情報を検索する方法さえ用意しておいてくれればそれでいいのです。ウェブサイトの更新の検査も同様で、いちいちユーザーがこれはブログだからフィード、これはブログでないからアンテナなどと指定しなくても、勝手に調べておいてくれればいい。それでサーバーの負荷が問題になるなら、更新情報を共有する仕組みなり、更新情報をウェブサイトの側がプッシュする仕組みなりを整えればよくて、そのための道具は既に用意されています。メーリングリストかネットニュースと電子署名を組み合わせるだけでも可能でしょう。誰でもいいのでさっさと作ってください。

閲覧者の不満

ブックマーク機能の間違い

 ウェブブラウザーにはほぼ例外なくブックマーク機能 (Internet Explorer でいう「お気に入り」機能) があります。基本的には、今見ているウェブページが後で必要だと思ったらブックマークを追加します。こうすることで、いちいちアドレスを覚えずに済む、というのがブックマーク機能の役割です。

 ですが、実際に使っていると、どうにも融通が利かないように感じます。「今見ているウェブページが後で必要だと思ったら」というのは、程度問題です。商品購入の予約のページのように絶対必要になるページと、間違って訪れた迷惑宣伝ページのように絶対必要にならないページの間に、様々なページの「必要度」が連続的に分布します。どの程度必要度が高いページをブックマークすればよいのか、よくわかりません。ここでさじ加減を間違えると、「前に見たあのページ、ブックマークしなかったなあ、どこだっけ」と探すことになったり、「前に見たあのページ、ブックマークしたけど、ブックマークが大量にあって見つからないなあ」となったりします。

 今のブックマーク機能のデザインは、ユーザーに「後からこのページが必要になると思うか」という (正しく答えられるはずがない) 問いを投げかけるものになっているため、使いにくいのは当然です。

必要になった瞬間に消えるキャッシュデータ

 ブラウザーには (これもほぼ例外なく) キャッシュ機能があります。一度表示したページをディスクに保存しておき、次に表示するときに内容が変わっていなければいちいち取得しなおさずにディスクに保存されたデータを表示する機能です。ところが、せっかくキャッシュされているのに、なぜか必要なときには使われないという事態が起きるのが気に入りません。

 例えばこういう場合です。あるウェブページに載っている情報が役に立つと思って、ブックマークしました。ブラウザーはブックマークする・しないに関わらずページの内容をキャッシュするのが普通です。次にその情報が必要になったとき、ブックマークから同じページに飛んだら、悲しいかな僕が必要だと思っていた情報はページから消えていました。きっとページの著者はその情報に意味がないと思ったのでしょう。しかし、僕はその情報こそが必要だったのです。ウェブサーバーにアクセスできなかったりページが削除されていたりする場合は、一時的にブラウザーを「オフラインモード」にして同じページにアクセスすることでキャッシュの内容を表示できます。しかし、ページが残っていて内容が変わっていた場合は、もう以前のキャッシュは消えてしまっているので、僕が見たかった情報は見ることができません。僕がそのページにアクセスする直前まで、ディスクの中に必要なデータは残っていたはずなのに!

 ネットワークを通して同じ情報を何度も取得するのは、ユーザーの時間とサーバーの処理能力とネットワークの帯域の無駄なので、キャッシュは重要です。でも、キャッシュとして保存しているデータはもっと利用価値があるはずです。単にキャッシュだけで終わらせるのはもったいないと思います。

 ついでに書くと、 Internet Explorer 6 ではキャッシュを定期的にクリアしないとブラウザーの動作が不安定になります (IE 7 がどうかは知りません) が、そんなつまらない理由でキャッシュをクリアする必要があるのは、問題の本質ではありません。今時ディスクの容量なんて大量にあるので、キャッシュをクリアする必要など本来はありません。人が 1 年に見るウェブページなんて全部合わせても数十ギガバイト程度だと思います。もしその情報を有効に活用してくれるなら、僕は定期的にディスクを買うくらいのことはしてもいいと思っています。

更新チェッカー・アンテナ・フィードリーダー

 個人サイトだと、長期間更新されないことはよくあります。ほとんどの場合はそのまま消滅するのでしょうが、たまに 1 年以上更新されていなかったページが突然更新されることがあります。僕のブラウザーのブックマークには 1 年以上更新されていないページが 100 以上あると思います (数えていませんが)。これをいちいち見てまわるのは面倒なのでしたくありませんが、更新されたらそのことを知りたいのです。それをするための更新チェッカーという種類のソフトウェアもありますし、はてなアンテナのようにウェブページの更新を調べてくれるオンラインサービスもありますが、これがブラウザーのブックマークと一体化していれば楽なのに、と思うことがしばしばあります。

 最近はブログツールの普及で RSS 1.0、 RSS 2.0、 Atom などのフィードの形で更新情報を配布しているサイトが増えてきました。フィードの更新チェックはウェブページの更新チェックと本質的に何も変わりませんが、普通、フィードの更新はフィードリーダーでチェックし、ウェブページの更新は更新チェッカーまたはアンテナでチェックすることになっています。どうして分かれているのか、技術的にはいろいろあるのでしょうが、ユーザーとしてはこの二つが分かれていて嬉しいことはないように思います。

ウェブサイト運営者の不満

 閲覧者が更新チェッカーを下手に使うと、サーバーに負荷がかかるので、ウェブサイトの運営者にとっては迷惑です。 1 万人が 3 時間に 1 度更新をチェックしてきたら、それだけで平均 1 秒に 1 度程度のアクセスがあることになります。これを 50 個のページに対してやられたら、サーバーの規模によってはもう迷惑になる範囲に入っているかもしれません。このような問題を解決するために、日本ではアンテナというソフトウェアが作られました。これが日本で作られた理由は、たぶんブログツールの普及以前に個人の日記サイトが日本にはたくさんあったことが関係あると思います。アンテナは、更新チェッカーと同じようにウェブページの更新情報を取得しますが、更新チェッカーと違いオンラインサービスなので、ウェブサイトの更新情報を誰でも読めます。すると、 1 万人が自分のコンピューターで更新チェッカーを動かす代わりに、例えば 10 人がアンテナを用意して、 1 万人が 10 個のアンテナのどれかにアクセスすることで更新情報を知ることができます。こうすれば、サーバーの負荷の問題は解決できます。さらに、アンテナどうしが更新情報を交換するための仕組みも用意され、同じページの更新情報を複数のアンテナが取得しに行く必要はほとんどなくなっていました。

 でも、更新チェッカーにしてもアンテナにしても、基本的にはプル型のシステムであり、サイト運営者が「更新したよ」というのを閲覧者に伝える方法はありません。そこで、人によってはウェブサイトを開設するとともにメーリングリストを用意して、更新情報をメールで配信しています。

 今では、フィードという形で更新情報が提供されるようになって、さらに Bloglines など多くのオンラインのフィードリーダーでは、サイト運営者からフィードの更新情報を受け付ける ping 機能が実装されているので、大手のオンラインフィードリーダーを使っていれば、更新が素早くわかります。ただ、新しいオンラインサービスは次々に始まっているので、「大手のフィードリーダー」のリストは随時更新しておく必要があります。

 メーリングリストで更新を知らせていたときは、更新情報を受け取りたい人が勝手にメーリングリストを購読し、購読者が増えても減ってもサイト運営者がすることはメーリングリストにメールを投げるだけで変わりませんでした。どうして同じ仕組みがフィードの ping では使えないのかという疑問が浮かびます。

改善案

 ということで、ブックマーク、キャッシュ、フィード、アンテナ、メーリングリストと、必要な道具はすべて揃っているように思います。誰かがこれらをうまく融合してくれれば、今までとは全然違うウェブの使い方ができるようになると思うのですが、誰かやってくれないものでしょうか。

 プル型のシステムからプッシュ型のシステムに移行するには、「プッシュしているのが本物のサイト運営者であること」を証明する必要があります。もし更新の通知にメーリングリストを使うなら、メールの送信者が本当にサイト運営者かどうかという点です。これは認証の問題であり、解決するには送信者の IP アドレスを制限する方法や電子署名を使う方法があります。

 このように、必要な道具はすべて揃っているように見えるのに実現されない背景には何があるのでしょうか。

2007 年 2 月 6 日公開。著者: fcp / このサイトについて