ようこそ!Window7

特定の市場 (医学、教育、基幹業務) 向けに、インク入力/TabletPC 機能を活用してユニークなソリューションを開発している開発者たちの大きなコミュニティがあります。彼らはこの経験に基づき、彼らのエンド ユーザーが PC (通常、スレートや壁掛けPC のようなユニークなフォーム ファクターを持つもの) 上の情報と対話する方法を効率化するために、Windows のソフトウェアを作成しています。今週初め、そのようなソフトウェア メーカー (医療用ソフトウェア) の開発リーダーから「Windows 7では自分たちにとって何が新しいのですか?」という貴重な電子メールをいただいたので、この新機能の概要をまとめてみました。この投稿はチームの複数のプログラム マネージャーが作成しました。–Steven

Tablet PC 入力パネル

私は Windows 7 のコア ユーザー エクスペリエンス チームのプログラム マネージャーをしている Jan-Kristian です。私の担当領域の 1 つはペンとタッチのテキスト入力です。これから私たちが取り組んでいるエキサイティングなことについてお話したいと思います。

私たちが略して TIP と呼ぶ Tablet PC 入力パネル (Tablet PC Input Panel) は、任意の Windows アプリケーションへ手書きでテキストを挿入するツールです。これは、テキストの入力に使用できるソフト キーボードも備えています。この入力パネルは、Windows XP Tablet PC Edition の最初のバージョンで登場し、バージョンごとにユーザー エクスペリエンスを着実に向上させてきました。

新しい手書きパッド

TIP での私たちの目標は、できるだけ軽量化し、ユーザーがその使用方法を意識することなく、書いている内容について集中できるようにすることです。 Windows Vista の入力パネルで実現した改良に対して、私たちは多くの好意的なフィードバックを得ました。ただし、混乱を招いたり、必要以上に多くの手順を要したりする部 分もありました。

clip_image002_2[1] Windows Vista の入力パネル 手書き認識の結果は、手書き入力領域の下部のテキストの小さな吹き出しで示されます。認識を確認するために、この吹き出しを見ていく必要があります。エラーを見つけたら、その吹き出し上をタップして、修正用のウィンドウを表示します。

Vista の遠隔測定とユーザビリティ実験の分析に基づいて、私たちは Windows 7 の向上について 2 つの重要な分野に重点を置きました。

· エクスペリエンスの簡略化 – 手書きは、容易かつ自然に流れるようなエクスペリエンスである必要があります。しかし、私たちは、TIP を使用すると、ユーザーが何を行っているかについて強く意識をせざるをえない、ということを発見しました。手書きされたものと小さな吹き出しの間で視線を 素早く動かす必要があり、修正があれば別のモードに入り、しばしば単語全体を書き直すことにさえなります。私たちの目標は、これを簡略化し、より少ない負 担で行えるようにすることでした。

· 柔軟性の追加 – 私たちは、入力にマウスやキーボードを使用するときの柔軟性に慣れ親しんでいます。インク ベースのモデルはいったん書かれた文章を編集するのが難しく、Windows Vista の入力パネルでの手書きには最小限の柔軟性しかありませんでした。単語間にテキストを挿入したり、単語を置換したりする簡単な方法がなかったのです。私た ちの目標は、ペンの機能を使用するときの編集エクスペリエンスを、マウスとキーボードで慣れ親しんだものにより近づけることでした。

新しいモデルの作成

これらの目標を達成するには、手書きパッドを根本的に変更する必要がありました。私たちはさまざまなアイデアを検討し、ユーザーが書いているとき に、インクがインプレースでテキストに変換されるモデルを採用することにしました。これは簡単な UI モデルのように聞こえますが、正常な動作をどうするかについて、いつ変換するか、テキストはどれくらいの大きさにするか、どのフォントを使用するかなど、 多くの解決すべき問題がありました。自然で効率的な手書きエクスペリエンスを確実に実現するただ一つの方法は、ユーザーからフィードバックを得ることでし た。そこで私たちは RITE (Rapid Iterative Testing and Evaluation) メソッドを使用しました。RITE テストは、Age of Empires II ゲームのユーザビリティ テストの一部として Microsoft で開発されたサイクル ベースのユーザビリティ メソッドです。サイクルごとに、ユーザー エクスペリエンスを少しずつ向上させ、それがうまく機能するか再テストします。文書化の準備が整ったと思えるようなデザインの最終決定の前に、私たちはお よそ 20 のサイクルを実施しました。

RITE テスト中に調整した最も重要なものの 1 つは、インクからテキストへ自動変換を行うタイミングでした。変換が早すぎたり遅すぎたりすると、ユーザー エクスペリエンスを低下させます。これを正しく行うには、各シーンの作業の裏で多くのことを行う必要がありました。私たちの最終的なソリューションは、距 離のトリガー (自動的にユーザーの平均単語間隔に適応)、認識エンジンの結果に基づいたトリガー、および時間ベースのトリガーを組み合わせたものです。もう一つの問題 は文字のサイズでした。私たちは結局、手書きのサイズに一致するよう動的なサイズ変更を使用することにしました。

手書き入力領域の新しいテキスト ベースの UI によって、対象のテキストにより迅速に到達できるようになります。テキストの表示が 1 か所になったことにより、エクスペリエンスの複雑さが軽減され、入力パネルの高さが低くなります。インクの代わりにテキストを使用すると、手書き入力領域 は大幅に柔軟性を増し、望むようにテキストを移動できます。2 単語間に単語を挿入することが、空白に書くのと同じくらい簡単になり、また、必要に応じてスペースが自動で拡大します。

