IE9開発者のライアン・セルヴァティウス氏インタビュー
~IE9が目指す“速い”ブラウザ



 GoogleがリリースしたChromeは、それまでのWebブラウザの価値観を大きく変えた。それまで主にレイアウトエンジンの性能が評価されてきた中で、JavaScriptの処理エンジンを高速化することで、Ajaxの手法で作られたリッチインターネットアプリケーションが、見違えるほど高速に動いたからだ。Chromeの登場以降、Webブラウザの評価軸としてJavaScriptのパフォーマンスという項目が完全に定着してきた。むしろ、レイアウトエンジンの速度よりも、JavaScriptエンジンの速度の方を重視するレビュアの方が多いと思えるほどだ。

 Chromeはもともと、Googleのエンジニアが自身の提供するインターネットアプリケーションを、より高いパフォーマンスで実行できるWebブラウザを開発するところから始まったものだが、Webブラウザの開発トレンドの大きな転換点を作ったと言える。

 一方、何かと批判の多かったInternet Explorerのレイアウトエンジンも、IE8でW3Cの標準に準拠していく姿勢をMicrosoftが強く示したことで、FirefoxをはじめとするMozilla系レンダリングエンジンはもちろん、SafariをはじめとするWebKit、それにOperaなどが標準への準拠度合いを競う状況となり、Acidテストが注目を浴びるようになる。

ライアン・セルヴァティウス氏

 そんな中で先日、米ロサンゼルスで行なわれたMicrosoftの開発者向け会議PDC 2009では、同社Windows部門プレジデントのスティーブン・シノフスキー氏がIE9のデモを行なって注目を浴びた。IE9では従来よりもJavaScriptの実行パフォーマンス向上を重視して開発し、W3C標準に準拠したレイアウトエンジンの開発に注力すると話したからだ。

 米ワシントン州レドモンドのMicrosoft本社でIE9のシニア・プロダクト・マネジャーを務めるRyan Servatius(ライアン・セルヴァティウス)氏にIE9について話を聞いた。

--PDCでシノフスキー氏がIE9のデモを行ないましたが、IE9の開発目標について伺えますか?

セルヴァティウスIE8と大きく変わってはいません。パフォーマンスを高め、ブラウザとしての機能性を高めることを目標にしています。もちろん、W3Cに対するより厳密な準拠については、市場から強く求められていることを意識していますから、それにも継続的に取り組んでいきます。さらにはJavaScriptだけでなく、あらゆるスクリプト処理の高速化。これもテーマです。

--これまでも長い間、MicrosoftにはW3C標準に乗っ取ったレイアウトエンジンを開発するよう、ネット上の世論では強い口調が目立っていたと思います。ところが、他のブラウザとは異なるユニークな振る舞いとなっているケースが少なくなかったように思います。“W3C標準準拠”というのは、ある意味とても曖昧な言い方ですが、開発側が設定しているゴールはどこにあるのでしょう?

セルヴァティウス確かに以前のIEではレンダリング結果の互換性に問題があると指摘されていました。しかし、IE8においてW3C勧告の内容に関して従来よりも注意深く実装した結果、とても良いレンダリング結果を得られているとのフィードバックを数多く得ています。現在の最新版であるIE8は、他のレンダラーに非常に近いレイアウトを行なうと自負しています。しかしながら、“IE”というブランドを考えた場合はそうではない面があるのも確かです。現在、世界中でもっとも多くの人に使われているブラウザはIE6です。IE6は5年前にリリースされたものですが、現在でも主流であり続けているため、彼らのアップグレードを上手に導いていかない限り状況は変化しません。これが我々の大きなチャレンジになっています。

--リッチインターネットアプリケーション(RIA)のプラットフォームとしてのWebブラウザという見方をした場合、MicrosoftはRIAを開発する技術としてSilverlightを強く推進していますよね。しかし、HTML5とCSS 3.0のみでRIAを構築する環境を整えようとしているグループも別にあります。IE9の開発チームにとって、HTML5とCSS3への対応は、どの程度の大きなウェイトを占めているのでしょう。

セルヴァティウスMicrosoftにおいてSilverlightとIEの戦略は別々ではなく、一体化したものですから、IE9でも当然サポートしていきます。一方でHTML5にも対応させていきます。開発者とユーザーが、どんなアプリケーション、どんな開発環境でもRIAを利用、あるいは開発できるよう、相互運用性を高めていくことが我々の仕事です。

--よく似たソリューションのサポートを複数のルートから行なうと、対応度合いが中途半端になったりしませんか? SilverlightはMicrosoftの技術ですが、HTML5への対応度は低いなんてことにならないでしょうか?

