アドオンと IE の信頼性
本記事は、マイクロソフト本社の IE チームのブログから記事を抜粋し、翻訳したものです。
【元記事】Add-ons and IE Reliability (2011/4/26 1:00 AM)
アドオンなどのサードパーティ製ソフトウェアは、IE で発生するクラッシュの原因となっていることが多々あります。IE9 ベータ版の期間中に提出されたエラー報告の分析結果によると、クラッシュ全体の 70% がサードパーティ製のコードによって引き起こされています。
マイクロソフトにおいても IE9 の信頼性向上に努めていますが、それと同様に重視しているのが、アドオン エコシステムと IE9 との互換性の確保です。これは他のブラウザーベンダーにとっても大きな課題となっています。
マイクロソフトでは、以前の記事で紹介したプロセスを IE9 の開発サイクルを通じて採用し、アドオンの信頼性にかかわる最も重大な問題に取り組みました。その結果、アドオン エコシステムと IE9 の最終リリース版との間で非常に高い互換性を確保することができました。たとえばマイクロソフトの互換性テスト データによると、IE での使用頻度が高い上位 40 位までのアドオンは、IE9 上でクラッシュすることなく正常に動作することが証明されています。
この記事では、IE9 上でのアドオンの信頼性を促進するために行った取り組みについて説明します。
まず、アドオンが信頼性に影響を及ぼす理由を説明し、次にマイクロソフトがそうした問題をどのように特定しているかについて、さらにアドオン ベンダーにどのように問題への対応を働きかけているかについて説明します。さらに、マイクロソフトが IE9 の Upgrade Advisor エクスペリエンスに対して行った強化内容を解説し、IE におけるアドオンの信頼性の問題を解決するための情報を提示します。
アドオンが IE の信頼性に影響する理由
以前の記事でも述べたように、アドオンは基本的にはブラウザー上で動作する Windows アプリケーションであり、適切に記述されていないアドオンは IE の信頼性に影響を及ぼします。
アドオンのクラッシュの多くは IE を使用している最中に発生するため、アドオンが原因で発生したかどうかを即座に判断することは簡単ではありません。
アドオンのパフォーマンス上の問題が発生する可能性のあるシナリオを以下に示します。
- IE を起動する
IE は起動時にアドオンを初期化します。アドオンの初期化コード中に発生するエラーは、クラッシュにつながる可能性があります。IE9 で見つかった互換性の問題のほとんどが、このシナリオでのクラッシュに該当します。 - タブを開く / 閉じる
IE は新しいタブを開く時点でも、アドオンの初期化を行います。またタブを閉じる際に、IE はメモリからアドオン モジュールをアンロードします。参照のカウントを正しく管理していないアドオンでは、タブが閉じられた時点でクラッシュが発生する可能性があります。 - Web ページに移動する
アドオンは Web ページへの移動時にも何らかの操作を実行するため、クラッシュの原因となることがあります。
IE9 でのアドオンの信頼性
マイクロソフトでは、Windows エラー報告やフィードバックの送信ツールを始めとするさまざまな手段を利用することで、IE9 のベータ版や RC 版におけるアドオンの信頼性の状況の把握に努めています。また、発生頻度の高いアドオンの問題から順に検証を行いました。次の図は、クラッシュの発生頻度が高い上位 30 位までのアドオンの問題への対応状況を示しています。
IE9 のベータ版および RC 版におけるクラッシュの発生頻度が高い上位 30 位までのアドオンの問題への対応状況
緑色の棒グラフは、IE9 上で既に修正された、IE コードを根本原因とするクラッシュを表しています。その他の色の棒グラフは、WinQual プログラムを通じてサードパーティのアドオン ベンダーに既に対応を依頼済みである問題を表しています。その中でも青色の棒グラフは、ベンダーによって問題が修正され、更新版が入手可能な状態であることを表しています。ユーザーがこれらのアドオンをインストールすると、最新バージョンへの更新が促されます。
オレンジ色の棒グラフは、ベンダー側で引き続き調査中であり、近く修正が公開される予定のアドオンを表しています。マイクロソフトではアドオン開発者に対してWinQual 経由でアカウントにサインアップし、クラッシュ報告を入手するよう働きかけています。こうした方法がアドオンの信頼性を最大化するための第一歩となります。
IE9 の Upgrade Advisor の機能強化
重大なクラッシュに対する修正が用意できたら、ベンダーは IE の Upgrade Advisor を使用して、ユーザーにその修正を含むアドオンの最新バージョンへの更新を促すことができます。ユーザーが IE を起動すると、Upgrade Advisor リストに掲載されているアドオンの各バージョンについては自動的に使用不可となります。
また、アドオンによって IE の使用が妨げられてしまう場合があります。IE 起動時に繰り返しクラッシュするアドオンがその例です。こうしたアドオンには、Internet Explorer のガイドラインと要件に準拠していない機能が含まれている可能性があります。
マイクロソフトでは、こうした問題をアドオン ベンダーに報告すると共に、Upgrade Advisor リストにそのアドオンを追加することで、ユーザーがそうした問題に煩わされることなく IE を利用できるようにしています。
次の図は、クラッシュの発生頻度が高い上位 30 位までのアドオンのうち、IE9 用の Upgrade Advisor リストに登録が済んでいるアドオンを示しています。
クラッシュの発生頻度が高い上位 30 位のうち、 Upgrade Advisor リストに登録済みのアドオン
Upgrade Advisor によって使用不可となっているアドオンがインストールされている場合、ブラウザーが起動された直後に、IE がその互換性のないアドオンをユーザーに通知します。IE8 のときのようにダイアログ ボックスを表示するのではなく、IE9 ではアドオンごとに通知メッセージが表示されます。ユーザーはこれに対して何もアクション起こさずに、そのまま作業を続けることは可能です。
ユーザーは、そのアドオンを無効のままとするか、更新プログラムを探すか、現行のブラウズ セッション中のみ使い続けるかを選択できます。
[更新プログラムの確認] を選択すると、そのアドオンに関するサポート技術情報の記事が新しいタブに表示されます。更新プログラムの入手が可能な場合、その記事に更新プログラムへのリンクが記載されます。
このようなエクスペリエンスは、ソフトブロックと呼ばれます。一方、ユーザーに現行バージョンを使用し続けてほしくないと判断した場合には、ベンダーはそのアドオンをハードブロックし、[使用を続ける] というオプションが表示されないようにすることができます。
ブラウズ中に、[アドオンの管理] などを使用してブロックされているアドオンを有効にすると、IE 上に次のようなダイアログが表示され、そのアドオンの状態が通知されます。
ハードブロックされたアドオンを有効にするときに IE が表示するハードブロックダイアログ
アドオン クラッシュの特定方法
マイクロソフトが採用しているアドオン クラッシュの特定方法は、最も大きな影響を引き起こす問題を特定することに重点を置いています。発生頻度の低い未解決のアドオン クラッシュや、Upgrade Advisor リストに登録されていないアドオン上のクラッシュも特定されます。IE 上で発生したアドオン クラッシュを特定する方法はいくつかあります。
以前の記事でも取り上げたように、IE9 は新しいアドオンがいつ追加されたかをユーザーに通知することによって、明示的な同意が得られたアドオンのみがブラウザー上で実行されるようにしています。ユーザーの側でも同意を行うことで、自らが有効にしたアドオンの存在を認識できるようになります。また、あるアドオンを有効にした直後に IE がクラッシュするようになったとしたら、そのアドオンが原因であるということを簡単に特定し、すぐに無効にすることができます。
アドオンが原因で Internet Explorer が起動しない場合には、IE をアドオンなしモードで起動すると、すべてのアドオンおよび ActiveX コントロールを無効にすることができます。問題のアドオンが特定されている場合、また有効なアドオンを 1 つずつチェックしてクラッシュの原因となっているアドオンを特定することで、そのアドオンを無効にすることができます。
アドオンなしモードで IE を起動するには、コマンド iexplore.exe -extoff を実行するか、スタート メニューの [すべてのプログラム] > [アクセサリ] > [システム ツール] > [Internet Explorer (アドオンなし)] を選択します。
アドオンなしモードでは、Flash や Silverlight など、一部の Web サイトを正常に表示するために必要なプラグインも無効となってしまうため、通常のブラウズではこのモードの使用は推奨しません。
IE9 以降のアドオン エコシステムの管理
サードパーティとの連携や Upgrade Advisor の利用によって、IE9 プレリリース期間の間にアドオンの信頼性の問題は大幅に改善されました。また、ユーザーの皆様からのクラッシュ報告によって、マイクロソフトではアドオン エコシステムの状態を把握し、問題に優先順位を付けて重要な問題から取り組むことができました。
IE9 は既にリリースされていますが、マイクロソフトでは今後も引き続きアドオン ベンダーと協力し、アドオンやその他のサードパーティ製コードが原因で発生するクラッシュの解決に取り組んでいきます。
互換性のないアドオンが新たに見つかった場合には、累積的なセキュリティ更新プログラムを通じて Upgrade Advisor リストにその更新プログラムを追加し、ユーザーの皆様が安全に IE を利用できる環境を確保します。
信頼性に関わる重大な問題を引き起こすアドオンが見つかった場合には、ブログのコメント欄や Connect を通じてご報告ください。また、Upgrade Advisor リストへのアドオンの追加を検討されているアドオン ベンダーの皆様もぜひお気軽にお問い合わせください。
—Herman Ng、プログラム マネージャー、Internet Explorer