無意味なマーケティング競争か、次世代Webへの期待か

Webブラウザ戦争でAcidレースの局地戦が白熱

Internet Explorerのシェアを緩やかにFirefoxが奪いつつあるという調査が多くある一方、“世界最速”をうたうSafariがWindows版でもリリースされて評判となるなど、今また「Webブラウザ戦争」という言葉がささやかれ出している。1990年代後半のマイクロソフト対ネットスケープの激戦を第1次とすれば、今回は第2次Webブラウザ戦争だ。

ここ数日、第2次Webブラウザ戦争の局地戦“Acidレース”が加熱気味だ。Webブラウザの標準規格への適合度合いをテストする「Acidテスト」の最新バージョン「Acid3」が3月3日に登場して以来、どのWebブラウザが一番にAcid3に合格するかを巡ってデッドヒートが繰り広げられている。

AcidテストはWeb技術の標準化を目指した活動を行うWeb Standard Project（WaSP）が開発するテストスイート。2005年にリリースされた前バージョンのAcid2ではHTMLのレイアウトに使われるCSS規格への準拠の度合いを測る目的で設計されていたが、2008年3月に登場したAcid3は、ECMAScript（JavaScript）やW3CのDOMレベル2関連の規格が新たにテスト項目として大幅に加えられている。より動的なWebページに対応したことで、Webアプリケーションが一般化した現状にキャッチアップした形だ（参考記事：新Acidテストは、Webアプリケーションに焦点）。

ブラウザに「Acid（意地悪）」なテストスイート

過去にもそうであったように、Acidテストはリリース時点では、すべてのWebブラウザがテストに不合格となるよう設計されている。Acid（アシッド）は化学で「酸性の」という意味があり、日常用語では「辛辣な」「意地悪な」というニュアンスで使われる形容詞だ。

Acidテストは結果がビジュアルに表示されることも大きな特徴だ。Acid2ではテスト項目の大多数にパスすればスマイルマークが見えてくる。若干の項目で不合格になる程度であれば、目や鼻の位置がずれたりするだけで顔だと認識できるが、大幅に不合格となると最終的な目標イメージが顔だと言うことすら分からなくなる。

Opera 9.5ベータ版でAcid2テストを実行。正しく表示されている

Firefox2でAcid2テストを実行した例。顔が崩れていて「不合格」であることが一目瞭然

崩れた顔は哀れを誘う。それはWebブラウザに突きつけられた“ダメ出し”だった。

Acid3では最終的に正しくレンダリングされた場合のイメージは顔ではなく、より工業的印象の強い色見本のようなグラフィックになるが、最終的にテストされたWebブラウザが100点満点中何点であるかが表示されるなど、やはりダメ出しといったニュアンスが強い。

Acidテストには批判が根強く、論争が絶えない。テスト項目が恣意的であるし、本当に実用的価値があるのかどうか、現場のデザイナや技術者の間でも意見が割れる。

ただ、最新のAcid3について言えば、従来のAcidテストとは事情が異なっているように見える。

“Acidテスト合格”の宣伝効果

ほんの2、3年前のAcid2のころには「Acid2テストに合格」ということを誇らしげに発表するのは、SafariかOperaぐらいだった。Mozilla FirefoxもAcid2合格を目指していたが、今にいたるまで不合格のままだ。Firefox3にならなければAcid2に合格するレンダリングエンジンに置き換わらない。

SafariはAcid2テストがリリースされた約2週間後に早々とAcid2に合格しているが、OperaがAcid2に合格するには1年弱かかっている。Firefox3のレンダリングエンジンとなるGecko1.9も1年8カ月ほどかかっている。