インクからテキストへの変換作業とともに、それに伴う認識されたテキストを編集する自然な方法が必要になりました。これには、ジェスチャが最適なソ リューションに思えました。私たちはペン ベースの UI を作成していたので、ペンを使用するべきです。私たちはジェスチャを 3 種類 (削除、分割 (スペースの追加)、結合) に制限し、ユーザーがこれらの 3 つの操作を紙の上でどのように行うかサンプルを収集しました。そして、収集されたデータに基づいて、ジェスチャを作成しました。このジェスチャを見つけや すくするために、「ジェスチャ パネル」を追加しました。これは、入力パネルのタイトル バー上に表示される、いわば対話型の「カンニング ペーパー」です。

これらが Windows 7 の新しい手書き入力領域でどのように実現されているかご覧ください。[編注: YouTube と Windows 7 の Windows Live フォト ギャラリーを使用]:

Windows 7 – 手書きの概要

手書きパッド: 操作中の新しい手書きパッド。自分の操作した結果が容易にわかるように、アニメーションを使用してどうなるか示します。

スマート コレクション

遠隔測定の結果、Vista で TIP を使用する上で苦労することは、入力した文字の修正であることが判明しました。ある単語を修正するために、すべての文字を書き直さなければならないことも よくあります。Windows 7 では、Microsoft Research の成果を活用し、スマート コレクション機能を設計しました。これにより、単語の修正が非常に高速に行えます。ただ左から右へ単語を修正していけばよく、文字を入力するごとに、 Windows は新しい認識を行います。このように抑制された認識により、ほとんどの場合わずかな文字修正で望んだ結果を得られます。

Windows 7 – 手書きのスマート コレクション

スマート コレクション: “Worked” が、たった 1 文字変更しただけで自動的に “Wonderful” に修正されました。単語の左から修正を始めるだけで、望んだ単語にたどり着くまで更新し続けます。

URL の入力

注目に値する手書きパッドのもう 1つの機能: 計測データによると、入力パネルが最もよく使用されているアプリケーションは Web ブラウザーでした。そして、ブラウザーを利用する際、主要なシナリオの 1 つは URL の入力です。

Windows 7 の手書き入力 – URL の修正

URL の入力: 新しい手書きパッドの柔軟性により、URL のパーツがあらかじめ設定されており、URL の入力が容易になります。

URL のセグメントがどのように分離され、そのすべてに対して意味をなす変換候補があることに注目してください。変換候補は、ユーザーの使用頻繁に基づいて決定 されます。したがって、「.NET」を何度も選択していれば、それが候補の上位に挙げられ、デフォルトで URL テンプレートに設定されます。また、[挿入] ボタンは、ユーザーが URL を挿入した後にシングル クリックでそこに移動できるよう、[移動] (Go to) に変更されました。

タッチ キーボード

入力パネルには、ペンやタッチで優れた力を発揮するソフト キーボードもあります。私たちが行ったアップデートのいくつかは、可視的な更新だけのように見えるかもしれません。しかし、これらは非常に熟慮されたもの で、タッチ キーボードのユーザビリティに大きな影響を与えます。たとえば、タッチ スクリーン PC は、モバイル状況でしばしば使用されます。これらを暗い画面や光の状態が最適でない画面で確実に使用可能にするには、主要なラベルの色やコントラストによ く注意する必要がありました。

clip_image004_2[1] Windows 7 のタッチ キーボード

タッチ ベースのキーボードの使用における課題の 1 つは、触覚的なフィードバックがないことです。その結果、キーがタップされているとき、ユーザーの指がそのキーを覆ってしまうという事実があります。指が キーを覆っていたら、正しいキー (あるいは何かのキー) を打っていることをどうやって知ることができるでしょうか? キーを打つごとに、焦点をテキスト フィールドとタッチ キーボード間で切り替える必要があるとしたら、ユーザーはタッチ入力にすぐに疲れてしまいます。私たちはユーザーに、「了解」「このキーを打ちました」と いったシンプルな、ちょっとした合図を送りたいと思いました。採用した方法は、放されたキーに短時間、光のフェード アウト効果を持たせることでした。この光のフィードバックは、目的の (あるいは目的でない) キーを打ったという簡単な確認をユーザーに与えます。

キーボードはマルチタッチをサポートするようになり、[Ctrl] + [C] や [Shift] + [a] などを押すことができます。キーのロールオーバーも有効になりました。これは、指を前のキーから上げる前に、別のキーを押すことができるということです。 これにより、はるかに自然な入力エクスペリエンスが実現されます。[Ctrl] キーを押してから [C] を押すという前置修飾キー (sticky modifier key) モデルをご希望の場合でも、それは引き続きサポートされていますので、どうぞご心配なく。

予測入力および手書き認識の個人用設定

私は Tablet PC 手書き認識チームのプログラム マネージャーをしている Jen です。です。以前の投稿で、私の同僚である Yvonne から新しい手書き認識エンジンに関しての話がありました。今回は、予測入力や個人設定、東アジア言語の新しい認識エンジンなど、認識エンジンの機能を増大させる新機能のいくつかを取り上げます。

予測入力

Tablet PC チームの目標の 1 つは、キーボードの使用が不便あるいは非現実的なときに、テキスト入力をできるだけ効率的にすることです。これを達成するため、私たちは TIP に投資を行いました。私たちは全体的な手書き認識の正確さを向上させ、これと同じテクノロジを活用してソフト キーボードで予測入力を提供しています。予測入力では、入力中の単語について可能性のある単語を完成して提供しますが、次の単語あるいは語句の候補を提示 することもできます。

