正常に失敗する: ユーザー エラーの処理

クレジット:

楽器の演奏を学ぶことは、最終的には成功する (または失敗を選択する) まで、間違いがどのようにプロセスを改善するのに役立つかを示す良い例です。ピアニストが音程を外して演奏するたびに、不協和音の間違いが即座に通知され、再試行し、成功するか諦めるまで手法を改良します。

この反応は、多くの人間とコンピューターの情報モデルの基礎です。ユーザーは間違いを犯します。ユーザーはエラーを認識します。ユーザーは再び間違いを犯さないように調整します。

失敗は学習プロセスの不可欠な部分です。それは特に当てはまります設計するソフトウェアアプリケーション。

楽器と人間とコンピューターの情報モデルは、同様の方法を使用してユーザーをトレーニングしますが、重要な違いがあります。ピアノは、私が実際にそれを使えるようになるかどうかを気にしませんが、コンピューター システムの設計者はこれに関心を持つ必要があります。駆け出しのピアニストが演奏方法を学ぶことに完全に専念していない場合、頻繁な間違いに簡単に落胆し、挑戦することを諦める可能性があります。

同様に、コンピュータ システムで頻繁にエラーが発生する人は、そのシステムを使用しないことを選択するか、より良いシステムに置き換えることを選択します。優れた設計の原則を最初からシステムに適用すると、ユーザーを維持することができます。ユーザーがエラーに遭遇した場合 (必然的にエラーが発生します)、エラー処理が、初心者のピアノ奏者が間違った位置で鋭い音符を発するほど苦痛にならないようにしてください。

3部構成システム

によるとドナルド・ノーマン、システムには 3 つの部分があります。システムの設計者のメンタル モデル、システムのユーザーのメンタル モデル、およびシステム イメージ (システム自体) です。

多くの場合、ユーザー エラーは、設計者がシステムのアイデアをユーザーに正しく表現できなかったときに発生します。ユーザーをサポートできる方法は 3 つありますナビゲートするシステム内で。

1. ユーザーを理解し、最も抵抗の少ない道を示す

デザイナーは、アプリケーションがどのように使用されるかをすべて完全に把握することはできません。製品の発売日には、ほとんどの場合、ユーザーが実際にアプリケーションを使用し始めるまで明らかにされなかった予期せぬ使用例から生じる機能要求やバグ報告が殺到します。

コロラド大学コンピューターサイエンス教授で認知科学研究所のフェローであるゲルハルト・フィッシャー氏は、研究論文の中で次のように説明しています。ヒューマン・コンピューター・インタラクションにおけるユーザー・モデリング:

システムの賢い動作の結果として、エージェント (人間またはコンピューター) が間違った推測をし、ユーザーが好まない隠された変更を実行する可能性があります。現在のシステムには、ユーザーがこれらの「スマート」機能をオフにする可能性、または少なくとも透明性が欠けていることが多く、これは役立つというよりも邪魔になる可能性があります... [システム] は、たとえスマートであっても、認識しているのは人間のパートナーが経験する問題解決プロセスは全体のほんの一部であり、人間の問題解決の状況や状態についての理解を共有することはできません。

考えられるすべてのユースケースを計画することはできません。代わりに、大多数のユーザーにとって主な使用例が何であるかを判断し、それに合わせて設計を最適化します。これは、フィッシャーが後に述べたものの一部です。は「コンテキスト認識システム」と呼ばれます。ユーザー、その背景、目的を理解することで、ユーザーのニーズに合わせてより最適化されたシステムを作成できます。

主な使用例を定義すると、ユーザーにアプリケーションをどのように操作してもらいたいかについて明確なメッセージを送信するのに役立ちます。その主な使用例から注意をそらす可能性のある二次的な機能は必ず制限してください。主な使用例は、簡単な文で伝えられるものである必要があります。たとえば、主な使用例は次のようになります。「ユーザーが特製ドーナツを注文する」。

現在の目標は、主な使用例に最適な方法でユーザーがアプリケーションを通過できるようにすることです。ユーザーが自宅に配達されるドーナツを注文するために必要な最小限の機能を設計することから始めます。以下から始めるとよいでしょう:

販売中のドーナツの表示ページ

ドーナツをクリックしてカートに追加する機能

チェックアウトボタンのあるカートビューページ

支払い処理ページ

