Bostonで開催されたThe Ajax Experienceで行われたプレゼンテーションにおいて、Alex Russell氏とJoe Walker氏は”ブラウザを次のレベルに発展させるのには何が必要であるか"という疑問を提示した。
現在のAjaxツールキットのレベルはIEがブラウザレースに勝利したことがもたらしたもので、すべてのブラウザベンダーが安定期に入っている。ブラウザ機能の低迷は新たなアプリケーション機能の提供とライブラリの向上が必要であることを意味していた。そして今日のライブラリがデベロッパたちにブラウザ互換機能をもたらしたのと共に、ブラウザ機能の欠陥へのソリューションを提供した。
その停滞期を過ぎ前進を果たすために、AlexとJoeは提示されるべき機能と信頼性、信用性、勢いのカテゴリーに関して考えを述べた。
1.機能
新たな機能はユーザエクスペリエンスを向上させるものであるべきだが、慎重に付加される必要がある。新たな機能が既存の機能を壊さずに、またその機能は全てのベンダーによってユビキタスを付加される必要があることが重要である。
実際のところ新たな機能はブラウザによって導入されておらず、代わりにAjaxライブラリによって提供されているのである。それゆえに答えが必要となる重要な疑問は”ライブラリはどこまで発展するか?”ということなのである。
ライブラリはComet、3D(VML/SVG/Canvas)、ストレージ、ダウンロードのような機能と共に限界を押し上げている。たくさんのハックを使用することのみによって、Ajaxライブラリが現在のwebテクノロジーレベルを提供できるのである。
新たなブラウザ機能の使用を妨げ続けるもう一つの問題は、ブラウザそのものの価値の下落である。もし新たな機能がwebブラウザの新しい世代に導入されたとしても、その現在出回っているブラウザが使われなくなるのに少なくとも5年以上かかるのである。これはブラウザの世代間での透明なトランジションを補助するのにAjaxツールキットの責任を増加させる。
2.信頼性
見た目壊れているコンテンツは例外ではなくて、実は規則の問題であったりするので、信頼性は新たなwebブラウザの重要な性質となるだろう。これは新たな問題ではなくwebブラウザは不正確にフォーマットされたコンテンツに対応できるように設定したという前例を続けていく必要があるのである。同じようにこれから一つ以上のテクノロジーにしていく必要もある。異なるバージョンのHTML、CSS、JavaScriptに対するサポートと同様に、新たなバージョンと新たなテクノロジーも出てくるだろう。
私達は生理学から学ぶ必要があり失敗に対応でき、また同時に進化が可能なブラウザを提供する必要がある。
3.信用性
そうなるとなにがいけないのだろうか? デベロッパ達は下記のような懸念を持っている。
- Web上のワーム
- プライバシーの侵害
- トランジット内のデータ
- 個人情報漏洩
- ブラウザセキュリティ
- 信頼性のあるものをどのように構築するか
新しい世代のブラウザは、デベロッパたちが安全で信頼性のあるアプリケーションを構築するのを補助するのが可能であるべきである。これを可能にするには信頼性のあるパターンが開発されまたこれらのパターンは以下の通りだと考える。
- あなたやユーザが期待したように返答する
- 一番驚きの少ないルールに従う
ユーザの信頼を壊す方法はたくさんあるのだがこれを打開する必要があるのだ。Joe氏とAlex氏が挙げた、デベロッパたちを補助する機能は下記のとおりである。
- コンテンツ制限(ブロックベース)
- クッキー用の反CSRFマーカー
- サンドボックス
- より虚弱性の少ない関係構築のモデル(SMASH/XIP/etc)
4.勢い
幸いwebは今日のアプリケーションのデリバリーメカニズムとなり既にすさまじい勢いを得ている。そしてwebに関してはデベロッパは巨大、そしてたくさんの速さを伴うデプロイされたブラウザを提供している。
デベロッパとして私達は積極的に参加し、今後も標準ボディが勢いを増し、私達が使用するテクノロジーを向上するのに貢献することができる。
私達は有効、そしてユーザとコミュニティ駆動であるのと共に透明性のあるプロセスをもたらし標準ボディを再活性化する必要があるのです。
勢いはまた仕様なしで前進するブラウザベンダーによって提供されている。彼らはリスクを犯していて私達はそれを促す必要があるのである。特にプラグインは非ネイティブな世界を打ち破る方法を提供し、デベロッパたちは自身たちに”開発の次なるバージョンはブラウザによるものかそれともブラウザ上でおんぶしたも のになるのだろうか?”問うであろう。
結論としてAlex氏とJoe氏はもう一つの質問をした。今回は修辞的なものである。
Ajaxのツールキットとプラグインで、私達はwebブラウザがもう進化する必要をなくすソリューションを提供しただろうか?