clip_image006_2[1] 予測入力ここでは英語 (米語) 用ソフト キーボードを使用して、単語「Microsoft」を入力しようとしています。最初の 2 つの文字「mi」を入力した後、最初の候補として単語「Microsoft」が提案されます。この候補を選択し、単語「Microsoft」をドキュメントへ挿入することができます。

Windows 7 では、ソフト キーボードで英語、フランス語、イタリア語、ドイツ語、およびスペイン語の予測入力を、1 字単位の入力モードの手書きで繁体字中国語と簡体字中国語をサポートしています。このセクションでは、ラテン語ベースの言語に焦点を当て、中国語などの例 は次のセクションで取り上げます。

私たちが予測入力を開発したとき、主な目標はユーザーの入力速度を速めることでした。そのために、予測が適切であるようにする必要がありました。私たちの認識エンジンでは、認識の正確さを向上させるために用語集 (辞書) を使用します。システム辞書は、認識エンジンに搭載されており、任意の言語で最もよく使用される単語の一覧を意味します。この辞書を使用する場合、即座に 利用可能な予測を使用してもよいのですが、ユーザー固有のその他の単語 (ユーザーの単語) を追加して、正確さを大幅に向上させることもできます。これにはテキスト収集が関わっています。

私たちは手書き認識を向上させるために、Windows Vista で米国英語と英国英語のテキスト収集 (自動学習) を搭載しました。Windows 7 では、この機能はすべての言語で使用可能です。これにより、電子メールを書くとき、入力する単語に基づいてシステム辞書を自動的に拡張できます。テキスト 収集はユーザーごとに実行されるので、データは各ユーザー専用です。テキスト収集の結果から、各ユーザー専用の語彙を含む新しい辞書を構築し、既に通常使 用している単語の確率を高めます。この辞書は、手書き認識と予測入力の両方で使用されます。各ユーザーの単語と使用パターンにより辞書を増強した後の結果 は感動的なものです。次に入力するつもりの単語を予測する能力は、ほとんど魔法に思えます!

Windows 7 には、ユーザー辞書のサポートも含まれています。これは、システムに追加できる特別な単語リストです。企業は、医学や化学などの分野専用の辞書を開発し、 システムに追加できます。たとえば、「acetaminophen」という単語の予測は、これを入力するよりずっと高速です!

東アジアの手書き認識の向上点

著しい改良が、私たちがサポートする繁体字中国語、簡体字中国語、韓国語、および日本語という 4 つの東アジア言語の手書き認識で実現されました。これらの言語は文字セットが大きいため、多くのユーザーにとって、手書きが効率的な入力方式になっています。

東アジアの手書きには 2 つの入力モードがあります。1 字単位モード (ボックス モード) およびフリースタイル モード (ライン モード) です。ボックス モードでは、固定幅のボックスへ一度に 1 文字を入力します。フリースタイル モードでは、ライン上に文字を筆記体で手書きし、文字間隔に注意する必要はありません。どちらのモードを選ぶかはユーザーの好みによります。ボックス モードの方がわずかに制約度が高く、予測入力がより正確で、ライン モードの方がより自然な手書きです。

clip_image008_2[1] clip_image010_2[1] ライン モードでの繁体字中国語上部ウィンドウにユーザーの手書き、下部ウィンドウに認識されたテキストが表示されています。

これらすべての言語にわたって中核となる認識精度の向上に加え、ユーザー エクスペリエンスを向上させるために、個人設定も使用しています。個人設定の方法の 1 つは、字形コレクターを使用してユーザーの書き方に適合させることです。字形コレクターは、手書き認識に、ユーザー独自の手書きスタイルをトレーニングす るためのウィザードです。4 つの東アジア言語では、特定の文字や単語の認識を向上させたり、サポートされていない文字や単語を追加するために、字形コレクターを「トラブルシューティ ング」モードで使用できます。

さらに、ユーザーが書いたり誤りを修正するときに、学習が行われます。文字を書き、最初に誤認識された場合、候補一覧が表示され、目的の文字を選択 できます。この操作に基づいて学習され、ユーザーが次にこの文字を書くときに、最初の候補としてそれが示される確率が高くなります。

Windows 7 では、簡体字中国語と繁体字中国語は、ボックス モードでの予測入力もサポートしています。これらの言語では、個々の文字を書くのに時間がかかるため、予測入力は特に価値があります。ユーザーが 1 字ずつのモードで書くと、全てを書く前に、単語や語句を入力するためのオプションが示されます。下記の場合では、ユーザーは中华人民共和国を入力しようと して、最初の 2 つの文字、中华を入力しただけで、目的とするテキストを予測として得ました。灰色の文字は入力された文字を示し、黒い文字は予測を示します。

clip_image012_2[1] この例では予測入力が、2 番目の文字 (华) と同様に始めの 2 文字 (中华) で機能していることに注目してください。他の言語もそうですが、予測入力はユーザー固有の語彙でも機能します。ユーザーが同じ単語を何回も入力すると、認 識エンジンはこの動作を学習します。

私たちは Windows Vista 以来、繁体字中国語、簡体字中国語、日本語、および韓国語の手書き認識を大きく改良してきました。改良は、正確さとスループットを向上させることにより、 全体的なカスタマー エクスペリエンスを向上することに基づいています。私たちの目標は、ユーザーに、これらの言語のより自然な入力方法、およびキーボード使用とは別の実行可 能な選択肢を提供することです。

手書き数式認識