セルヴァティウスプラグインであるSilverlightはもちろん、HTML5への対応も、CSS3への対応も、それぞれ異なるものですし内部のプロジェクトとしても独立しています。同時に開発を進める上で障害となるものは何もありません。Microsoftにとってより重要なのは、我々の製品を使っている顧客と開発者が、より良い選択を行なえるよう選択肢を与えることです。ブラウザベースでどんなアプリケーションを構築するかは、デベロッパーが決めることであり、IE9の開発チームは彼らの選択肢を広げられるよう準備を進めます。

--少々意地悪な質問かもしれませんが、良いフィードバックを得られているというIE8でも、そのレンダリング結果は完璧とは言い難いですよね。たとえばそれはAcidテストなどでも明らかだと思うのですが、一方でMicrosoftはIE9において互換性が大きく向上すると宣言しています。なぜ今までできなかったことが、IE9で可能になるのか。単にやる気だけの問題とも思えず、理由がわからないのですが?

セルヴァティウスそれは、何をスタンダードと評価して開発するか? というポリシーの問題です。Microsoftはこれまで、開発者や顧客のフィードバックを何よりも優先して開発してきました。しかし、記事やインターネット上での議論などでは、常にAcidテストをはじめとするプリミティブなプログラムの点数を元に話が進みます。顧客や開発者は、Acidテストと同じ実装のプログラムが互換性よく走ることを望んでいるのではなく、自社の開発するソフトウェアがよりよく動くことを重視しています。したがって、MicrosoftではそもそもAcidテストの点数を上げることを目標に開発していませんでした。

 ご存じのようにMicrosoftは過去にも、そして現在も、W3Cに対して協力し、共同作業を続けています。しかし、勧告が開発コミュニティの中で変節してしまい、各製品ごとに異なる実装になってしまうことがよくあります。IE8で非互換性がまだ残っているとされている部分の多くは、単に他レイアウトエンジンと解釈が違っているだけです。

 しかしながら、もっともユーザーの多いブラウザとして、IEがもっとも大きな責任を背負って行くことは、我々も十分に理解しています。IEを支持してくれている顧客と開発者のためにも、IE8での経験を生かしてスタンダード対応への作業を続けるつもりです。

開発する上でリサーチした結果、開発に求められているものを整理。互換性や信頼性などが重要と認識IE9ではHTML5への対応、JavaScriptにおけるパフォーマンス改善、ハードウェア支援を用いたグラフィックス描画などに取り組む

--PDC 2009の基調講演では、スティーブン・シノフスキー氏がAcid3のテスト結果を見せて、ほんの数週間の取り組みだけでテストの点数は割と簡単に上げられているよ、というメッセージを出しました。今後はこうしたプリミティブなテストプログラムへの対応もしていくのでしょうか?

セルヴァティウス開発者のフィードバックが最優先であることは、従来と何ら変わりません。Microsoftにとって重要なのは、ユーザーと開発者、それぞれのコミュニティが、IEに対してどのようなことを望んでいるかです。それに対応していくことがまず第一です。

IE9でのAcid3の結果。まだ点数は低いが、ほんの少し開発しただけで点数は上げられるとシノフスキー氏。重要なことは点数稼ぎではない

 しかし、フィードバックの中にはAcidテストの結果についてのものもありますから、妄信的に合格を狙うために開発を行なうことはしませんが、かといって全く意味がないわけでもないので、点数は徐々に上がっていくでしょう。テストに合格することの作業プライオリティが低いということです。

 Windowsというプラットフォームでは、とても多くのWebブラウザをユーザーが選択できます。その中で一番使われているのはIEです。IE8は過去6カ月間でもっとも多くインストールされたブラウザです。以前はブラウザの選択肢は限られていましたが、現在はとてもたくさんの選択肢があります。その中でIE8を支持してくれているユーザーがいるのですから、それに応じなければなりません。

--IE9ではJavaScriptのパフォーマンスを重視するとアナウンスされましたが、むしろこれまでの間、なぜこれほど他ブラウザより遅かったのか、その理由について聞かせていただけますか?

セルヴァティウス現在、我々がお約束できるのは、より高速にRIAを動かせるプラットフォームを提供するということです。JavaScriptの実行速度のみを上げていくということではありません。JavaScriptの高速化はIE9での取り組みのごく一部です。

 PDC2009ではスティーブン(シノフスキー氏)が、さまざまなサイトがブラウザのどのような実行モジュールに影響するか、負荷のかかる割合をグラフで示しました。これは我々IE9チームが、世界のトップ100サイトを調査した一部です。各サイトはブラウザ内のさまざまなサブシステムを利用しています。レイアウトエンジン、JavaScriptエンジンはそのうちの重要な要素ですが、しかしすべてではないことがわかっていただけるでしょう。

 MicrosoftはIE9において、1つのサブシステムを集中的にチューニングするのではなく、全体のパフォーマンスが最適化するように、サブシステムのパフォーマンス向上を包括的に施します。重要なことはJavaScriptのベンチマークを高速に動かすことではなく、Webサイトの表示や操作、RIAのパフォーマンスなどトータルの体験レベルを引き上げることです。

 まとめると、速さといっても、さまざまな切り口の速さがありますが、トータルの体験レベルにおいて、IE9は“より速い”ものになることは保証します。

