web-dev-qa-db-ja.com

ユーザーが警告に麻痺するのを防ぐにはどうすればよいですか?

私は最近、これについて何度も考えています。なぜなら、何度か後ろに私を噛まれたからです。

Windows VistaのWindowsユーザーアカウント制御について考えてください(Windows 7の場合はそれほどではありません)。考えられるのは、マシンを破壊する可能性のある何か(システムフォルダーをインストールしようとするマルウェアやシステムフォルダーを開くなど)が発生すると、UACがポップアップし、何が起こっているのかを確実に認識させることです。

パワーユーザーとして、私はUACコントロールをたくさん手に入れました。自動的に却下するところまで。だから、それが私を救った可能性があった(Webサイトがハッキングされて私のマシンにウイルスがインストールされていた)とき、私は自動的に[はい]をクリックしました。

Xboxの別のシナリオでは、多くの「これを実行してもよろしいですか」というプロンプトが表示されます。再び私はそれらを自動的に受け入れます。

さて、私がそれを受け入れずに受け入れたダイアログが消えたので、「これにより、接続されているすべてのストレージのプロファイルが消去されます。本当に実行しますか?」その結果、Xboxから1年間分のゲームセーブが失われました。ファイトナイトのボクサー、レーサーインニードフォースピード、ブルードラゴンの完全にパワーアップされたウォリアー(および60時間のゲームプレイ)は、私が本当に払う必要があったときまでに「本当によろしいですか」というプロンプトが殺到したため、すべてなくなりました。注意、私はそれらを無視するように指示されていました(EULAと利用規約のダイアログでeveryoneが自動的にクリックして同意するように)。

それはオオカミを泣かせることの問題ですか?それとももっと何かありますか?重要なイベントを無効にすることなく、ユーザーに意識させるにはどうすればよいですか?

153
Michael Brown

主に泣いているオオカミです。ユーザーがコマンドを選択する時間の99%は、まさにそれがユーザーの意図することです。そのため、メッセージを見ても、すぐに[OK]ボタンを押す習慣を身に付けることができます。デザイナーは、あいまいなメッセージ、不完全なメッセージ、不快なメッセージを頻繁に提供する状況を支援しないため、ユーザーが時間をかけて実際にメッセージを読んだとしても、本当に進むべきかどうかを判断するのに役立つ情報は得られません。代わりに、ユーザーはできるだけ早く通過するだけで報われます。

ソリューションについては:

警告はできるだけ使用しないでください。それらは本当に例外的な状況でのみ表示されます。アプリの通常の使用でメッセージボックスが表示される場合は、UIが間違っています。

  • 何が起こるかを明確にすることにさらに依存beforeユーザーはコマンドを選択します(たとえば、ユーザーの言語でラベルをクリアする、共通のコントロールから離れた危険なコントロール)。プロファイルを削除すると保存されたゲームも削除される場合、画面にはプロファイルに保存されたゲームが含まれていることがグラフィカルに表示されます。

  • アクションをコミットするのと同じくらい簡単に、アクションを元に戻すことができるようにします。これは、元に戻す機能を使用することができます。元に戻すのが簡単であれば、警告は必要ありません。プロファイルを削除しないでください。リサイクルしてください。

  • 警告を必要としないように、危険なコマンドの危険性を減らします。ユーザーがめったにすべてを選択する必要がなく、誤ってドキュメント全体を削除してしまう可能性がある場合、アプリでCtrl-Aアクセラレータをすべて選択したくない場合があります。プロファイルを削除しても保存されたゲームが削除されないようにすることはできますか?保存したゲームの削除を別の操作にすることはできますか?

一目で警告を有効にします。正しく実行し、本当に必要な場合にのみ警告が表示される場合でも、ユーザーのOK反射は他のアプリから十分にトレーニングされているため、どのように警告が表示されるかを十分に確認してから、それを乗り越えるために。ユーザーのトレーニングにもかかわらず、彼らが警告の重要な要素を取得する可能性を最大化する必要があります。

  • テキストはできるだけ簡潔に(ただし完全に)する必要があります。 「ボクサークレイグクラッシャーのプロファイルを削除しようとしています。これにより、このプロファイルに関連付けられているすべての保存済みゲームが削除されます。これを本当に実行してもよろしいですか?」 「クレイグクラッシャーと彼の保存したゲームを削除しますか?」と言います。

  • 単に「OK」や「Yes」ではなく、実行ボタンにコミットするアクション(「Delete」など)のラベルを付けます。少なくとも、ボタンを見ているユーザーを当てにすることができます。ユーザーが「コピー」を押すつもりなら、彼らは間違っていることがわかります。

  • 結果を表すために、各メッセージに一意のアイコンまたは画像を与えることを検討してください。一目で鮮明な画像を加工できます。何が起こるかをグラフィカルに表示します(例:Craig Crusherが溶解します)。影響を受けるものが全体の親ウィンドウに表示できない場合は、メッセージボックスに表示します。

