2011年6月13日月曜日

Internet Explorer 10 Platform Preview 1レビュー

 IE10 PP1は、「Internet Explorer Test Drive」というサイトからダウンロードできる。IE9と共存できるため、既存の環境に影響を与えることなく、操作を試せる。ただし、IE8と同時に動かすとエラーが出ることがあるため、注意が必要だ。

 今後、8〜12週ごとに「Platform Preview」と呼ばれる、プレビュー・バージョンを公開していく予定である。

 なお、IE10 PP1には、基本的なブラウズ機能のみが提供されており、セキュリティ機能を含むほとんどの機能が省略されている。そのため、日常的に使用する場合は、セキュリティ・リスクがあることを理解したうえで利用してほしい。

■ 1. ネイティブHTML5
 MIX11のキーノートの中で、Windows上での「ネイティブHTML5」サポートという話があった。

 これを聞いて思い出したのが、かつてIE4がWindowsと統合して、「アクティブ・デスクトップ」という機能を実現しようとしたことである。デスクトップをWebページにしてインターネットと統合するというものであった。現在でも、デスクトップ上に配置できるガジェットや、IE9で追加されたタスクバー上へのピン留めや、ジャンプ・リストの表示(次の画面を参照)などにより、デスクトップとIEの統合は実現されている。またIE9では、GPUによるハードウェア・アクセラレーションが実装されており、ハードウェアによるWebページの描画(ハードウェア・アクセラレーション)も行われるようになっている。


ピン留め機能によりWebページをタスクバーに統合した例
FacebookやHotmailなどのサイトをタスクバーに登録して、それらのサイトの(タスクバー上の)アイコンを右クリックすることで、このようなメニューを表示できる。
 では、IE10の「ネイティブ」というのは、何を指しているのだろうか?

 先日公表されたWindows 8の新しいUIでは、Windows Phone 7ですでに採用されているMetro(メトロ)デザインがHTML5で実現されている。最終的にこのUIが標準になるのかどうかは分からないが、以前、アクティブ・デスクトップで実現しようとしていた、OSとブラウザの統合を進めていくと思われる。また、将来的に(IEへの)HTML5の実装が進むと、ファイルやDB(データベース)へのアクセスが実装されるため、「クライアント・アプリケーションとWebアプリケーションの差がほぼなくなる」と予想される。デスクトップとIEが統合されることにより、エンド・ユーザーからは両者の区別がほとんどつかなくなることも考えられる。

 IE10がリリースされる時点で、どこまで実現されるかは分からないが、Windowsとの統合により、よりリッチなユーザー・エクスペリエンス(UX)が実現できることを目指していると思われる。

■ 2. サポートされる環境

 IE10 PP1は、Windows 7のx86または、x64環境で動作する。Windows Vistaには対応していないので注意が必要だ。

 IE9では、「ハードウェア・アクセラレーションに対応していない」という理由でWindows XPがサポート対象外になったが、IE10では、Windows Vistaがサポート対象外になり、Windows 7以降のサポートになる予定である。サービスパック2を適用したWindows Vistaのサポート期限が2012年4月10日であるため、IE10のリリースはその後になるのではないかと考えている。

 「サポート対象が減る」という話だけではなく、「サポート対象が増える」という話もある。MIX11のキーノートの中では、ARMプロセッサ上で動作するIE10が紹介されていた。ARMプロセッサといえば、携帯電話やタブレット端末など、中小型の端末で採用されているプロセッサであり、2011年1月にラスベガスで開催された家電展示会のCESでは、次期WindowsがARMプロセッサをサポートすることを発表している。ARMプロセッサのサポートは、次期Windowsを見据えてのことと予想される。

■ 3. インストール

 IE10は、Internet Explorer Test Driveで公開されている。

IE9かIE10かを選択できるため、[IE10 Platform Preview 1]の[Download Preview 1]ボタンをクリックする
インストール先のフォルダは「C:\Program Files\Internet Explorer Platform Preview」(x64の場合は、「Program Files」部分が「Program Files(x86)」になる)であるため、既存のIEに影響を与えることなくインストールすることが可能だ

 このように、気軽にインストールできて、既存の環境にも影響を与えないため、あまり心配せずに試してほしい。