Word で数学の論文を書いたり、Mathematica で演算を行ったことはありますか? そして、「使いやすい入力方式のためなら、何でもするのだが、、、」と思いながら、多くのボタンや複雑な線形のフォーマットを使って数式を作成するのに何 時間も費やしたことはありませんか? その願いはかなえられました。私たちは Windows 7 の手書きの向上に加え、インク入力での数式の認識に注力しました。

私は Windows の数式認識のプログラム マネージャーをしている Marko です。数式入力の最も自然で最も効率的な方法、つまり手書き認識を提供する数式入力パネルを紹介したいと思います。私たちはこの問題に対して完全に新しい アプローチをとり、手書き数式認識を機能、パフォーマンス、およびカバーしている分野を、全く新しいレベルにまで引き上げることができました。

数式入力パネル (Math Input Panel、MIP) は、Tablet PC のタブレットとペンを使用するように設計されています。ただし、タッチスクリーン、外部デジタイザー、あるいはマウスなどの任意の入力デバイスでも使用可 能です。MIP は、クリップボードを介して、標準化された数学的なマークアップ言語である MathML フォーマットで認識結果を出力します。MIP で手書きされて認識された数式は、完全に編集可能な形式でレプリケート先アプリケーションに出力されます。テキストを編集したいときは、出力に対して挿入 したり編集したりできます。

私たちは、可能な限り多くの数学分野と、尽きることのないさまざま数学の表記法を調査したり識別するのに多くの時間を費やしました。最終的に、高校および大学レベルの数学と、さらに高度な分野を広くカバーできました。

clip_image014_2[1]

数式入力パネル 上記の例で認識された数式をご存知ですか?これは複雑な分析で使用される Schwarz の公式です!

MIP の使用法は実にシンプルで簡単です。鉛筆と紙で書くように、整形式の数式を書くと認識エンジンに取り込まれます ( は認識されませんが、 は認識されるということです)。認識された数式は、プレビュー領域に示されます。誤りが全くない認識エンジンは存在しないので、MIP の優れた能力は、すばらしい修正エクスペリエンスで発揮されます (正直、人間でさえ何が書かれたか分からない時があります。私の手書きをご覧ください!)

手書きの数式が誤認識された場合、その部分 (シンボルやサブ構造全体など、どこでも) を選択して、ドロップダウン リストから候補を選択するか、数式の一部を書き直すことにより修正できます。通常、数式の一部分を修正することにより、自動的に残りの部分が 1 回の手順で修正されます。

clip_image020_2[1]

数式入力パネルでの修正

この後、行う必要があるのは [挿入] をタップするだけです。それにより、ワープロや計算プログラムで数式を苦労せずに作成できます。

このほかにも、履歴、インクの移動、OneNote のような他のインク アプリケーションから MIP へのインクのドラッグ アンド ドロップなど、多くの素晴らしい機能があるので、ぜひご自分でお試しください。ソフトウェア開発者のみなさん、MIP を自分のアプリケーションに埋め込むことができます – 詳しくは MSDN のドキュメント.をご覧ください。


マイクロソフトのEngineering Windows 7 ブログ より

2009年11月12日

ある一つのWindows 7 のバグ レポートのため、チームの何人かはこの 2 日、忙しく過ごしました。この問題についての詳細はそれほど重要ではなさそうなので、その内容そのものよりも今回はその例を使用して、私たちがこの種の状 況にどのように対処するか、その背景とプロセスについて説明したいと思います。

今週、あるブログで Windows 7 でクラッシュする問題が報告されました。クラッシュを再現する手順はとても簡単で、(1) システム ドライブ以外のドライブで chkdsk /r を実行すると、その後システム メモリが消費されてクラッシュが発生するというものでした。「再現」が容易だったので、この件は急速に広がりました。それに続く投稿やコメントは、この問 題が他のユーザーによっても再現されることを示していました。このレポートには 2 つの特徴があり、(a) 多くのメモリを消費して、(b) クラッシュする、ということでした。

すぐに、私はこのレポートに関する多くのメールを個人的に受け取とるようになりました。多くのみなさんと同様、私が最初にしたことは、それを試して みることでした。そして、ご想像のとおり、私はどちらの問題も再現できませんでした。が、メモリの使用は確認しました。別のコンピューターでもやってみ て、同じことを確認しました。どちらの場合も、コンピューターは chkdsk 中も chkdsk 後も正常に機能しました。いつものように、私は受信したほとんどのメールに返信し、クラッシュの再現手順の説明と、システム ダンプ ファイルの共有をお願いしました。メモリの使用については、クラッシュほど心配ではありませんでした。興味深いメールのやりとりをかなりの数しましたが、 再現ケースに関する手がかりや対処すべきクラッシュ ダンプを得るには至りませんでした。

もちろん、Microsoft 社内で最初にこれを知ったのは私ではありません。ファイル システムのチームは、直ちに問題を調査し始めていました。彼らもまた、クラッシュを再現することができませんでした。彼らの分析によると、このメモリ使用 は計画的なもので、このシナリオに対する Windows 7 特有の変更点でした。(/r フラグは、排他的ロックを使用してディスクを修復します。したがって、私たちの仮定は、コンピューター上で何かを行う前に、ユーザーはディスクが修復され て欲しいと考えているということです。これは、このトピックに関するその後の複数の第三者によるブログ投稿によって立証された仮説でもあります)。私たち はさらに調査を進め、クラッシュ ダンプとレポートを探し続けました。下記に述べるように、私たちは自由に使えるかなり多くのツールがあります。

