web-dev-qa-db-ja.com

ユーザーが無効な選択を行わないようにするか、事後にエラーメッセージで拒否する必要がありますか?

私のUIには、「ファイルを開く」のアイコンがあります。ユーザーがこのアイコンをクリックすると、通常のファイルブラウザウィンドウが開きます。ユーザーは、コンピューターを参照してファイルを選択します。

ユーザーは、UIを介して特定の種類のファイルのみを選択する必要があります(「.abc」タイプのファイルのみを選択できると言います)。

これをユーザーに伝える方法は2つあります。

  1. ユーザーは任意のタイプのファイルを開くことができ、無効な形式を選択しようとすると、警告メッセージが表示されます。

  2. .abcタイプのファイルのみがユーザーに表示され、このファイルタイプを変更するオプションはユーザーに与えられません。

オプション2の方が良いと思いますが、既存のソフトウェアでの彼の動作の例は見当たりません。オプション1または2がユーザーにとってより優れたエクスペリエンスであるかどうかを示す例やその他の裏付けとなる証拠を誰かが提供できますか?

enter image description here

編集:オプション2はWebブラウザーベースのアプリケーションでは使用できず、私のアプリケーションはWebベースであるため、オプション2を使用できないことに気づきました。このオプション以外のものを考え出す必要があります。すべての種類のファイルが表示され、サポートされていない形式がクリックできなくなる可能性があります。

7
Ayse

その答えは Norman Nielsenによる10のユーザーインターフェースデザインのヒューリスティック にあります。

エラー防止:"優れたエラーメッセージよりも優れているのは、最初から問題が発生しないようにする慎重な設計です。エラーが発生しやすい状態を解消するか、それらをチェックして、アクションを実行する前に確認オプションをユーザーに提示する"

このヒューリスティックに従って、2番目が最良のオプションであることは明らかです。

5
Darkobra

Nielsonのトップ10(1995年に作成されているにもかかわらず)を見て、いくつかのユーザーテストに基づいて、実際にはオプション1に対して行う必要があるケースがあると思います。

ユーザーがプログラム用に準備したファイルがディスク上の場所にあると信じている状況を考えてみてください。ファイルは必要なタイプではありませんが、ほとんどのユーザーは常に(多くの場合)指示を注意深く読むとは限らないため、ユーザーがディスクの適切な場所に移動すると、予期されるファイルを非表示にすると混乱とフラストレーションが発生し、ニールソンの「システムステータスの可視性」、「ユーザーコントロールと自由」、およびある程度「想起ではなく認識」の上位10のルール。

ユーザーテストを実施した私自身の経験では、ユーザーはファイルタイプが正しくない場合でもすべてのファイルが表示されることを期待しており、その段階のエラーメッセージは、互換性のないファイルタイプを単に非表示にするよりも迅速な診断とより実用的な修正を提供しました。実際には何も言わなかった。

可能な場合は、独自のユーザーテストを行って、ユーザーにとって最も意味のあるものを確認するか、少なくともいくつかの基本的な分析を実行して、2つのバージョンで成功率を実際にA/Bテストできる場合。

1
kbwatts

オプション2はオプション1よりもはるかにマークに近いですが、「[ファイル]タイプを変更するオプション」がないことは、特にユーザーが通常そのオプションを与えられることを期待している場合はなお誤りです。

理想的には、問題のファイルがファイル名拡張子に基づいて有効かどうかを判断するのではなく、ファイルの先頭にあるタグのタイプをチェックすることによって判断する必要があります。

たとえば、あらゆる種類の解釈された実行可能ファイルは通常、bashスクリプト、#!/bin/bash、pythonスクリプトの#!/usr/bin/pythonなど、実行可能ファイルの種類を示すシバンシーケンスで始まります。 PostScriptファイルはすべて%!PS-Adobe-versionで始まります(カプセル化されているかどうかにかかわらず)。 HTMLドキュメントは常に<html>タグで始まります。 XMLファイル形式の先頭には、ファイルによって何が記述されているかを示すタグがあります。

これを行うと、ファイル拡張子を使用してファイルを検証するよりも3つの明確な利点があります。

  1. アプリケーションは、ユーザーが誤って無効なデータでファイルを上書きした場合から保護されます。
  2. ユーザーは、必要に応じて、または複数の拡張機能を使用して、異なることを示すことができます。たとえば、.ps.epsはどちらもPostScriptファイルに使用されます。違いは、.epsは、ファイルがライブラリグラフィックとしての使用に適していることを示します。 CRIO(CADプログラム)は、ファイルにバージョン番号を追加します(mounting-block.prt.4など)。
  3. プログラムを知らないユーザー、他の人からファイルを受け取ったユーザーに、テキストエディターでファイルを調べるだけで、必要なソフトウェアの種類を簡単に判断できるようにします。これはプログラマーが行うことだけではありません。私の両親はこれを未知のファイルタイプに対して実行し、彼らはあまり技術的なユーザーではありません。
0
AJMansfield

互換性のないファイルタイプを完全に非表示にすると、混乱が生じます。ユーザーは、間違ったフォルダーを選択したのではないかと疑問に思い、使用できないことに気づく前に、この欠落しているファイルを探すのにしばらく時間を費やすかもしれません。

最良のオプションは、すべてのファイルを表示することですが、互換性のないファイルをグレー表示して、「クリック不可」にします。したがって、はい、ファイルは存在しますが、使用できないことはすぐにわかります。

受け入れられるファイルの種類を明確にする少しのテキストも常に良い考えです:)

0
Laura Williams

エラーはフラストレーションと混乱を引き起こします。エラーを回避するために制約を強制することは、より良いオプションです。

強制機能は物理的な制約の一種です。ある段階での失敗が次のステップの発生を防ぐようにアクションが制約される状況です。

ユーザーエラーの防止に加えて、ユーザーに許容できるファイルタイプについての手がかりを与え、一部のファイルが許可されない理由を説明します。

認識されたアフォーダンスは、実行できると認識したアクションです。 明確な期待を設定すると、より効率的なエクスペリエンスが得られます。

0
Ken