Office WebAppsや代表的なWebサイトにおけるブラウザのサブシステム利用率。サイトによって、また同じRIAでも場面によって、必要とされるパフォーマンスは異なるため、バランスの良いチューニングが必要と説くJavaScriptのパフォーマンス比較。IE7、IE8が圧倒的に遅いことがわかる。IE9は開発を初めて9週間の時点で、すでに大幅な改善を施したとか

--今日のWebブラウザは情報を見るための窓だけでなく、アプリケーションを動かす窓にもなっています。今後はさらに多くの役割を果たすようになるかもしれません。IEはどういう方向で進化していくのでしょう?

セルヴァティウスどんなに状況が変化しても、ブラウザの改良を続けていくことは変わりません。ほとんどのコンピュータユーザーにとって、Webブラウザはもっとも長い時間使うアプリケーションソフトウェアです。コンピュータユーザーがインターネットにアクセスする時間は、どんどん長くなっています。スタンダードに対応して、どんなサービスの窓口にもなれるようにすることも重要ですし、セキュリティレベルを向上させ、パフォーマンスを引き上げることも重要です。

 もちろん、使いやすさを高めていくことで、ユーザーがコンピュータを利用することを助けなければなりません。プライバシー保護についても、もっと取り組めることがあるでしょう。IE8の開発は、そうしたポリシーの下に行なわれました。これはIE9でも変わりません。

--IE9のリリース日はまだ言えないでしょうが、2010年中には我々も“体験”することはできそうでしょうか?

セルヴァティウスそれについては、まだ“将来”としか言えません。リリースする際には、スタンダード対応、パフォーマンス、セキュリティ、プライバシー、それに使いやすさなど、あらゆる面でベストなブラウザとしてリリースします。それに関しては強く、とても強くコミットしています。IE9はMicrosoftのクライアント製品プロジェクトの中でも、もっとも力を入れている分野です。良い開発リソースをたくさん投入しているので、良い成果が間違いなく得られるでしょう。スケジュールは言えませんが、しかし、もう少し時間が経過すると、具体的なことがもう少し言えるようになります。

Direct 2Dを用いることで文字品位を大きく上げられるというデモ。英語だけを見るのではなく、日本語などのレイアウトやフォントレンダリングについても取り組んでいくとのこと

--最後に“日本語”でWindowsを使っているユーザーとして要望があります。もう少し日本語のWebページの表示が美しくなるよう、ブラウザ側でも努力してもらえないでしょうか?

セルヴァティウスブラウザは筆記用具でいえばペンのようなもので、どのようにレイアウトするかはWebページデザイナーが決めることです。Webスタンダードがあって、同じスタンダードに準拠していれば、同じようなレンダリング結果を生むことができます。ですから、日本語でも英語でも、ブラウザがやることは変わりません。HTMLで指示されたとおりにページをフォーマットすることだと思います。そういうことではありませんか?

--単なるレイアウトではなく、ページ全体に見栄えについての話です。例えばWindowsとMac OS Xでは文字のレンダリング品位、レイアウトバランスがOSレベルで違います。画像をスケーリングする際の品質も異なります。特に文字品位については個人的な主観ですが、圧倒的にMac OS Xの方が上だと感じます。たしかに主観評価ですから、“きれい”か“きれいじゃない”かは、人によって異なって感じているかもしれません。特に英語ならば、目くじらを立てて食い下がるほどの違いは出ていないと思いますが、日本語では大きな差があります。日本語が読めなくとも、単純にビットマップをキャプチャして見比べるだけで、その違いはわかると思いますよ。

セルヴァティウスそれは興味深い話です。確かに英語以外の言語で、Windowsプラットフォームの文字品位が低いという話は聞いたことがあります。我々に何ができると思いますか?

--Safari のWindows版は、独自のフォントレンダラを内蔵して、Mac OS Xに近い表示をしてくれます。Windowsのフォントレンダリングについては、もう10年以上も前から品質の問題を指摘されながら変化してないことを見ると、今後も改善はあまり期待できないでしょう。Safariと同じようにすればいいという話ではありませんが、“Webページの見やすさ、美しさを改善する”という観点からすれば、ブラウザなりにOSとは独立した文字レンダリングや文字組みの仕組みがあってもいいのではないでしょうか。

セルヴァティウス見やすさや文字の美しさといった、感性に関する部分をブラウザ側でカバーするという発想は、これまでしたことはありませんでした。しかし、重要な点だと思いますから開発にフィードバックして内部で検討をしたいと思います。我々はよりよいレンダリングを目指しているので、技術の枠組みにこだわることなく、より良い方向を見つけることができるならば、是非とも取り組んでいきたいと考えています。

バックナンバー

(2009年 12月 8日)

[Text by本田 雅一]