調査を続けている間、私が受け取るメールの雰囲気はエスカレートし、さらに重要なことに、私が返信したうちの 1 人が、ブログの投稿で私たちのメール交換について言及しました。そのため、電子メールでふつうに対話しようとしていましたが、それは話し合いの途中で終了 せざるを得ませんでした。Windows 7 の開発中、きわめて慣例的に行ってきたように、私は元のブログ (および、この特定のメル友がコメントしているブログ) にコメントを追加し、私たちが行っている手順やその時点でわかっている情報を説明しました。面白いことに (残念なことではありません)、コメントを投稿するだけで、取り上げられたこの問題にさらに多くの注意が向けられました。個人的に、私は広いコミュニティ のメンバーであるのが大好きなので、多少混乱を引き起こすような場合でさえ、当事者になることを楽しんでいます。

クラッシュの問題に関するレポートを受け取ったときの内部プロセスは、まさに説明する価値があります。数年前まで、私たちは次の 2 つの対応のうち、どちらか 1 つを行っていました。バグを見つけられそうにないので降参する、あるいは、すべてを後回しにして、再現可能なケースを見つけられるかもしれないという希望 を抱いて、ターミナル デバッガーを持って飛行機に乗る、です。このどちらも特別に効果的であるということはなく、後者は非常に英雄的に聞こえますが、努力にみあった結果を生み 出しません。最も重要なことは、クラッシュの可能性があったとして、それがただ 1 つの事例なのか、それとも多くのユーザーが遭遇している、または遭遇しうるクラッシュなのか、私たちには分からないということです。私たちは判断の材料と なるデータなしで作業していました。

今では、インターネットと製品 (Windows 7 だけではありません) に組み込まれた遠隔測定によって、私たちはソフトウェアの全体的な状態に関して、はるかに明瞭に観察できるようになりました。したがって、初めてクラッ シュの報告を受けると、私たちは、そのクラッシュがほかの何百万台ものコンピューター上で発生しているかどうかを確かめます。これは全体的には役立ちます が、クラッシュが 1 つの特定の構成である場合は、もちろん役に立ちません。ただし、統計的に妥当なコンピューターのサンプリングがなされれば、1 つの特定の構成上のクラッシュでも明らかにできます。一定のユーザー ベースの大きさがあれば、これが、そのケースであることはほとんど確実です。たとえば、私たちは報告されたすべてのクラッシュの呼び出しスタックを照会し て、特定のプログラムがそのスタック上にあるかどうかを確かめられます。

遠隔測定でクラッシュを見つけたとき、私たちには自由に使えるツールがいくつもあります。もしかすると、みなさんは、クラッシュしたときにこれらが 動いているのを見たことがあるかもしれません。送信してもらうデータの量を (同意により) 増やすことができます。クラッシュへの対応として、サポート技術情報を掲載できます (Windows 7 では Action Center で通知されます)。「電話してください」と言うことすらできます。正気でないように聞こえるかもしれませんが、時には役立ちます。出荷済みの製品で突然ク ラッシュの問題が発生した場合は、事情は多少異なります。おそらく新しいハードウェア デバイス、新しいデバイス ドライバー、あるいは他のソフトウェアが、以前よりも頻繁にクラッシュを生じさせる原因です。しばしば、単に変更したものを確認するだけで、問題の診断に 役立ちます。私がこのことを学んだ初めての機会の 1 つが、ある日突然 Word でクラッシュが起こり始めた時です。私たちは何も変更していませんでしたが、人気のあるアドインの新しいバージョンがリリースされ、そのアドインでクラッ シュが発生していることが分かりました。しかし、もちろん、エンド ユーザーには Word がクラッシュしているとしか見えません。私たちは、修正プログラムを送り出すためにソフトウェア メーカーと協力する一方、アドインを削除する手順を急いで提供しました。この、変化する状況を見て、診断し、問題に対応する能力は、製品の問題についてど のように考えるかを根本的に変えました。

私たちは絶えず、新しい問題と頻繁に生じる問題 (クラッシュ、ハング、デバイスが見つからない、セットアップの失敗、潜在的なセキュリティの問題点など) を調査しています。実際、企業や OEM の顧客 (そして、つまり、ハードウェア パートナーやソフトウェア メーカーなど) と協力しながら、月に何百もの問題点を調査します。しばしば、コアの Windows コード以外のコード (ドライバー、ファームウェア、ソフトウェア メーカーのコードなど) の変更によって問題が解決することを発見しました。これは、責任逃れをしようということではなく、根本的な原因において修正を行う手助けをするということ です。また、毎月の更新プログラム、修正プログラム、および Service Pack で見られるように、Windows の多くのコード変更を行います。修正のほとんどは広範囲に適用可能ではなく、そのため緊急にはリリースされません。広く適用可能な場合は、広くリリースす ることをお知らせします。私たちが、広く送り出そうとする変更の量のバランスを取りつつ、広範囲のユーザーに影響を与える重大な問題がないようにする責務 をいかに真剣に受けとめているか、みなさんに理解していただくとこはとても重要です。