この差は技術力や技術的困難さによるものと考えるよりも、どれだけAcidテストを重視していたかによるものと考えたほうが自然だ。Acidテスト合格にはマーケティング上の宣伝効果がある。Acidテストに合格することで「われわれはWebの標準技術を重視しており、誰よりも真剣に取り組んでいる」というメッセージを発信できるからだ。IEやFirefoxというシェア上位のWebブラウザではなく、SafariやOperaがAcidテストに熱心だった背景には、そういう理由がありそうだ。

SafariとOperaがAcid3合格第1号を巡って激戦

Acid2に、リリース後1カ月以内に対応したのはSafariだけだった。ところが、今回のAcid3では少し様子が異なる。Safari開発チームとOpera開発チームが激しいデッドヒートを繰り広げた。

2008年3月18日、世間がSafariの最新リリース版「Safari 3.1」に沸き立っていたころ、Safariで使われているレンダリングエンジン“WebKit”の開発チームはAcid3合格を目指して猛烈なスピードでバグ修正を行っていた。Safari 3.1はAcid3テストで75点だが、WebKitのほうは18日の時点で、すでに90点を超えていた。そして17日に93点、22日に95点、25日96点、26日98点とスコアを伸ばし、3月27日についにWebKit開発チームは、ビルド番号「r31356」におけるAcid3合格を宣言した（参考リンク）。

Operaの開発チームも、ほぼ同時となる2008年3月26日、開発中のレンダリングエンジンでAcid3の満点である100点を達成したと発表。今後1週間程度でプレビュー版を公開するという（参考リンク）。

Acid3に合格したと伝えるSafari（WebKit）開発者のブログエントリ

Acid3で100点満点を取ったと伝えるOpera開発者のブログエントリ

現行のFirefox2でAcid3テストを実行した例

こうしたAcid3レースを横目で見てたMozilla開発チームのロブ・セイヤー（Rob Sayre）氏が3月26日のブログエントリで「Acid3は基本的に無意味」と題する皮肉なコメントを発表している。Acid3が指摘するMozillaの問題点に対して、実践的立場から技術的批判をしている。Acid3で不合格となる問題点を修正したところで、どれも「WebやWebブラウザの発展に寄与することにならない」（セイヤー氏）としている。「これらはバグだけど、いずれ修正される（たぶんSMIL以外……、それがどうした？）、でもWebデザイナやユーザーには何の影響もないね」（セイヤー氏）。セイヤー氏は、Acid3対応だけを目標としたようなWebKitチームの場当たり的なバグ回避策（参考リンク）をあげつらって、「恥ずかしい！」とまでAcid3レースを揶揄している。Acid3テストについても、「Mozillaは標準技術に強くコミットしている、ただ、自分たちの実装に対して安易なゴム印を押すようなことに腐心したりはしない」と“Acid3テスト合格”というラベルをゴム印にたとえるなど手厳しい。

MozillaのAcidテストに対する冷めた態度はAcid2のときとあまり変わらないようだ。だが、WebKitとOperaが繰り広げるAcid3レースを黙殺することができず、あえて「無意味だ」と言わざるを得なかったところに、時代の潮流が感じられる。

Acid3をデザインしたのはW3CでHTML5の開発・策定をリードしている米グーグルのイアン・ヒクソン氏だ。ヒクソン氏はSafari、Moziila、Operaの開発者が集まって作った業界団体「WHAT WG」（Web Hypertext Application Technology Working Group）で独自に次世代Web標準規格を設計していたが、2007年5月にはW3CのHTML5ワーキンググループの共同責任者の1人として迎え入れられた経緯がある。ヒクソン氏は時代の流れに乗る次世代Web標準の鍵を握るキーパーソンだ。Acidテストの実践的意義がどうあれ、Mozilla開発チームがAcid3テストを単純に無視できなかったのにも、こうした背景がありそうだ。

“Web標準”という理想主義者への批判

