ユーザーインターフェイスは、薄いペンキのコートのように、事後に適用できるものではありません。それは、最初にそこにある必要があり、実際の研究に基づいているものです。もちろん、数多くのユーザビリティ調査があります。最初から存在するだけでなく、そもそもソフトウェアを作成するまさにその理由の中核をなす必要があります。世の中にはギャップがあり、問題があり、作成する必要があります。より使いやすく、より効率的です。
ソフトウェアはそれ自体のためではありません。ソフトウェアの一部が存在する理由は、人々のためです。誰もがそれを必要とする理由を理解せずに、ソフトウェアの新しい部分についてのアイデアを考え出そうとすることさえ絶対に馬鹿げています。しかし、これは常に起こります。
1行のコードを書く前に、紙のバージョンのインターフェイスを調べ、実際のユーザーでテストする必要があります。これはちょっと奇妙でばかげています。子供たちや、「コンピュータ」として振る舞う面白い人に最適です。
インターフェイスは、私たちの自然な認知機能を利用する必要があります。穴居人はあなたのプログラムをどのように使用しますか?たとえば、移動するオブジェクトの追跡が非常に得意になるように進化しました。そのため、iPhoneなどの物理シミュレーションを使用するインターフェースは、変更が瞬時に発生するインターフェースよりも優れています。
私たちは特定の種類の抽象化は得意ですが、それ以外は得意ではありません。プログラマーとして、私たちは精神的な体操とバク転をして、いくつかの奇妙な抽象概念を理解するように訓練されています。たとえば、一連の不可解なテキストは、金属製の大皿の電磁気状態のパターンを表現および変換できることを理解しています。これは、注意深く設計されたデバイスに遭遇すると、電子機器の光速で発生する一連の目に見えないイベントにつながります。回路、およびこれらのイベントは、有用な結果を生成するために向けることができます。これは理解する必要がある非常に不自然なことです。私たちには完全に合理的な説明がありますが、外の世界には、見えない知性の霊を召喚して私たちの入札を行うための理解できない呪文を書いているようです。
通常の人間が理解する一種の抽象化は、地図、図、記号などです。シンボルは非常に壊れやすい人間の概念であるため、シンボルに注意してください。シンボルが学習されるまで、意識的に精神的な努力で解読されます。
シンボルの秘訣は、シンボルとそれが表すものとの間に明確な関係がなければならないことです。どちらかが表すものは名詞でなければなりません。その場合、シンボルは表すものと非常に似ている必要があります。シンボルがより抽象的な概念を表す場合は、そのことを事前に説明する必要があります。mswordまたはphotoshopのツールバーにある不可解なラベルのないアイコンと、それらが表す抽象的な概念をご覧ください。フォトショップの切り抜きツールアイコンが切り抜きツールを意味することを理解する必要があります。CROPの意味すら理解する必要があります。これらは、そのソフトウェアを正しく使用するための前提条件です。これは重要なポイントを提示します。仮定の知識に注意してください。
私たちは4歳前後の地図を理解する能力しか得ません。そのチンパンジーが6歳または7歳の地図を理解する能力を身につけたら、どこかで読んだと思います。
GUIが最初から非常に成功している理由は、GUIがコンピューターへのほとんどのテキストインターフェイスのランドスケープを、コンピューターの概念を物理的な場所に似たものにマッピングするものに変更したためです。使いやすさの点でguiが失敗するのは、実生活で目にするものに似ていない場合です。コンピュータで起こる、目に見えない、予測不可能な、理解不可能なことがあり、現実の世界でこれまで目にしたことのないようなものがあります。現実のシミュレーターを作成するだけでは意味がないので、これのいくつかが必要です。アイデアは作業を保存することなので、ちょっとした魔法が必要です。しかし、その魔法は理にかなっており、人間が理解によく適応しているという抽象に基づいている必要があります。私たちの抽象化が深まり、階層化し始める時です そして、物事が壊れるという目の前の仕事と一致しませんでした。言い換えると、インターフェイスは、基盤となるソフトウェアの適切なマップとして機能しません。
たくさんの本があります。私が読んだ、したがってお勧めできる2つは、ドナルドノーマンの「The Everyday of Everything Things」とJef Raskinの「The Human Interface」です。
心理学のコースもお勧めします。「日常のデザイン」ではこれについて少しお話します。心理学に対する開発者の「人々の理解」のために、多くのインターフェースが壊れています。これは「民俗物理学」に似ています。動いているオブジェクトが動いている状態は、ほとんどの人にとって意味がありません。「動き続けるには、押し続ける必要があります。」物理学の初心者を考えています。ユーザーテストは、ほとんどの開発者にとって意味がありません。「ユーザーに何が欲しいか尋ねるだけで十分です。」心理学の初心者を考えています。
Philip Zimbardoが主催するPBSドキュメンタリーシリーズであるDiscovering Psychologyをお勧めします。それができない場合は、良い物理学の教科書を探してみてください。高価な種類。Bordersで見つけたパルプフィクションのセルフヘルプのがらくたではなく、大学図書館でしか見られない分厚いハードバインドされたもの。これは必要な基礎です。あなたはそれなしで良いデザインをすることができますが、あなたは何が起こっているのか直感的に理解することができます。良い本をいくつか読むと、良い見方が得られます。