yohei-y:weblog

XML と REST/Web サービス関連の話題が中心の weblog です

2005-11-07

Windows Vista の RSS パーサは Well-formed XML のみサポート

Dare Obasanjo の blog で知ったんですが、 Microsoft Team RSS Blog より

Our years of experience in with HTML in Internet Explorer have taught us the long-term pain that results from being too liberal with what you accept from others. Hence, we’ve adopted the following overriding principle for IE 7 and RSS platform in Windows Vista: 

 We will only support feeds that are well-formed XML.

This principle allows us to build a more predictable feed parser. As a platform, it's important that applications using the platform to consume feeds can rely on the fact that the platform will always be providing information in the way that the publisher intended (trying to guess what a publisher meant to do when there is an error in a feed can be tricky, at best). We also spoke to several people in the RSS and developer community at Gnomedex and at PDC, and they wholeheartedly supported this.

IE7 と Windows Vista の RSS パーサは整形式(well-formed)の XML だけをサポートすると。 現在世の中で流通している RSS フィードがどれくらい well-formed なのか知らないのですが、 英断だと思います。

ラベル: ,

2005-07-17

Atom 1.0

Atom Syndication Format 1.0 が Tim Bray からアナウンスされましたね。

いろいろなところで言及されていますが、 XML cover pages がいつもながら一番まとまっています。 ちなみに RSS/Atom のこれまでの流れは Robert Sayre の記事によくまとまっています。

これで syndication format の本命は RSS 2.0 と Atom 1.0 に絞られたわけですが、 これからどうなるか注目です。 両者の比較は Tim Bray のもの(日本語版)がありますが、 はっきりいって機能的にはそんなに違いませんね。 Atom 1.0 の方が後出しジャンケンなので全体的にすっきりしていますが、 普及状態から言うと圧倒的に RSS 2.0 が勝っています。

Atom の方はもちろん syndication format 単体で使えるのですが、 APP(って書くと「アプリ」を想像されそうなので AtomPP) がそろって初めて本領を発揮でしょうから、 AtomPP の標準化までにどれだけ syndication format が普及しているかも重要です。

ちなみに Atom 1.0 フィードの実例を見たい人はここからどうぞ。 blogger は Atom 1.0 に対応してくれるのかなあ…

ラベル: ,

2005-06-10

REST -> AtomPP -> blog -> Permalink -> RSS/Atom -> Remixing (Ajax/Microformats/Folksonomy)

少し前の話だが、Blog Hackers Conference 2005 に行った。 miyagawa さんのキーノートも、naoya さんの講演も、キーワードは Web 2.0 (的なもの)だなという印象だった。

中でも特に気になったのはこのスライドで blog が missing piece を埋めた、という話だ。 こちらコメントにも書いたのだけれど、 ここでいう blog というのはいわゆる weblog system/service だけを指すのではなくて、 blog 周辺の技術 (RSS, Atom, AtomPP, REST, Permalink) が方法論として、プラットフォームとなる、というのがまっとうな解釈であろう。

僕自身もこのような Web 2.0 的なものが現在の主要な関心事になっていて、それをまとめたのがこの図である。

Web2

まず REST。 REST の詳細は REST 入門を見ていただきたいが、 ここでいいたいのは REST アーキテクチャスタイルの Web がすべての基本となる、ということである。 どんなサービスやアプリケーションを作るにしても REST は避けて通れない。

次に Atom Publishing Protocol (AtomPP; いわゆる AtomAPI) である。 AtomPP は REST で足りないところをきれいに補完するものだ。 RESTful Web で URI 経由でリソースに CRUD を適用できるようになっただけでは、まだ難しい。 AtomPP は REST の URI+CRUD でコンテンツをどう編集するかを具体的に規定した(する)プロトコルとして価値がある。 また AtomPP はその汎用性と拡張性から、 80/20 の法則で、ほとんどの Web サービスのベースとなるのではないかと予想する。

次に blog system/cms である。Wiki も含む。 これは REST ベースの AtomPP 上に実現された、まさにプラットフォームである。 blog/cms がもたらした効能はたくさんある。 まず第一に Web 上のコンテンツ作成の敷居を大幅に下げた点。 次に、(X)HTML の長年の夢である文書構造とスタイルの分離を推進した点。 さらにその進化版として、構造化文書+メタデータの作成を簡単にすることも期待される。 そして最も大きいのは各種最新技術のテストベッドとして、 アルファギークの格好のおもちゃとなっている点である。

Permalink は REST の思想のひとつだ。 すべてのリソースはそれぞれ URI を持つ。 もちろんこのときに "Cool URIs don't Change" であるべきだ。 この永続的な URI を手作業で作成・管理していくのは難しい。 昔ながらの Web サイト作りではどうしてもリンク切れが発生する。 しかしそれも blog システムや CMS の普及でツールに任せる時代がやってきた。 また、AtomPP はもちろん Permalink をベースとしている。