とはいえ、Acidテストは標準化が重要だと考える人々が勝手に作り出したテストスイートに過ぎない。例えば、元マイクロソフトの開発者でソフトウェアコンサルタントのジョエル・スポルスキー氏は自身のブログで、Web標準などというものは幻想に過ぎないと切り捨てている（参考リンク）。規格は規格でしかなく、どこにも実装がなければ「規格準拠」というのは空想の産物に過ぎないという。Webの世界にあるのは、複数の“Web標準たち”で、それはIE標準であり、Firefox標準であったりするという。IEだけをとっても、IE6互換モード、IE7互換モードのほか、IE8では新たにWeb標準に準拠したモードが搭載される予定だ。

スポルスキー氏は、最近のIE開発チームの開発ポリシーの転換を強く批判している。IE8では従来、よりWeb標準に適合した新しいレンダリングエンジンはスイッチ切り替えで使えるようになる予定で、デフォルトは旧バージョンのIEと互換性があるレンダリングエンジンが優先されるはずだった。ところが2008年3月5日、IE開発チームはこのポリシーを180度ひっくり返し、互換モードのほうをオプションとすると発表した。マイクロソフトの戦略がどうあれ、IEまでもが過去の互換性よりもWeb標準準拠をうたう時代になったのだ。

IEさえなければページデザインもWebアプリケーションの開発もずっと楽なのに――。そうこぼす開発者たちはIE開発チームのこの決定を歓迎したが、スポルスキー氏の反応は正反対だ。IE8のベータ版でガタガタに崩れたGoogle Mapsの表示を見せて、Web標準の信奉者たちをこう論難する。

「独りよがりの理想主義者の君たちはみんなは、Google Mapsの崩れた表示を見て戸惑う初心者のことを笑うだろう。コンシューマーはバカじゃない。それは君の奥さんだ。だから笑うのはやめろ。世界の98％のユーザーはIE8を入れて、“バグがあって、いつものWebサイトが見えない”というだろう。彼らは君らの宗教がかったバカな熱狂なんて、これっぽっちも、みじんも気にしないんだよ。どこにも実装が存在しない、架空の、プラトン的イデアみたいな“標準”に適合するWebブラウザを作るだなんてね。誰も君たちの小汚いハックの話なんて聞きたくないんだ。ほしいのは、現に存在しているWebサイトがちゃんと表示されるWebブラウザなんだよ」。

IE8がもし互換性を捨ててドラスティックな変更を行うと、数十億のWebページが正しく表示されなくなる可能性がある。

IE8に関するスポルスキー氏の予言は、こうだ。ベータテスト中にあまりにユーザーから「表示できない」という不満の声が多いので、IE8開発チームは出荷直前になって再びIE6やIE7との後方互換性を重視したポリシー転換をするだろう。

マイクロソフトは後方互換性にこだわるか

少し話がそれるが、Webブラウザ戦争の今後を、スポルスキー氏の別のエッセイを引き合いにして占ってみたい。

スポルスキー氏は2004年にマイクロソフトの基本的な戦略について興味深いことを書いている。DOSからWindowsへ移行する時期に、バギーなアプリケーションをWindows上で走らせるためにアドホックな機能追加を行っていたと証言しているのだ（参考リンク）

その具体例に驚かされる。往年のヒットゲーム「SimCity」はメモリの扱いで致命的なバグがあった。開放したメモリを、開放した直後に再び使ってしまうというバグだ。これは1度に1つのアプリケーションしか動かないシングルタスクのDOSでは問題がないが、マルチタスク環境のWindowsでは重大な問題を引き起こす。開放したメモリは、すぐに別のアプリケーションによって利用されるからだ。このためSimCityはWindows上でクラッシュを繰り返したという。SimCityのバグの原因をディスアセンブルして突き止めたマイクロソフトは、SimCityの稼働を検知したらメモリアロケータを特殊なモードで走らせるという機能追加を行った。