■ 4. ユーザー・エージェント文字列

 Webサーバに送られるユーザー・エージェント文字列の変化について確認していこう。まずは、IE9では、以下の文字列が使われている。

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
IE9のUser-Agent
バージョンを見ると、MSIEは「9.0」、Tridentは「5.0」になっている。
 IE10でも、大きな変更はなく、以下のようになっている。

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
IE10のUser-Agent
MSIEのバージョンとTridentのバージョンが上がっていることが分かる。
 同じくJavaScriptコード上で取得できるバージョンも確認してみよう。次のコードはそのコード例である。

alert(navigator.appVersion);
// IE9上での結果:
// 5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; NET4.0C; .NET4.0E;)
alert(navigator.userAgent);
// IE10上での結果:
// navigator.userAgent:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E;)
JavaScriptでブラウザバージョンを取得した結果
JavaScriptのユーザー・エージェント文字列もバージョンが上がっている。
 このように、Webサーバに送られるものも、JavaScriptコードで取得できるものも、MSIEのバージョンが「10.0」に上がっているのと、ブラウザのエンジンであるTridentが「6.0」に上がっていることが分かる。1つ注意点としては、サーバサイドのアプリケーションで、ブラウザのバージョンを「MSIE 1」のような文字列のパターン・マッチングで比較している場合、IE 1.0と認識してしまわないように、いまのうちに確認しておくことをお勧めする。


■ 5. メニュー

 ここでは、メニューバーの各機能について解説していこう。なお以下では、メニューバー上に表示されているメニュー項目を「メニュー」と表記する。

● 5-1. [Page]メニュー

 (メニューバーの)[Page]メニューでは、次の画面のように、Webブラウザの基本的な機能が提供されている。


[Page]メニュー
 ここでは、特に知っておく必要があるであろう、[Open]と[Allow websites to track your location]というサブメニュー項目について解説しよう。

○[Open]サブメニュー

 IE10 PP1では、アドレスバーが提供されていないため、特定のページを開くためには、[Page]メニューの[Open]サブメニューをクリックして、下に示す[Open Web Page]ダイアログからURLを指定する必要がある。


[Open Web Page]ダイアログ
このダイアログで開きたいページのURLを入力する。
 特定のページを開くためには、「Open Web Page」ダイアログでURLを入力する必要がある。

○[Allow websites to track your location]サブメニュー

 このサブメニュー(オン/オフ可能)は、ユーザーの現在位置を通知しないオプションである。このオプションは、次の画面に示すようにIE9でも[インターネット オプション]ダイアログの[プライバシー]タブの中に、[Web サイトによる物理的な位置の要求を許可しない]チェックボックスとして存在している、


IE9の[インターネット オプション]ダイアログの[プライバシー]タブ
 IE10 PP1では、まだ[インターネット オプション]ダイアログが提供されていないため、[Page]メニューに用意されている。

 このオプションをオフ(=許可しない)に設定して、Googleマップの現在地ボタン(=人型アイコンの上の○ボタン)を押してみると、現在地に移動できないことが分かる。


Googleマップで現在地ボタンをクリックした結果
現在地に移動しない。
 現在地の通知を許可しない設定にすると、現在地ボタンをクリックしても、現在地に移動されない。また、ページ上部に黄色い帯が出ており、なにかメッセージを表示しようとしているように見えるが、中にはメッセージが表示されていない。

 ちなみに、IE9のデフォルト設定(現在地の通知を許可)でも、以下のように通知バーが表示されて、位置情報の通知を許可するかどうかを選択できるようになっている。


IE9で現在地を送信するかどうかの確認を行う通知バー
IE9で現在地ボタンをクリックすると、通知バーが表示される。
 このようにIE9では通知バーで確認されるが、IE10 PP1ではこのようにリッチなUIが提供されていないため、[Page]メニューで、許可するかどうかのみが選択できるようになっている。

● 5-2. [Debug]メニュー

 [Debug]メニューには、その名のとおりデバッグに必要なサブメニューが用意されている。

○[F12 developer tools]サブメニュー

 IE9でも提供されている「F12 開発者ツール」だが、いまのところIE9とほぼ同じ形で提供されているため、ここでは解説を割愛する。