例については、 結果の検証 に対する私の回答を参照してください。 Of Dialogs and Detritus でメッセージボックスのペストに対処する方法について詳しく説明します。

120

結果が本当に悲惨な可能性がある状況では、githubからこのアイデアをコピーできます。

enter image description here

危険なアクションがマークされ(背景の赤いバー)、ユーザーはこのボックスを強制的に読み取られ、ボタンを押すだけでは不十分であることが確認されます。 1年に1回使用される「大量の大量のデータの収集」以外の目的で使用すると、猛烈なユーザーが発生することに注意してください。

91
Bulwersator

基本的には、「ユーザーが誤った決定をしないようにするにはどうすればよいですか?」 (この場合、重要な警告を無視するという誤った決定)。

注目に値するこれは、そもそも過度の警告のすべてにつながったのと同じ衝動です!

答えは次のとおりです。できません。ユーザーが有害な決定を自由に選択できないようにしようとすると、すべての人を困らせるだけです(次に、プログラムが終了するかどうかを確認するメッセージが表示されたら、コンピューターをウィンドウの外に捨てます!) 。

あなたができることできることは、ユーザーが最初に何をしているかをユーザーが理解できるように、インターフェイスをできるだけ直感的にすることです。警告メッセージは、多くの場合、不適切な設計について説明する方法です。 (あなたの例では、問題はあなたのすべての保存された情報を消去する機能があったことでしたが、それがこれをしたことはすぐには明らかではありませんでした)。

19
user31143

場合によっては、危険なアクションについてユーザーに警告する最善の方法は、...警告をまったく表示しないことです。ちょうどそれをして、何が起こったのかを明確かつ簡潔に通知します。 ただし、元に戻すボタンを追加、Gmailスタイル。実際に私は嘘をつきました、あなたは「それをするだけ」ではなく、それを行うように見えて、それが明らかになるまで実際のアクションを遅らせますユーザーは元に戻したくありません。

これは両方の長所であり、実際にアクションを実行したいユーザーは迷惑をかけずに即座にフィードバックを受け取り、誤って1秒間パニックしてから[元に戻す]オプションが表示されます。

明らかに一部のUIでは動作しません(「ああ、ウイルスルートの付与を元に戻したいですか?ええと...」)が動作するUIは素晴らしい動作をします。 XBoxの例では、削除ボタンを選択すると、設定メニューを終了するまで持続する通知All game save data permanently deleted. (Press Y to Undo)がすぐに表示され、実際にデータが削除されるのはthenのみです。

多少の複雑さが加わるかもしれませんが(xboxがクラッシュ/電力を失った場合はどうなるでしょうか)、元に戻すオプションは、適用される平均的なケースではおそらく価値があります。

13
infogulch

私が見て気に入ったアプローチは、アプリケーションのフローを壊すことです。ほとんどの場合、これは悪いUXですが、壊滅的または危険な可能性のあるアクションの場合は、良い考えだと思います。

たとえば、コンソールゲームでは、通常、下部にあるボタンは[承諾]または[OK]ボタンです。

enter image description here

したがって、すべてのデータをワイプするには、例としてYを受け入れボタンにすることができます。これにより、作業UIフローが十分に中断され、ユーザーが読み取る時間を確保できます。

フォームでは、通常とは異なるコントロールを使用して遅延を強制したり、デフォルトのボタンをキャンセルに設定したり、ユーザーがアクションを完了する前に追加のステップを強制したりできます。

enter image description here

7
Austin French

@MichaelZuschlagによる優れた応答に加えて、Linuxは特別で効果的なアプローチを使用しています(Androidは別の方法を実装しています)。アクションがシステムに影響を与える場合(新しいプログラムのインストール、コアシステムのアップグレード、予期しないソースからのプログラムのアップグレードなど)、システムは管理パスワードを要求します。

Windowsの初心者は、最初はこのパスワードプロンプトによって延期されますが、システムが危険なアクションに対してのみパスワードを要求し、安全なまたは通常のアクションではないことをすぐに理解します。オペレーティングシステムはこれを強制するため、マルウェアはそれをバイパスできません。

そうすれば、パスワードの入力を求められたときに、それが重要であることを理解したので、プロンプトを停止して読みます。

5
Paddy Landau

最後の段落であなた自身の質問に答えたと思います。常に警告を表示してユーザーを「ナニー」し、すべてのタイプのメッセージに同等の視覚的重みを与えるシステムは、自分の危険でそれを行います。