これは特殊な話ではなく、Windowsを新バージョンにアップデートしたときに、あらゆるアプリーションが稼働するよう同社のテストチームは非常に多くの“回避策”をWindows上に仕込んでいったという。たとえアプリーション側に問題があったとしても、それはWindowsユーザーには関係ない。ユーザーは、Windowsをアップデートしたら自分のアプリケーションが動かなくなったと考える。問題のあるアプリケーション開発者全員に修正させることができない以上、Windows側で回避策を打つ、というアプローチだ。

スポルスキー氏は、こうしたアプローチに賛同しない設計者や技術者が多いことも承知している。もしアプリケーションが何かおかしなことをしていたり、OSの隠し機能を使っていたりしていたら、OSのバージョンアップでそうしたアプリケーションは動かなくなってしかるべきだ、という理想主義的技術論がある。

スポルスキー氏は、アップルはOSで常にそういうアプローチを取っていたといい、またそれこそがアップルがマイクロソフトに勝てない理由だと主張している。氏は後にVistaと呼ばれることになるOSが、このマイクロソフトの長年の基本戦略を踏み外していることを戦略的失敗だと2004年に指摘している。それから約4年後のいま、まさにその心配が現実のものとなっているように見える。

それでも時代はWeb標準を求めている

スポルスキー氏の考えはOSとWebブラウザで一貫している。たとえユーザーが間違ったアプリケーションはHTMLを作成しようとも、それをサポートするのが大切だ、ということだ。なぜなら多くの理想主義的な技術者が考えるほど、世の中のクリエイターたちは律儀にルールを守ってくれなどしないし、そもそもルールを知ろうともしない人々も多いからだ。

この指摘には一理あるが、OS時代の考えをWeb時代に当てはめるのは無理がある。高機能化したとはいえ、WebブラウザはOSほど複雑ではない。Webではアプリケーションのロジック、データ、UIの分離がOSよりも明確で、部分的進化がやりやすい。そもそも、OperaやFirefox、Safariを使っていてスポルスキー氏がいうほどレイアウトが崩れてしまうWebサイトなど、今やほとんどない。

2004年の時点で、だからアップルのパソコンは売れないのだと言っていたのが氏の言葉が皮肉だ。昨今Macの売れ行きは好調で、ガートナーの調査によれば北米では前年比37.2％の伸びで2007年のMacのシェアは8％に届いた。後方互換性は低いかもしれないが、アップルのパソコンは売れているのだ。必要なアプリケーションは、ほとんど無償でプリインストールされていて、よく使うアプリケーションはWebの向こう側だ。もうOSの違いが、かつてのように問題になる時代ではない。

こうなってくると、後方互換性の確保こそがユーザー獲得の至上命題だというスポルスキー氏の主張が古く感じられる。スポルスキー氏の主張の根底には「IEという圧勝したプレーヤ対その他弱小プレーヤ」という構図があるようだが、モバイル端末のことまで考えに入れると、こうしたWebブラウザの勢力図は一面的だ。Webブラウザの選択肢が増え、Web技術が進化しようというこのタイミングでIEの後方互換性がユーザーにとって重要だなどというのは時代錯誤だ。IE8のベータテスト期間中に起こることは、大手WebサイトのIE8への対応で、Google Mapsが崩れたままの状態でIE8がリリースされるとは思えない。

後方互換性よりも、ユーザーが本当に気にしているのは、写真やメール、ドキュメントなどのデータのポータビリティであり、どこでもいつでもそれらにアクセスして編集し、ほかのユーザーと共有できる環境があることだ。そうした環境は、オープンなWeb標準に支えられて徐々に現出してくるだろう。

Acid3レースは確かにナンセンスな面はあるかもしれない。しかし、それがWeb標準技術、ひいてはHTML5につながる新世代のWebの世界に対する人々の熱狂の裏返しだと考えれば、冷笑する気にはなれない。第2次Webブラウザ戦争の主戦場は、オープンなWeb標準技術となるはずだ。

関連リンク Acid3 Browser Test

（＠IT 西村賢） 情報をお寄せください：