みなさんご存知の各種 RSS および Atom Syndication Format はコンテンツ配信、特に syndication が目的だ。 Permalink, blog, AtomPP と組み合わせることで、浮動的なコンテンツを実現する。 (TODO もうちょっと RSS/Atom の本当の価値を検討する必要があるな)

少し毛色が変わって Folksonomy は tagging やはてなブックマークのようなゆるいソーシャルサービスも含む。 こいつがすごいところは、コンテンツ作成者以外にコンテンツとメタデータ作成の門戸を開いたところである。 それまで、ブロガーが独占してきたコンテンツ作成という特権を、 blog を書かない大多数の人々に tagging やコメントという形で開放したところである。 もちろん大勢の人々によるメタデータの補完という価値もある。 ちなみに、ソーシャルブックマークで tagging するためには、もちろん Permalink が必要である。

Microformats が実現するのはコンテンツの更なる細分化である。 Permalink で記事単位になったコンテンツを semantics で分解してプログラムからアクセスできるようになる。 現状では microformat なコンテンツを作成するハードルは高いが、 これは blog/cms がじきに解決する問題だろう。

Ajax、ここはいわゆる Ajax だけじゃなくて greasemonkey とか動的言語とか、そういう気持ちも入っている。 simple で practical な hack 環境。

そして、最後に行き着くところは Remixing Culture である。 REST/AtomPP/Permalink でコンテンツ編集のためのアーキテクチャが整い、 その実装としての blog システムが整備され、 RSS/Atom でコンテンツが再編集しやすい形で配信し、 Folksonomy/Microformats でセマンティクスが補完され、 Ajax で Remix する。

若干酔っ払ってるのでまとまりないですが、最近考えてるのはこんなことです。

ラベル: , , ,

2005-06-02

CDF を…覚えていますか?

CDF を覚えている人はいるだろうか。

たとえば このファイル をダウンロードして、デスクトップに保存してみてほしい。 Windows を使っている人なら、アンテナのアイコンが現われるはずだ。

ためしにダブルクリックしてみよう。 あやしげなダイアログボックスが表示されるだろう(キャンセルしといてね)。

右クリックしてみよう。 いっぱいメニューが出てくるはずだ。

エディタで開いてみよう(「右クリック→編集」でもよい)。 タグ名が大文字の見なれない XML ファイルである。

これは XML の創世記に話題となった Channel Definition Format (CDF) だ。

覚えていない人、あるいはそもそも知らない人のために解説すると、 CDF は XML の最初のアプリケーションとして 1997-1998年当時に大変注目されていた技術である。 タグ名が大文字なのも、当時としては普通のことだった(あのころ僕たちは HTML のタグを大文字で書いていた)。 村田さんの「XML 入門」(この本が書かれたのは'97年で XML の勧告化前)でも、 XML の応用例として最初に CDF が登場している。

この CDF はプッシュ型 Web キャスティングのために開発された規格である。 プッシュ型 Web キャスティングというのは、 ユーザが Web ページをいちいちチェックしなくても、 CDF 対応クライアントが CDF ファイルを定期的にチェックして、 更新があったときだけ通知してくれる機能のことだ。

鋭い人ならもう気付いている思うが、 この機能は現在我々が RSS でやっていることと、基本的には全く同じなのである。

当時、現在の RSS リーダーはまだ一つもなかった。 ではいったい何で CDF を受信していたのか。 それは PointCast (あー懐しい)や Windows の ActiveDesktop あるいは IE 4.0 などだ。 PointCast はもうとっくに廃れているけれど、 Windows や IE はまだ現役なので、 我々のデスクトップにアンテナアイコンを表示してくれるのだ。


(hr タグを使うのも久しぶりだなあ…)

さて、なんで今さら CDF の話をしたのかというと、 naoya さんのこの記事を読んだからだ。 いわく、一度はキャズムを越えられなかった RSS が、 blog という最良の伴侶を見つけてキャズムを越え爆発的に普及した、ということである。

技術的にはそんなに違わないのに CDF はキャズムを越えられなかった。 当時でも CDF を理解して PointCast を使っていたのはギークだけだろう。 それ以外の何万(もっとかな)のユーザは CDF なんて知らずに PointCast で天気予報と朝日新聞を見ていたのだ。 でも CDF は死んだ。

RSS も粘って粘ってやっとキャズム越えた。 blog ツールによりすべての人々が RSS を提供できる仕組みができたからだろうか。僕にはわからない。

コンセプト/アイデアはいいのに死んでいった技術の中にも、 復活するものがあるのかもしれない。 ただし、復活させるには駄目になったときとは違うグループがやる必用がある。 たぶん。

冒頭の CDF は Sam Ruby さんのものです。

ラベル: ,