○[Force IE5 Document Mode]サブメニュー
○[Force IE7 Document Mode]サブメニュー
○[Force IE8 Document Mode]サブメニュー
○[Force IE9 Document Mode]サブメニュー
○[Force IE10 Document Mode]サブメニュー

 これらのサブメニューでは、ページを描画するエンジンを変更できる。ドキュメント・モードの切り替えについては、IE9でもすでに提供されており、「Internet Explorer 9正式版レビュー」で解説されているため、詳細はそちらを参照してほしい。

○[Reset Document Mode to page default]サブメニュー

 上記の[Force IEx Document Mode]サブメニューでは、ドキュメント・モードを強制して、描画エンジンを切り替えられる。このサブメニューでは、一度変更した描画エンジンをデフォルトのものに戻すことができる。デフォルトのドキュメント・モードの判断ロジックについても、「Internet Explorer 9正式版レビュー」で解説しているため、そちらを参照してほしい。

○[Turn off Compatibility View list]サブメニュー

 IEは、互換性を維持するためにCompatibility View list(互換性ビュー・リスト)を提供している。IEは、HTMLコードを解析した結果で、描画エンジンを決定しているが、Webページは比較的ルーズに書かれていることが多く、単純なロジックで決定してしまっては、正しく表示されないケースが多くある。そのようなサイトを救うために、マイクロソフトは、互換性ビュー・リストを作成し、随時更新している。IE9では、自動的にこのリストを更新するようになっているが、最新のリストはここで公開されている。

 このサブメニューは、互換性ビュー・リストを無効にして、デフォルトの設定での描画を強制する機能だと思われるが、リストに含まれているいくつかのサイトを実際に開いてみても、問題といえるような影響が出ている箇所を見つけられなかった。

 問題点についてはいったん置いておいて、互換性ビュー・リストの変更方法について解説しよう。

 IE10では、以下のパスに互換性ビュー・リストが配置されている。

x86の場合:C:\Program Files\Internet Explorer Platform Preview\iecompatdata.xml
x64の場合:C:\Program Files(x86)\Internet Explorer Platform Preview\iecompatdata.xml
 ただし、IE10 PP1では、非常に限られたサイトしか互換性ビュー・リストに登録されていない。さらに追加でサイト情報が必要な場合は、互換性ビュー・リストをダウンロードして、上記の場所に自分で配置する必要がある。またそのとき、併せてレジストリの変更も必要になるため、注意が必要である。詳細な手順は、英語になってしまうが、リリース・ノートの「Platform Preview Compatibility List」に書かれているため、そちらを参照してほしい。

● 5-3. [Report Issue]メニュー

 [Report Issue]メニューには、問題点を報告するための機能が用意されている。Webページの閲覧やIE10 PP1の検証をしていて、明らかに不具合がある場合には、ここから報告できるようになっている。


[Report Issue]メニュー
○[Send Feedback]サブメニュー

 [Send Feedback]サブメニューをクリックすると、マイクロソフトにフィードバックを入力するためのダイアログが表示される。

 そのダイアログを使って、実際にフィードバックを送信するまでの手順を見ていこう。日本語でも報告ができるようなので、不具合が発生したときにはこのサブメニューを使ってほしい。


フィードバックを送信する手順1:[Issue details]ページ([Send an issue report]ダイアログ)
[Send Feedback]サブメニューをクリックすると、この[Send an issue report]ダイアログが表示される。
まずは、発生した問題の概要(タイトル)を記入する。
ビデオのアイコンをクリックすると、問題が発生する操作を実際に行って、その一連の操作を記録したビデオを添付して送ることができる。この例ではすでに記録済みのため、「IssueSteps.zip」というファイルが添付されていることが分かる。また、問題を発生させるための手順を入力する。
さらに詳細に問題の説明を記入する。
必要な場合、問題が発生したURLを記入する。
[Make my feedback visible to other Connect users](ほかのConnectユーザーと、この問題を共有する)チェックボックス。このフィードバックをマイクロソフトとのみ共有するか、ほかのMicrosoft Connectユーザーとも共有するかを選択する。企業内のシステムで外に公開できないものの場合、このチェックを外すとよい。
 ここまで記入したら、[Next]ボタンをクリックする。これにより、次の画面に切り替わる。


