確認ダイアログボックスのインフレを防げ

概要

 「本当にいいですか? [はい] [いいえ]」という種類のダイアログボックスの目的は、間違って実行したときに困ったことになる「重大な操作」を他の「重大でない操作」から区別することです。だから、ソフトウェア開発者は、まず重大な操作を重大でない操作に変えるよう努力して、それでも残った重大な操作にだけ確認ダイアログボックスを付けるべきです。例として Windows XP の GUI でのファイルの削除と Gmail でのスレッドの削除を取り上げます。

はじめに

 以前は、 [閉じる] ボタンを押すと次のようなダイアログボックスを表示するソフトをよく見かけたものです (下の画像は Windows XP で作ったものです)。

「○○を終了してもいいですか? [OK] [キャンセル]」というダイアログボックス

 この馬鹿め。終了したくなければ [閉じる] ボタンなど押さぬわ。

 このような「いいですか? [OK] [キャンセル]」という種類の「確認ダイアログボックス」は世の中に過剰に存在します。確認ダイアログボックスが頻繁に表示されると、ユーザーは確認に対して無意識に「はい」と答えるようになってしまいます。そうなると、本当に間違って実行してはいけない重大な操作を確認ダイアログボックスによって防ぐことができなくなります。確認ダイアログボックスのインフレと呼んでよいでしょう。

 最近では過剰な確認ダイアログボックスが少しずつですが減ってきたように感じます。嬉しいことです。

 確認ダイアログボックスを減らすには、単に確認ダイアログボックスを表示するコードを取り除けばいいというものではなく、確認ダイアログボックスがいらなくなるようにソフトウェアのユーザーインターフェースをデザインしなければなりません。

 ここでは、まず確認ダイアログボックスのインフレの実例を見て、なかなか改善できない理由を考えます。次に、確認ダイアログボックスのインフレを防ぐために実際に行われている例を見ます。

Windows 95 の快挙と落胆

 Windows 95 の快挙の一つは、 Macintosh で採用されているゴミ箱のメタファーを取り入れたことだと思います。

 (皮肉ではありません。良いものは取り入れればいいと思います。 Mac と Windows はユーザーインターフェースが全然違うので、 Mac のユーザーインターフェース要素をそのまま Windows に持ってくることはできません。だから、 Windows に合った形に変えて取り入れる必要があります。 Windows 95 ではちゃんとごみ箱を Windows のユーザーインターフェースの中に位置付けました。名前を Trash Box から Recycle Bin に変えたのは、位置付けとは何も関係なく、ただの可愛い意地だと思いますけど。)

 ファイルをカットアンドペーストまたはドラッグアンドドロップで移動し、それと同じ操作でごみ箱に移動すると削除になる。移動も削除も元に戻せる。これは間違いなく従来の Windows からは重要な改善です。

 それなのに (下の図は Windows XP のものです)。

「'memo.txt' をごみ箱に移しますか? [はい] [いいえ]」というダイアログボックス

 このダイアログボックスは残ってしまいました。これがどんなに悪いことかは、 USB メモリーなどリムーバブルメディアの中のファイルを削除しようとしたときに判明します (これも Windows XP の図です)。

「'memo.txt' を削除しますか? [はい] [いいえ]」というダイアログボックス

 Windows では、実装の都合により、リムーバブルメディア内のファイルはごみ箱に入りません。だから、間違ってこの確認に「はい」と答えたら、消してしまったファイルは元に戻せません。

 二つのダイアログボックスを比較すれば、全然違うのは一目瞭然です。でも、そんなの僕は見ません。僕は不注意なんです。不注意な僕でもちゃんと間違えずに操作できるように、手助けしてほしいのです。なのに、全然違う状況で、「いいですか? [はい] [いいえ]」という似たようなダイアログボックスが出てくるのは、嫌がらせだとしか思えません。そんなに注意力が有り余っているなら、間違ってファイルの削除を選ぶなんてこと、最初からしませんよ。

確認ダイアログボックスの目的ともう一つの過ち

 確認ダイアログボックスは何のためにあるのでしょうか。もちろん、ユーザーが間違った操作を実行するのを防ぐためです。でも、どうして間違った操作を実行してはいけないのかといえば、操作した後で取り消せないからです。

 人間は間違えるものなのだから、人間のためにソフトウェアを作るなら、操作は取り消せるようにするべきです。その点で、 Windows 95 は Windows 3.1 から大きく進歩しました。そうしたら、今度は取り消せる操作で確認ダイアログボックスを出すのをやめるべきだったのです。それをしなかったマイクロソフトは失敗しました。

 じつはこれらの削除に関する確認ダイアログボックスは表示しないように設定できます。ごみ箱のプロパティで「削除の確認メッセージを表示」というチェックボックスを外せばいいのです。しかし、そうすると今度はごみ箱への移動のときだけでなく、ごみ箱素通りの削除のときも確認ダイアログボックスが表示されなくなります。そうじゃないだろー! 僕は、ごみ箱への移動という取り消せる操作の確認はやめてほしくて、ごみ箱を素通りする削除という取り消せない操作だけ確認してほしいんです。そうでないと不注意な僕には二つの場合の区別が付かないから。まったくもう! 確認ダイアログボックスの意味をわかってない!

 Windows Vista でこのあたりがどうなっているのか知らないのですが、 Vista かその次のバージョンでは、取り消せる操作では確認ダイアログボックスを出さず、ごく一部の取り消せない操作でのみ確認ダイアログボックスを出すというのを徹底してもらえたらなあと思います。まあ、デフォルトを今の状態から変更すると、それはそれで苦情がきそうですけど。まずはリムーバブルメディアのファイルの削除も取り消せるようになってくれると確実に便利になります (フロッピーディスクだったら、容量が少なく読み書きも遅くいつ取り出されるかわからないという悪条件が重なっているので技術的に困難なのはわかるのですが、 USB メモリーの中のファイルの削除を取り消せるようにするのは現実的なのではないかと思います)。

Gmail の場合

 過去のしがらみがほとんどなく、過去からのユーザーをつなぎとめる必要のない Gmail の場合、話はもっと簡単です。他のソフトがした失敗を見て学び、自分のところはちゃんとすればいいのです (それを実行するのは言うほどたやすくはありませんが)。そんなわけで、当然といえば当然なのですが、ちゃんとしています。

Gmail の「スレッドをゴミ箱に移しました。 [取消]」という表示

 メールのスレッドをゴミ箱に移動するときに確認を表示するという選択肢はありません。代わりに移動すると必ず「取消」というリンクが表示され、これを選ぶことで元に戻せます。ここまでは結構。

 一方、ゴミ箱や迷惑メールフォルダにあるメールでは「完全に削除」を選ぶことができ、その場合は確認なく本当に削除され、取り消せません。でも、これは改善の余地があるのではないかと思います。例えば迷惑メールフォルダに間違って入ったメールを選んで「迷惑メールを解除」ボタンを押そうとして、ぼうっとしていて隣の「完全に削除」ボタンを押してしまったら、元に戻せません。「完全に削除」が元に戻せたら、ディスク容量がいくらあっても足りませんが、例えば「完全に削除」ボタンを押した後 5 分間くらいは元に戻せるようになっていてもいいのではないかと感じます。

2007 年 1 月 27 日公開。著者: fcp / このサイトについて