私は法律を読んだことを覚えています (正確には法律ではないかもしれません) が、ソフトウェア設計では、基本モードと拡張モードのオプションを実際にユーザーに与えずに多くの制御をユーザーに提供すると、裏目に出て、ユーザーが最終的に失敗することがあります。オプションが多すぎるため、そもそもオプションを使用しないでください。私はこれを正しく読みましたか?もしそうなら、誰かが私にもっと正式な情報源を教えてもらえますか?
5 に答える
私には、賢明なデフォルトの法則のように聞こえます。多くの場合、ユーザーは細かいことはあまり気にしないので、賢明な選択をするというルールです。
関連する可能性のある Joel Spolsky の記事もあります - JoelOnSoftware - Choices = Headaches
優れたユーザー インターフェイス (API およびプログラミング言語を含む) 設計の基本原則は、単純なものを単純にし、複雑なものを可能にすることです。過剰な制御は、ユーザーがおそらく気にも留めず、細部まで指定したくない単純なことの学習曲線を増加させます。ただし、オプションを提供する必要があります。そうしないと、より高度なユーザーを扱うときにプログラムが不足します。
解決策は、複数レベルのインターフェースを提供することです。アプリケーションを設計している場合は、基本モードと拡張モードが必要です。API を設計している場合は、90% のケースで「問題なく機能する」高レベル API と、最後の 10% のケースでより複雑な作業を行う低レベル API が必要です。
正確に理解できたかどうかはわかりませんが、基本的なユーザーが使用できないほど複雑なインターフェイスを作成することはできません。ユーザーが最初にアプリケーションを使い始めたときに、あまりにも多くのオプションが表示されると、最初に行った基本的なことを見つけることができなくなります。そのため、通常、高度な機能は隠されています。上級ユーザーはそれをどのように見つけるかを学びます (彼らは上級ユーザーなので学習します:-P)。
インターフェイスについて受講したコースのスライドで、探していた引用を見つけました。これは、Steve Jobs や Wozniak とともに Macintosh を作成した HCI の専門家、Jeff Raskin によるものです。それは次のように述べています。
答えはいつ?単純なタスクが複雑になり始めるとき。それらはシンプルなままでなければなりません!!!!
これはうまくまとめられていると思います:
http://stuffthathappens.com/blog/2008/03/05/simplicity/
しかし、この件に関する詳細は次のとおりです。
http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html
これはゲームでは間違いなく真実です。ゲームには無制限の状態が必要です(たとえば、プールのゲームには15個のボールがあり、各ボールはテーブルのどこにでも配置できます。ボールは約4.5m ^ 2で、精度は1ミリメートル程度です。状態の総数はたくさんあります! )ただし、これらの状態の制御は制限されています。プレーヤーがすべてのボールを希望の場所に正確に配置したり、特定の方向に非常に正確な速度で送信したりできれば、楽しみはなくなります。プレイヤーがゲームを操作する方法を制限することによってのみ、それは楽しくて面白いことができます。
あなたが書いているプログラムに応じて、これは真か偽のどちらかです。Macアプリケーションのステレオタイプのビューは非常に限定的で単純ですが、Windowsアプリケーションは複雑で強力です。WinAmpと比較したSpotifyのようなアプリケーションは、単純なものと複雑なものの良い例ですが、どちらも優れたアプリです。
私の意見では、制御が制限された複雑なアプリは、努力すべきものです。Picasa、Spotify、Paint.netなどのアプリケーションはすべて、非常に複雑で便利ですが、制御が制限されています。可能なすべてのタスクを有効にするのではなく、常にユーザーが実行できることを最も一般的なタスクに制限するようにしてください。