Jun 29, 2005
XMLはメタデータというより生データとしての利用価値が高まりつつあり、AjaxによるUIの切り離しがそれを加速する
全部まとめて色々書こうかと思ったのだけれど、どうにも上手くいかないので、少しずつ分割して書くことにする。まず最初にこれなのだけれども
http://johnvey.com/features/deliciousdirector/
これは何かというと「JavaScriptで書かれたdel.icio.us APIのクライアント」である。最初に全てのブックマークを受信して、その後のタグによる絞込みなんかは全てJavaScriptで行う、というものだ。
とりあえず、実際にこのデモを見るのが早いだろう。
http://johnvey.com/features/deliciousdirector/demo.html
この方式では、ブックマークの件数が1万件を超えるようなケースになると破綻することがわかっている。
del.icio.usのAPIでは特定のタグを含むブックマークを取り寄せることも出来るので、いちいちサーバーと通信して絞り込んでいくような実装も出来たはずだが、なぜ最初に全件受信して通信せずに検索をやらせるかと言うと、そっちの方が速いしサーバーに負担もかからないからだろう。
使ってるマシンのCPUが遅くて、回線だけは光速で、del.icio.usのサーバーのCPUリソースが余りまくっているのであれば、サーバーサイドで検索をやらせたほうが速い、ということになるが、そういうケースの方が稀である。
実際は個人のブックマークの件数などタカが知れているので、最初に全部受信したほうが良い、ということになる。
----
重要なことは何か。
「del.icio.us direc.torはどこでも使える」ということだ。del.icio.usのキラーアプリケーションというような記述も見かけたが、何もこれは「del.icio.us専用」というわけではない。
例えば、この優れたタグブラウザをはてなブックマークで使いたいと思う人がいたとして、はてなブックマークがdel.icio.usと同じ形式で出力するAPIを備えていれば、後はチョコチョコと変更を加えるだけで、ほとんどそのまま動かすことが出来るはずだ。
あくまでも、APIが提供されていればの話だが「この程度」のインターフェースであれば、どこでも見かけることが出来るようになるだろう。
Ajaxと他のリッチクライアントの最も大きな違いはここにある。強制オープンソースであるゆえに、全てのコードとノウハウは簡単に使い回すことができ、そして、恐ろしい速度で進歩している。
ウェブサービスが共通のAPIを備えていて、XMLによる生データの提供がされていれば、Ajaxを使って最強に強まったユーザーインターフェースが、どこにでも移植可能である、ということ。
----
例えば検索エンジンであれば、検索結果をRSSで出力して、OpenSearchに対応させればいくらでもインターフェースは交換が利くようになる。
今はまだOpenSearchに対応することはA9で検索できるようになる程度にしか思われていないけれども、OpenSearch用のA9よりも使いやすい最強に強まったユーザーインターフェースが公開されたとすれば、OpenSearchに対応するということはリッチで使いやすいインターフェースをゼロコストで利用可能になるという極めて大きな意味を持つことになる。
ウェブサービスはあらゆる情報をXMLで提供し、ユーザーはそれを自分の好きな形にレンダリングして表示するようになる。
AjaxはつまるところXMLビジュアライザーであり、ユーザーインターフェースの交換装置なのである。今すぐ急いでAjaxに対応、などする必要はない。APIを公開して生データにアクセスできるように開放することと、Ajaxに対応することは実は殆ど同じである。
----
結局、何が言いたいのかというと
HTMLがメインのデータでXMLがメタデータ、という時代が終わり、XMLこそがメインのデータであり、HTMLはXMLを変換整形した結果に過ぎないという変化が起こりつつある、ということだ。それはごく限られた市場での話で、今はまだRSSリーダーを使ってる一部の情報ジャンキーぐらいしか実感していないことだけれども、確実に起こっている流れだ。
データとメタデータの主従逆転が起こっているのである。全文配信されるようになったRSSは、もはやメタデータというよりもRawDataとでも言うべきものであり、BlogがRSSを吐くのではなく、RSSをHTMLへ変換した結果が、いわゆる今見ているBlogなのである。
本来ならばHTMLは論理的なマークアップをしてやれば、後はブラウザがユーザーに合わせて勝手に見やすく整形してくれる、そういうものだったはずだが、いつからか1ピクセル単位で正確にレンダリングされることを求められるようになり、CSSによって文書構造とデザインが分離されるだの言ってもスタイルシートの切り替えボタンがデフォルトで見やすい位置にくっついているのはOperaだけだ。HTMLはすでにデータそのものを記述するには複雑怪奇になりすぎていて、その結果CSSとJavaScriptを駆使したバッドノウハウまみれのリッチインターフェースを構築するためのアプリケーションプラットフォームとして再利用されることが業界の主流となり、コンテンツそのものの記述はXMLが担うことになる。
つまるところ大切なことはXMLによる生データを提供することで、それを視覚化する方法としてHTML+JavaScript(つまりAjax)を使うのはバッドノウハウまみれだけれど悪くない選択肢で、むしろ普及率や実行速度、開発の容易さなどを考えるとベストである。
ここらへんはあくまで個人的な意見だ。
Edit this entry...
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.