支払いの確認とお礼のページ

2. エッジケースにセーフティネットを提供する

主な使用例を確立しました。ユーザーは特製ドーナツを注文します。しかし、ユーザーがアイシングやスプリンクルを注文したいだけの場合はどうなるでしょうか?あるいは、ユーザーの 22% がドーナツを金に浸してネックレスとして身に着けたいと考えたらどうなるでしょうか?視野が狭くなりすぎて、絶好のビジネスチャンスを逃すことは望ましくありません。

ユーザーは、予期せぬ方法、つまり設計など夢にも思わなかった方法でサービスと対話したいと考えるかもしれません。したがって、アプリケーションは予期しないユーザーの要求に対応できる必要があります。しかし、依然として主要なユースケースのみを設計しながら、これをどのように行うのでしょうか?セーフティネットを構築することによって。

主要なユースケースに自分自身を関連付けていないユーザーの多くは、他の方法でシステムから恩恵を受けていると考えることができます。それらを捕獲するための網を提供し、必要に応じて、それらを適切なユースケースに送り込みます。インテリジェントな指標を採用して、ユーザーの行動に関するデータを取得し、ユーザーを失っている場所を特定します。

Google Analytics は、ユーザーのエラーを追跡するための素晴らしいツールを提供します。スマッシングマガジンの記事from 2011 では、これらのツールの活用方法に関するチュートリアルを提供しています。

3. ユーザーエラーを正常に劣化させる

最初からコンテキストを認識するようにアプリケーションを設計し、将来ユーザーの期待に応えられるようにシステムを調整できるようにセーフティ ネットを設置することは、非常に重要な手順です。ただし、システムが主な使用例に最適化され、ネットが配置されている場合でも、ユーザーは依然としてエラーに遭遇します。それは避けられないことです。

エラー --> 認識 --> 調整のプロセスでは、次の 2 つのことを行う必要があります。アプリケーション全体で役立つエラー応答を提供することと、ユーザー側でエラーが失敗ではなく、調整の合図のように見えるようにすることです。

デザイナーは、エラー メッセージを見落としたり、熟慮したスタイル、プレゼンテーション、表現を行わずに土壇場で追加されることがよくあります。エラー メッセージは、ユーザーをアプリケーションに留まらせるための最後のツールです。曖昧な 404 ページまたは失敗の原因が明確に説明されていないフォーム送信の失敗どちらもユーザーを混乱させ、イライラさせるタイプの見落としです。

エラー メッセージを有効に活用してください。それらを目立つようにし、ユーザーのアクションが必要なシステムの部分に適切なエラー処理通知が装備されていることを確認してください。

ツイッターブートストラップは、このプロセスを簡単にする便利な UI キットです。アプリケーションに簡単にドロップできる、美しくデザインされたアラートを提供します。シンプルでエレガントなエラー メッセージのスタイルを提供します。

クレジット:

また、ユーザーが正常に完了したアクションに対して報酬を与えることを忘れないことも重要です。結局、人間の脳は失敗よりも成功によく反応します

Twitter Bootstrap を使用して、様式化された成功メッセージを作成することもできます。

クレジット:

適切にデザインされ、丁寧に説明されたエラー メッセージは、意図したとおりにシステムの使用方法をユーザーに教えるだけでなく、ユーザーが無知であると感じることを防ぎます。

デザイナーの責任

使いやすさシステムの良し悪しは、デザイナーが自分の仕事をどれだけうまくやるかによって決まります。ユーザー ベースをどの程度理解しているか、ユーザーのアクションを測定するために使用する方法、エラーからの回復を支援する方法は、システムの使いやすさに直接影響します。

明確なユースケースから始めて、その単一のユースケースをサポートし、エラー処理を実装するようにシステムを設計することを忘れないでください。次に、ユーザーがアプリケーションを使用する可能性のある他の一般的な方法を想像し、一度に多くの機能を追加しすぎないように注意しながら、それらのユースケースに機能を提供するかどうかを決定します。

追加した追加機能のエラー処理を実装します。ユーザーがシステム内を通過するパスを監視するシステムを導入し、ユーザーの期待にさらに近づくように継続的に改善します。

私たちは皆、美しく直感的なソフトウェアを使いたいと思っています。今、あなたはそれを可能にするために自分の役割を果たすことができます。