ユーザーがノイズをカットし、メッセージが本当に注意を必要とするタイミングを理解できるようにします。これを行うには、破壊アクションの構成要素を厳密に定義して信頼を築き、それらに対してのみ強く警告します。その他のメッセージ(成功、確認、助言)は、より穏やかで邪魔にならない方法で提示できます。

自分の設計作業にいくつかの指針となる原則が必要なため、これを求めていると思います。ほとんどのユーザーは、日常的に保証を無効にする専門家ではないと想定します。彼らはおそらくあなたよりもはるかに少ない破壊的なアクションメッセージを受け取り、あなたほどそれらに減衰されないかもしれません。しかし、これを知る唯一の方法は、彼らが彼らのコンピュータを再生/作業/使用するのを見ることです。

そうは言っても、適切なアラートの鍵は、メッセージのオントロジーを持つことです。いつ警告しますか?いつナッジしますか?いつ確認しますか?破壊的なアクションを保守的に定義しすぎると、あなたが言うように、警告しすぎて狼を泣かせてしまいます。また、ユーザーを正真正銘の破壊的アクションから保護することと、ユーザーを自分の愚かさから保護することとの間に線を引く場所を決定する必要もあります。保護しすぎると、その組み込みのセキュリティが、人々がオフにしたいと望む障害になります。これは、ユーザビリティとセキュリティのトレードオフの一例です。調整してテストし、スイートスポットに到達するまで再調整します。

  • RED WARNING =今すぐアクションを実行しない限り、ファイルはすべて削除されます!
  • 黄色の助言=そのファイルを削除してもよろしいですか?
  • 緑の確認=ファイルは正常に保存されました。

ユーザーは、ナッジからの成功メッセージと破壊的なアクションの警告からナッジをすばやく識別できる必要があります。彼らがあなたの情報階層を学ぶと、彼らはそれらを読まなくても自信を持って成功メッセージを吹き飛ばすことができ(メッセージの視覚的提示は彼らが成功したことを彼らに伝えるため)、うまくいけば実際に警告と本当の警告を読み、適切な行動をとります。

4
LindaCamillo

受け入れられた答えは素晴らしく、私が言ったことのほとんどを持っていますが、事前に選択されたカテゴリを使用して、最小限の更新で完全な効果を確実にするという概念を追加したいと思います。

Windows UACの場合、コンピューターに「/ programファイル内の独自のデータを使用して実行を開始したアプリは、/ windows内の任意のデータを変更しようとすると、それについての警告のように。

Android OSは、インストール前に各アプリが必要な権限を通知する必要があるという点で、この分類の一部を実行します。

4
Bill K

メッセージボックスがなんらかの理由で必要になるケースは1つではありません。これは、いくつかの理由により、これらすべてのGUIライブラリにこのような要素を配置することの大きな間違いでした。

  • 非常に迷惑です。
  • ほとんどのユーザーは、読むことなく閉じるボタンをクリックするだけです。

重要なイベントについてユーザーに通知する方法についての懸念に対処します。

  1. イベントの重要性を過大評価しないでください(接続エラーは重要ではなく、タイムアウトも重要ではありません)。
  2. 折りたたまれたイベントログを実装するウィジェットを使用します(デフォルトでは閉じる必要があります)。
  3. ログ内の新しいイベントについて、小さな点滅する色付きウィジェット(トレイの小さなLEDのようなボタンなど)で、設定可能な時間をユーザーに通知します。
  4. ユーザーにイベントの重要度を決定させます。 (これは最も重要ですが、項目1をキャンセルしません)。
2
user4674453

私が行ったテストを実行します。コンピューターをシャットダウンするログオンスクリプトを作成し、yes/noオプションを使用して「コンピューターをシャットダウンしますか」という2つの確認を追加します。ユーザーが[いいえ]を選択した場合、メッセージボックスを読んだことになります。 [はい]をクリックした場合は、「コンピュータをシャットダウンしてもよろしいですか?」というテキストを含む2番目のメッセージボックスを追加します。ここでも、はい/いいえのオプションがあります。面白いことに、95%以上のユーザーから、自分のコンピューターが機能していないとの電話がありました。このテストは、ユーザーを信頼できないこと、したがってユーザーの管理者権限がないことを証明しました。より良い:書き込み用にレジストリをロックします。必要なときにロックを解除して、再度ロックします。誰かが彼に管理者権限を付与するように依頼した場合は、「いいえ」と言ってください!

そしてあなたは正しい:「それはオオカミを泣くことの問題です」

2
user35327

また、それほど深刻ではないダイアログに「今後は表示しない」チェックボックスを含めることもできます。 "本当にやめる気?"

1
aland