Chkdsk ユーティリティの調査について、私たちがこの 2 日間どのように仕事に没頭していたかを具体的にお伝えしましょう。私たちはまず、クラッシュの遠隔測定 (ユーザー レベルと「ブルー スクリーン」レベルの両方) に目を通しましたが、chkdsk に関して報告されたクラッシュは見つかりませんでした。もちろん、Windows 7 の開発中に見つかった既存の問題のレポートにも目を通しましたが、何もわかりませんでした。報告された既存のクラッシュ (報告当初からのすべての種類) の呼び出しスタックを照会しましたが、クラッシュの際に chkdsk.exe が実行されているものは見つけられませんでした。そこで、私たちはたくさんのコンピューター上で自動テストを実行し始めました。これらを夜通し実行し、2 日間続行しました。さらに、特定のハードウェア構成に関連づけられたレポートを見て、そのチップ セット、ドライバーおよびファームウェアの異なる組み合わせに基づいた 40 台以上のコンピューターをセットアップし、テストを実行しました。それでも、クラッシュは発生しませんでした (前述のように、メモリ使用については既に理解していました)。コンピューターが応答しないと言う人がいたので、手動テストでそれも確認しましたが、何も 見つかりませんでした。さらに、世界中の Microsoft 社員にこの問題を伝え、試してみるよう依頼し (世界中すべての Microsoft の職場を考えると、相当数の固有の構成があります)、数百のテストを実行していました。私たちは、ページ ファイルがない状態で実行すると、クラッシュが発生するという報告を得ました。それは事実かもしれませんが、このユーティリティの問題とは言えないでしょ う。なぜなら、物理的に使用可能なメモリよりたくさんのメモリを要求するプログラムでは、物事がひっくり返ってしまう可能性があり、このような構成は汎用 的な使用には推奨されません (これは、少数の再現不可能なクラッシュに関する一般的なスレッドのようでした)。興味のある方は、一般的なページ ファイルのトピックに関する Mark のブログを参照してください。注目すべきものが何も見つけられず、問題の可能性は無視できませんでしたが、この時点で、広範囲にわたる問題である可能性は非常に少なくなりました。

一方、私たちは再現が可能なケースを調べるために、外部のブログ、フォーラム、およびの他のクラッシュに関するレポートに目を通し続けました。すべ ての人にはコンタクトしませんが、フォーラムやレポートがよい成果を導きそうな場合は問い合わせます。公平に見て、火元を見つけようとしているときに多く の「煙」が上がっていると、手助けになりません。私たちは山と積み上げられた多くの「致命的な問題」のコメントを受け取りましたが、追加情報は多くなく、 再現可能なケースやクラッシュ ダンプが不足していました。

体系的にクラッシュを排除した、またはクラッシュが発生する状況が定義できたと私たちが納得できるまで、この種の作業は続行されます。これはハード ウェア/ソフトウェアに関連する問題なので、このトピックに関して、さまざまなハードウェア メーカーの皆様からの情報を歓迎します。このケースでは、ディスクと関係があったので、ディスクが実際に壊れているか壊れそうになっていて、/r による修復中のディスクの過度の使用が問題を引き起こしているという可能性を排除することができません。また、(ご想像のとおり) コードはこのような障害を処理するように設計されていますが、特定の障害が適切に処理されない可能性があります。実際、テストラボで(数日間テストを継続 的に実行していて)、これに関連する障害に 1 回遭遇しました。そのクラッシュは、ディスク用のコントローラーのファームウェア上で発生しました。言うまでもなく、私たちは引き続きこの特定の問題を調 査します。

私たちがどれほど真剣にこれらの問題に対処しているかをみなさんに知っていただきたいと思いました。ブログやコメントは時々とてもエキサイトしてい ます。「致命的な問題」のようなものを見ると、誰も注意が引かれます。しかし、それらは建設的かつ合理的な調査を行う助けにはなりません。大規模なソフト ウェア プロジェクトは、本質的に極めて複雑です。環境や構成に依存する問題がしばしばあります。既にご存知のように、ソフトウェアはそれが当然だと思われていま すが、問題を再現できないことがあります。レポートを調査する方法についてはとても明瞭なプロセスがあり、Windows が、変化する状況に直面してさえ、確実に正常な状態を保つことに重点を置いています。私はこの投稿でいくつかの問題の見方をお伝えしようと思いました。

ソフトウェアのバグを見つけることは常に素晴らしいことです。それが ATM であろうと、映画チケット販売機であろうと、Windows であろうと、そう機能すべきだと思われるように機能していないものを見つけ出すことに、私たちは皆ある誇りを感じています。Windows は多くの人々の製品であって、単に Microsoft の人たちのものではありません。何かが意図されたようになっていない場合、問題に対して効果的に対処できるようにするため、さまざまなパートナーと協力し ています。私たちは皆、これからも問題を調べ続け、Windows に期待している品質レベルを維持するためにコードを変更しなければならないような問題が将来発生するであろうことを承知しています。それと同様に、私たち がこの責務をどれほど真剣に受けとめているかをみなさんにわかっていただければ幸いです。

マイクロソフトのEngineering Windows 7 ブログ より

2009年11月12日

みなさんにはWindows 7 ベータ版 を使用してくださるようお願いしてきましたが、それは手間がかかる作業です。そして次のマイルストーンでも私たちは同じことを皆さんにお願いしようとして います。しかしベータ版のリリースは、大変な数のとても厳しいテストや使用により、Windows にとって実に価値があり有益なテストサイクルでした。1 月以来、何百万もの人が ベータ 版をインストールして使用してきました。そして、お話したように、フィードバックや遠隔測定は、製品を仕上げるうえで実に価値のあるものでした。ベータ テスターのみなさんの貢献により、高品質の製品を何億ものユーザーに提供できるようになりました。私たちはすでにまとめられている計画に従っており、この 投稿は計画について新しいニュースや変更を発表するものではありません。多くの人は ベータ 版を使用中だと思われるので、アップグレードに関する RC (Release Candidate) 版の動作についての注意を申し上げたいと思います。もちろん、私たちは RC 版に対し、自ら課したスケジュールに従って懸命に取り組んでいます。

