迷走するRSS

RSSはバージョンがいくつか存在することにより混乱しているのは周知の事実なわけですが、日本では一気にRSS配信ブームになったということもあり(多分)、仕様のちょっとした解釈の違いなどにより、パッと見には間違ってなさそうに見えるけど、実はRSSリーダーで解釈しにくいRSSが結構あったりするというような混乱もありますね。というようなことがNDO::Weblogでエントリされていたので、僕もそこらへんのことに関する雑感を書いてみようかと。

雑感ですよ、あくまでも。

この急速な拡大による混乱というのは大きく分けて3つの混乱を内包していると思います。

まずはRSS配信システムの開発者の混乱です。これはわかりやすくて、「ここではこういうRSSだけど、ここではこういうRSSか・・・。どういう風に配信すれば良いのだろう・・・。」というようなもの。バージョンの違いも含め、content:encodedを利用したリッチなものにするかとかどういう形のRSSを吐くかということなどです。blogツールの開発者の場合は、RSSの出力もテンプレートでユーザーが指定できるようにするなど、抜け道はあると思うのですが、ニュースサイトなどでRSS配信するシステムを作るとなると、どうするべきか混乱することは免れないと思います。

次にRSSリーダーの開発者の混乱。少し前にBloglinesの開発者が、「Bloglinesはフィードから出来うる限りパースしようと常に試みるだろう(see also: Liberal vs Strict Support of Atom)」、すなわちwell-formedであるかを意識せずに、と言っていたのが記憶に残っています(ここではAtomのお話ですが)。これは色々な意味でとても素晴らしいことなわけですが、コストは非常に大きなものになります。naoyaさんのエントリで触れられているように、ad hocな対応にせざるをえない場合が多いでしょう(厳密なXML/RSSパーサーを利用している場合は特に)。となると、どこまで対応すればよいものやら・・・という混乱は当然の結果となると思います。

最後はRSSの恩恵を受けることになるRSSリーダーの使用者の混乱です。ココに含まれる人達の多くは「HTMLがブラウザで読めるように、RSSはRSSリーダーで読めるもの」という当然と言っても良い感覚を持って、RSSリーダーを使用する(している)と思います。しかし、「ココのRSSが読めない」とか「ココのRSSはなんか変」などということに遭遇することは良くあるわけです。上記2つの混乱やRSSのバージョンの違いなどをある程度把握している人ならば、「んー・・・非対応か・・・」程度で済ませられる話なわけですが、そうでない人には「RSSって何!こんなんだったら普通にブラウザで巡回した方が良いじゃん!」みたいな(かなり大げさですが)ことになりかねない、現にそこらへんの混乱もあってRSSの配信が拡大するペースの割にRSSリーダーの注目度はさほど上がっていない(単にRSSリーダーへの注目度としたらとてつもなく上がっているとは思いますが)のではないかと。

色々な人が考えていることだと思いますが、これらの混乱は時が解決する問題ではないと思うので、放置したままだとまずいんではないかとか思ってしまうわけです。naoyaさんは、

セマンティックがどうこうとか、そういう方向ではなくて、クライアント開発者に adhoc な対策を強いる必要がなくなるよう、相互運用性を高めるための整理という意識で進めるのがいいんじゃないかと思います。

と、書いています。僕は、まずはRSSの配信側がRSSリーダーで読まれることをしっかりと意識して配信するということを中心に進めていくのがいいんじゃないかなと。現時点ではRSSリーダー側がかなりコストをかけていると感じているので、配信側が歩み寄ってやる必要がある段階じゃないかと。

長ったらしい雑感・・・。

ついでに余り好きではない配信のされ方のRSSを理由と共に上げてみます。

descriptionに改行無しで長文がぶち込まれている
RSSリーダーで文章の区切りを察知してくれというのですか。読む気起きないです。
itemのlinkに飛ぶとContinue reading
descriptionが要約のみで続きが気になり、link先に飛ぶとそこに続きがない・・・。読みますけど、読みますけどね・・・。
itemが追加される一方で、どんどんサイズが大きくくなる
いや、もうそんな古いの見ないし。見るにしてもRSSリーダーにログが用意されてたりするし。
HTMLタグを削除ではなくエスケープしているだけ
人間にHTMLがレンダリングできたら良いですね。

タイトルはローマ人の物語の最新巻である第12巻のタイトル、「迷走する帝国」からパクりました。まだ読み終わってないっす。。。