Firefox のフィードアイコンのメニュー2007年01月19日 18時46分

気づいたら「Another 朝顔日記 - Re:複数のフィードと Mime タイプ」で補足してくださっているのですが、せっかくいろいろと調べて長々と書いたものをこのままハードディスクの肥やしにするのも惜しいので、蛇足ながら以下書き上げたまま掲載します。

複数のフィードと Mime タイプ - Mozilla Firefox Thunderbird の拡張あれこれ-MEMO」に関して。前回はひとつの記事内で書いたので混乱を招いてしまったようですが、「なお、通常の Firefox において」以下は Enhanced Feed Preview とは関係ない、素の Firefox のロケーションバーのフィードアイコンの動作について述べたつもりでした。ですが私自身調査が及ばず誤ったことを書いていたので、ここにまとめなおしたいと思います。

ある Web ページ中にフィードを参照する link 要素が含まれる (以下「ページがフィードを持つ」と表現します) 場合、ロケーションバーにフィードアイコンが現れます。ページがフィードをひとつだけ持つときは、フィードアイコンをクリックするとそのフィードがプレビュー表示されます。

さて、問題となるのはページが複数のフィードを持つ場合ですが、ここでフィードアイコンをクリックしたときの動作は Firefox 2 と trunk (Minefield) で異なります。trunk の場合は単純にすべてのフィードがポップアップメニューに表示され、その中からひとつ選択するとそのフィードがプレビュー表示されます。

そして Firefox 2 の場合ですが、これは種類ごとのフィードの数によって異なってきます。各種類のフィードの数がすべて同じならば、自動的に一種類が選ばれその種類のフィードがポップアップメニューに表示されます (各種類のフィードの数がすべてひとつならば、選ばれたひとつのフィードがプレビュー表示されます)。そうでなければすべてのフィードがポップアップメニューに表示されます。ここで種類というのは link 要素の type 属性により決定されます。同じ RSS であっても type 属性に application/rss+xml と指定されたものと application/xml と指定されたものでは違う種類とみなされます。

たとえば、あるページが Atom フィードを m 個、RSS フィードを n 個持っていたとしましょう。m = n ならば自動的に Atom が選ばれ (種類の選び方についてはここでは触れません)、m 個の Atom フィードがポップアップメニューに表示されます。mn ならば Atom フィード m 個と RSS フィード n 個がすべてポップアップメニューに表示されます。m = n = 1 ならばフィードアイコンをクリックすると Atom フィードがプレビュー表示されます。

どうして複数の中から一種類だけ選ぶのかといえば、利用者を混乱させないためです。複数種類のフィードが同じ数ずつある場合、それらは同じ内容のものが異なるフォーマットで提供されていると考えられます。同じ内容のものを選ばせるのは利用者の手間を増やすばかりなので、Firefox が代わりに重複を取り除いてくれるというわけです。

これが効果的に働いているのが元記事で触れられていた「Carnet Web de Pascal」の場合です。このページは「RSS」「Atom」「RSS-English Only」「Atom-English Only」と四つのフィードを持っていますが、このうち「RSS」と「Atom」、「RSS-English Only」と「Atom-English Only」はそれぞれフォーマットが違うだけで内容は基本的に同じものです。フィードのことをよく知らない人にとって、RSS か Atom かを選べといわれても困惑するばかりでしょうが (ましてやどちらを選んでも同じ内容ならばなおさら)、英語のみかそうでないかを選べというのなら自分の目的にかなったものを選択できるでしょう。

しかし、この方法では Atom で全文提供、RSS でタイトルのみ提供している場合などに、誤って内容の重複と判断されてしまいます。そこで、trunk では Bug 309085 によりこの機能を外し、すべてのフィードがポップアップメニューに表示されるようになっているのです。