ベータ プロセスの大部分は、できるだけ多くの「実世界」のシナリオやエクスペリエンスをカバーし、そのエクスペリエンス全体を遠隔測定でモニターすることです。 エンジニアにとって最も挑戦的な分野のひとつに、ある Windows リリースから他の Windows へのアップグレード プロセスがあります。考えてみてください、アップグレードを行う前、基本的にシステムのすべてを「知る」ために、一度に膨大な量のコードを実行しなければ なりません。Windows 7 の開発中、何百回とオリジナル OEM イメージの Windows Vista からのアップグレードを日常的にテストし、そしてアップグレードの成否を検証するために自動テストを実施しました。また、何千ものアプリケーションと何千 ものデバイスについても、アップグレード プロセスで正しく移行できるかテストしました。

多くの人は Vista が動いていた PC に Windows 7 ベータ版をインストールしていました。遠隔測定でそれが判明し、それに対応してきました。ベータテストの期間中、アップグレードのエクスペリエンスを改善 し続けることができたと信じています。同様に、遠隔測定によると、大多数の人は新しいパーティションに新規インストールしていました。この遠隔測定を通し て、デバイスのエコシステムと、どのドライバーがすでにあり、どれが足りないかがわかりました。また、ボタンやコネクター、その他のハードウェア コンポーネントのサポートを有効にするために、(XP または Vista からの) ドライバーやアプリケーションのインストールが必要な PC に固有の機能についてもわかりました。あわせて、私たちはセットアップ エクスペリエンスの広いエリアをカバーできました。

また、(何百万もの) 多くの人は Windows 7 ベータ版を常時使用していることもわかりました。みなさんは最新版を心待ちにしていらっしゃることでしょう。みなさんは、すべてのアプリケーションをイン ストールし、システムを設定してカスタマイズされてきました。そして、RC 版を入手して、すぐにでも ベータ版からアップグレードしたいと思っていらっしゃることでしょう。しかしながら、RC 版は、実世界のシナリオで製品を検証するために、広範囲で使用されることを目的としています。そのため、みなさんには、既存の ベータ版からアップグレードするのではなく、Vista イメージの状態に戻してからアップグレードまたは新規インストールされることをお勧めします。それは再インストール、再カスタマイズ、再設定、などを意味 することはわかっています。そして、それはとても面倒なことです。しかし現実は、あるプレリリース版から他のプレリリース版へのアップグレードは重きを置 いているシナリオではありません。なぜなら、それは実世界のユーザーが体験することではないからです。開発中、製品 (の中身) に変更を加えますが、私たちが「ビルドからビルド」へのアップグレードと呼ぶものに対して、常に互換性があるとは限りません。サポートされたアップグレー ドのシナリオは、Windows Vista から Windows 7 です。ビルド間のアップグレードが絶対に必要であれば、そのメカニズムを提供したいと思いますので、このブログのコメント セクションへ移動する前にお読みください。開発チームのメンバーの一員として、またベータプログラムの参加者として、みなさんには、実世界のセットアップを体験し、実世界の遠隔測定データを提供してくださるようお願いいたします。

下記の手順を踏むと、アップグレードに奇妙な現象に遭遇するかもしれません。マイクロソフト社内でもたまに経験しますが、問題を突き止めて修正する ことはしていません。なぜなら、この問題は一回限りのプレリリース版での作業でしか現れないので、他のバグに時間をかけたいからです。ときどき、私たちが オフィシャルにリリースしていないビルドを使用して、アップグレード後の「不安定さ」について不満を言っているブログを見かけます。が、たいがいの問題 は、ビルド間の問題によるものです。メッセンジャー クライアントが動かなくなった、プリンターやデバイスが「消えた」、スタート メニューのショートカットが2重になっている、といったことを言う人を見てきました。多くの場合は問題になりませんが、最悪の場合はソフトウェアやデバイ スをインストールしなおさなければなりません。

私たちは決定論的で、実世界で役に立つ製品を作ろうとしているだけです。実世界と言ったとき、多くの人は Windows XP からのアップグレードがどうなるか疑問に思っているでしょう。それについては、これまで多くのフォーラムで説明してきたように、計画に変更はありません。 このプロジェクトを始めた時、XP からの「アップグレード」はすばらしいエクスペリエンスをもたらさないであろうことがわかりました。なぜなら、PC の設定方法 (アプレット、ハードウェア サポート、ドライバー モデルなど) に膨大な変更があり、それらを Windows 7 へ持ち越してサポートするのは、新規インストールするほど高品質な結果になりそうにないからです。このことは、多くの人がわかっていて、すでに経験されて いることです。私たちはファイルや設定の移行のサポートを提供し、セットアップ時にも指示するようにする予定ですが、アプリケーションは再インストールす る必要があるでしょう。あるユーザーにとっては、このトレードオフは割が合わないものかもしれませんが、先行投資する時間は十分に価値のあるものだと思い ます。

RC より前のビルドからアップグレードしようとしたとき、実際にはできなくて、そのまま終了しないといけないということがわかるでしょう。新規インストールは可能で、もしアカウント、設定、ファイルなどを移行したければ Windows Easy Transfer の機能も使用可能です (もちろん、現在インストールされているところから起動します)。バージョン チェックをスキップするには、下記の手順のように企業ユーザーのために用意されているメカニズムを使用します (私たちもこれはテストしています)。単純なコマンド ライン スイッチではありません。わざと複数の手順にしたわけではなく、実績があり、ドキュメント化され、テストされたメカニズムを使うことにこだわりました。

