で、パネルのハイライトはAdam Bosworthの(いろんな意味で)coolな発言に尽きるんだけど、ランチしてたとき一つわかんなかった(ので発言しそびれた)のが、彼の「Queries vs Methods」の真意。彼はA9のOpenSearchの試みを、Good Exampleとしていて、「何かしゃべれるか?」と聞いてきたのだが、どうも真意を理解していなかったので、あいまいな感じで終わっていた。で、Adamは実際にOpenSearchの話を壇上で一瞬し、ちらっと僕のほうを見て、僕の目から判断して「こりゃダメだ」と思ったらしく、自分で話したのであった。
で、その場で僕はようやく理解した(と思う)。彼のMethodsという言葉に代表されるのは、Strict Syntaxということなんだろうと。例えばGoogle検索というのはQueryの例であるわけだけど、「ReSTという言葉に関してもっとも関連の深いデータを順番に返してちょうだい。あ、ちなみに2ms以内でよろしく。」みたいなことで、Googleは最上のアルゴリズムで最高の結果を返す努力をしていると。ここで、GoogleへのQueryだって、URLに含めるパラメータを間違えて、「&hl=ReST&q=ja」みたいにしちゃったらダメじゃん、というツッコミはもちろん成り立つが、そんなレベルの話じゃないんだよね。
Methodsというのは、パラメータの順序やその明確な意味の事前合意を求めるモノの総称ということなんだろう。そして、重要なポイントはSloppyという言葉だとも思う。彼のいうSloppyなモノとは、要するに無邪気なまでにデータの読み手に解釈をゆだねる姿勢のことなんだと思う。パネルでもあげていたInternet Explorer(彼はv4チームのリードだった)の例:「なんとなくレンダリングできそうなデータが来たら、レンダリングするという方針。Webブラウジングしていて、『このページは読めません!文法が間違っています!』っていうエラー見たことないでしょ?」MethodsはこのSloppyを許さないモノを象徴する言葉だったのだろう。で、OpenSearchにつながるわけだ。RSS 2.0(XML 1.0+Namespaces)のような無制限の拡張を許容する仕組みがあるので、OpenSearch RSSはRSSリーダーにとっては10件のコンテンツに見えるし、OpenSearch Syndicatorにとっては最初の10件の検索結果に見える。(ってなことをあの場で言えればカッコよかったのになー)
村田さんのまとめにあるとおり、AdamはRESTとWS-*双方に、この点に関して厳しい点を与えている(うろ覚えだが、確かWS-*側にFをつけた理由として、SOAPはRESTと同じくらいSloppyなusageを許容するけど、実際のツールと仕様がともに、Methods的な使い方をencourageしているように思えるので、Fにした、と言っていたと思う)。で、このQueries vs Methodsの議論に関しても、AdamはAtomが重要な役割を果たすと思っているように感じた。
余談:ランチでTimとAdamが盛んにAtomの話をしていたんだけど、最初は何の話をしてるのかわかんなかった。Atomのことを「アダム」のように発音するんだもん。なんで君たちはこのひげおやじの名前を連呼しているんだ!とまじめに疑問に思ってた。Dave Winerがどうこうという話でようやく、Atomのことだとピンと来たしだい。ダサ。
--------

コメントする