フィードバックを送信する手順2:[Identify your issue]ページ([Send an issue report]ダイアログ)
ここでは、問題のカテゴリを選択する。
問題の領域(=カテゴリ)を選択する。
を選択すると、さらに詳細な切り分けが出てくるため、適切なものを選択する。
 適切なカテゴリを選択できたら、[Next]ボタンをクリックして、ページを切り替える。


フィードバックを送信する手順3:[Additional information]ページ([Send an issue report]ダイアログ)
ここでは、追加情報を入力する。
IE9でもこの問題が発生するかを確認して、発生する場合は[Yes]を、発生しない場合は[No]を選択する。[I don't know]という選択肢も存在しているが、なるべく確認して[Yes]/[No]で選択するようにしてほしい。
どの程度の頻度で発生するかを選択する。
期待している振る舞いを記述する。
実際にはどうなったか(もしくは、期待する振る舞いとの違い)を記入する。
 記入が終わったら、[Next]をクリックして、ページを進める。


フィードバックを送信する手順4:[Confirm and Send]ページ([Send an issue report]ダイアログ)
ここでは、送信前の最終確認を行い、さらに添付情報があればそれも追加する。例えば、イベント・ログを含むさまざまなログ情報が添付されることになるが、ほかにも問題を解決するために必要になりそうな情報があれば、それもここで添付すればよい。
 最後に[Send Report]ボタンをクリックすれば、次の画面のページに切り替わり、実際に問題が(マイクロソフトへ)報告される。


フィードバックを送信する手順5:[Thank you!]ページ([Send an issue report]ダイアログ)
 この画面が出れば、送信完了である。[Microsoft Connect]リンクをクリックすれば、Microsoft Connectサイト上にあるIEのフォーラムを表示できる。ただし、Microsoft Connectは会員制のため、IEのフォーラムに参加する権限がない場合、開けない可能性もある。もし、開けなかったとしても、送信した問題はマイクロソフトと共有できているため、安心して解決を待ってほしい。

 ここまでの手順で送信した問題はMicrosoft Connectサイト上のフィードバック・センターで共有されている(※このリンク先は会員制サイトのため、すべての情報を閲覧できない可能性があるので注意してほしい)。

 前述の[Make my feedback visible to other Connect users](ほかのConnectユーザーと、この問題を共有する)チェックボックスにチェックを入れた場合、フォーラムの参加者は、その問題の内容を読めるため、解決策を提言したり、同じ問題が発生して困っている場合には「私もです」をクリックすることで、その問題で困っている人がほかにもいることを伝えたりできる。

 ここまでで、フィードバックの送信方法について解説してきたが、せっかく見付けた問題も、既知の問題やほかの人がすでに送信済みの問題を報告しても意味がない。リリース時点ですでに分かっている問題は、リリース・ノートの「Platform Preview Known Issues」に書かれているため、こちらを最初に確認するようにしてほしい。また、ほかの人と同じ報告を避けるために、アクセスできる権限がある場合は、フィードバック・センターですでに報告されていないかを一度検索してみてから送信することをお勧めする。

● 5-4. [ Help]メニュー

 [Help]メニューは、見てのとおり、あえて説明する必要はないかもしれないが、簡単に解説する。


[Help]メニュー
○[Using the Windows Internet Explorer Platform Preview]サブメニュー

 このサブメニューをクリックすると、ユーザー・ガイド(英語)が開くが、基本的な使い方や解説が完結に書かれているため、最初に読んでおくと理解を深められる。

○[About]サブメニュー

 このサブメニューをクリックすると、[About the Windows Internet Explorer Platform Preview]というバージョン番号ダイアログが表示される。


バージョン番号ダイアログ
この例では、バージョン番号が「10.0.1000.16394」であることを確認できる。
 このように、IE10 PP1のバージョンが「10.0.1000.16394」であることが確認できる。今後、このバージョン番号が上がっていくことになる。また、IE10 PP1のタイトルバーには、「2.10.1000.16394」と表示されているが、これは「ビルド番号」と呼ばれている。IE9のPlatform Previewのときには、「1.9.xxxx.xxxx」であった。