この説明書は簡略版です。これを読まれているみなさんは、経験豊かで精通したベータテスターですから、いかなる OS でもインストールを実行する前にはいつもマシンのバックアップを取ることと、OS を自分のデータが 1つしかない環境ではテストしないことは ご存知でしょう。プレリリース製品をテストするということはそういうことです—これはテストであり、正式にリリースする前のものです。たとえ、RC (製品候補) 版であったとしても、まだ製品はテスト中です。私たちは非常に強い自信がありますが、万が一エラーが発生するかもしれないので、みなさんには通常のプレリ リース製品と同様に予防策を講じるようお願いいたします。

関連した注意事項として、Microsoft からオフィシャルにリリースされたビルドのみをインストールすることが あげられます。「最先端」のビルドを入手することは常に心をそそることですが、そのビルドに対して何がされているか本当のところはわかりません。最新のも のを手に入れるのはワクワクしますが、定量化すらできないリスクも伴います。RC では、ハッシュ値またはそのほかの方法でビルドを認証できるようにする予定ですが、ベストな方法は常に Microsoft から直接ダウンロードすることです。

下記は、もし本当に必要なら、プレリリース アップグレードのチェックをスキップするための方法です。

  1. ISO イメージをダウンロードし、DVD に焼きます。
  2. アップグレードを実行したいストレージの場所 (ブート可能なフラッシュ ドライブ、またはプレリリース ビルドが動いているマシンのいずれかのパーティション内のディレクトリ) に全イメージをコピーします。
  3. [sources] ディレクトリに移動します。
  4. メモ帳などのテキスト エディターで cversion.ini ファイルを開きます。
  5. MinClient のビルド番号を、古いビルド番号より小さい数字に変更します。たとえば、7100 を 7000 に変更します (下記の図を参照)。
  6. ファイルを同じ場所に同じ名前で保存します。
  7. この変更したイメージから、通常どおりにセットアップを起動します。するとバージョン チェックがスキップされます。

clip_image002_2[1]

同様の手順が、RC のマイルストーンから RTM (最終製品) のマイルストーンへ移行する際にも必要になる予定です。

繰り返しになりますが、多くの人 (Microsoft 社内の何万人も含めて) は、Windows 7 のプレリリース ビルドを基幹業務や毎日の仕事で頼りにしており、この手順は決して便利とはいえないことはわかっています。私たちは非常に高品質な製品を提供するために一 生懸命取り組んでおり、このテストの最終段階ではできるだけ実世界のシナリオをサポートするようにしたいと考えています。つまり、ビルドからビルドへの上 書きアップグレードは、そのようなシナリオではないのです。同時に、ベータ版の時みなさんは大変すばらしかったので、少なくとも、自身の専門性を活用して 十分な説明を受けたうえで、アップグレードをどう処理するかについて選択のチャンスを提供したいと思いました。

私たちは常に、リリース前後の興奮やプレリリース版の実行を選んだ人々のサポートや熱意を謙虚に受け止めています。私たちはプレリリース版を実行す るために費やされたみなさんの時間や努力に対して大変感謝しています。お返しに、製品の進化の各段階で、すばらしいリリースを提供したいと思っています。 次は RC です。

追伸: 上記の手順 1 において、多くの人は「なぜ DVD に焼かないといけないのか? ISO をマウントするだけではいけないのか?」と思われるかもしれません。そのようなフィードバックをこれまでにもいただいており、それは当然のことです。 Windows 7 にはこの機能はありませんが、あるべきだと思っています。マウントするためのサードパーティー製のツールがいくつかあるので、Vista のイメージがあれば、PC にそのようなツールが付いてきているかもしれません。

マイクロソフトのEngineering Windows 7 ブログ より

2009年11月12日

こんにちは、今回はWindows7のプロフェッショナルから利用できる「XPモード」の紹介です。
このXPモードとは、Windows7上でシミューレータ(仮想)で動作するアプリケーションの事です。

仮想XPマシン上で動くXPモードとは
互換性が低いとの酷評を浴びたビスタ。
7では反省を踏まえXP用に造られソフトを動かす専用の環境が用意されました。
それが、「XPモード」です。
主にビジネスでの利用が想定され、アルティメットとプロフェッショナルで利用できます。
他エディションでも使える「互換モード」と違い、仮想環境で動作します。

全エディションで使える「互換モード」や「XPモード」など、Windows7では従来のソフトが実行できる事を重視している。
しかし、ここで重要なのは動作するにはマシンスペックの条件があるという事である。

仮想マシンが動く動作環境が必要
XPモードは、仮想マシンを作り出すエンジンとして「バーチャルPC」を利用する。
仮想環境で十分なパフォーマンスを実現するため、CPUの仮想支援機構が必要だ。
具体的には「インテルVT」か、「AMD-V」と呼ばれる機能をCPUがもつ必要があります。
ここ最近のCPU「Core 2 Duo」や「Core i7」「Core i5」であれば問題ありません。

あなたが使っているパソコンのCPUの種類を調べるには、マイコンピュータを右クリックしてプロパティで確認するか、
より詳しく確認したい場合は、こちらチェックツールなどで確認できますので、購入前に確認してみるといいでしょう。

XPモードが利用できるかチェックできるツール
こちらのページからダウンロードできます。
VirtualChecker 1.0
VirtualChecker 1.0

どんなチェック結果が表示されるのか?
Windows 7 の新機能(上位エディションのみ)である Virtual Windows XP を使用するためには、
Intel VT/AMD-Vが実装されているか、実装されていても利用可能かどうかを表示してくれる。
未対応」と表示された場合は利用できません。
※CrystalCPUID4 では、有効か無効かを判別することはできません。

まずはこちらで動作確認をしてみましょう。
次回は「XPモードのインストールと動作結果」の紹介をします。

2009年11月10日