次の方法で共有


Windows 秘話: バルーンに注意

場合によっては、すぐに対応しない方が良いこともあります。せっかちな方は、辛抱する必要があります。

Raymond Chen

エクスプローラーで、プログラムが通知領域にバルーン ヒントを表示する機能が追加されたときには、ひどいバグがありました。

DirectX ゲームや全画面表示モードのコマンド プロンプトなど、全画面表示でプログラムを楽しんでいるとしましょう。そうですね、実際にはコマンド プロンプトは楽しむものではないかもしれませんが、このコラムの都合上、楽しんでいたということにさせてください。警告もなく、全画面表示モードが中断され、突然デスクトップ表示に戻ったとしましょう。

このとき、エクスプローラーでは特徴的なポンという音を鳴らします。バルーン ヒントが通知領域に表示され、まったく関係なく取るに足りないイベントが通知されます。バルーン ヒントでは、先週バックアップを実行しなかったこと、印刷ジョブが完了したこと、Windows がワイヤレス ネットワークのシグナルの無意味な変動から回復し、すべて正常に機能していることなどが通知されます。

このバグは、毎日行われるプロジェクトの進捗会議で、上層部の大きな関心を集めていました。上層部は、エクスプローラー チームの責任者を呼び出して、この致命的な小さなバグについて叱責しました。エクスプローラーがあまりに尊大で、重要でないメッセージを表示するため、ユーザーは作業内容にかかわらず操作を中断することになります。

当初、エクスプローラー チームの責任者は、何の弁解もしませんでした。「この問題の原因は特定できていません。想定外の動作です。確かにこれは不適切な動作なので、原因の解明に当たっています」と述べていました。

調査には数日かかりましたが、ついにエクスプローラー チームは、望ましくない動作の原因を突き止めました。ユーザーが全画面表示でアプリケーションを使用している場合、バルーン ヒントは、全画面表示モードが終了するまで、エクスプローラーでバルーン ヒントを表示しないように設計されています。礼儀正しいことですね。

そのため、バルーン ヒントが原因で、全画面表示モードが終了することはありません。実際には、その反対で、バルーン ヒントは全画面表示モードを優先して、ユーザーがデスクトップ表示に切り替えるのを辛抱強く待っています。

アプリケーションの全画面表示モードを終了するように指示していたのは、エクスプローラーではありません。実際には、Windows の他の要素が、アプリケーションの全画面表示モードを終了する指示をして、デスクトップ表示に戻していました。エクスプローラー チームは、問題の原因となっているコンポーネントを特定すると、問題の原因を突き止めて、問題を簡単に修正することができました。

バルーン ヒントが問題の原因ではなかったのに、なぜ、当初はバルーン ヒントだけが注目されていたのでしょうか。実際には、問題のコンポーネントが原因で、全画面表示モードが終了されると、エクスプローラーでは、ユーザーがデスクトップ表示に戻ったと認識していました。エクスプローラーでは、「我慢してかなり待ったが、やっとバルーン ヒントを表示しても問題ない状態になった」と解釈していたのです。

この一連のイベントにより、結果的に、エクスプローラーが、他の要素のバグによる結果をただ利用したのではなく、バルーン ヒントを表示するために、全画面表示モードを終了するように指示したように見えた、ということです。

この認識の問題の解決策は、非常に簡単でした。ユーザーが全画面表示のアプリケーションを終了して、デスクトップ表示に戻ったとき、エクスプローラーでは、すぐに対応するのではなく、数秒待機してから、バルーン ヒントを表示します。この簡単な変更により、ユーザーによる状況の見方が大きく変わりました。

この変更はうまくいきました。この小さな変更により、注目を集めていたバルーン ヒントに関する苦情は収まりました。場合によっては、すぐに対応しない方が良いこともあります。

Raymond Chen

Raymond Chen は自分の Web サイト「The Old New Thing」および同じタイトルの書籍 (Addison-Wesley、2007 年) で、Windows の歴史、Win32 プログラミング、そして黒い粘着テープの幻の修復力について触れています。

関連コンテンツ