次の方法で共有


デスクトップ アプリケーションの優れたユーザー エクスペリエンスを設計する方法

注意

この設計ガイドは Windows 7 用に作成されており、新しいバージョンの Windows では更新されていません。 ガイダンスの多くは原則として適用されますが、プレゼンテーションと例には 現在の設計ガイダンスは反映されていません。

優れたデスクトップ アプリケーションは強力で、同時にシンプルです。 慎重にバランスの取れた機能の選択とプレゼンテーションを通じて、パワーとシンプルさの両方を実現できます。

強力:

[スペル チェックと文章校正] ダイアログ ボックスのスクリーン ショット

強力でシンプル:

修正候補の一覧のスクリーン ショット

理想的な Windows ベースのアプリケーションは、強力でシンプルです。 もちろん、アプリケーションを強力にし、もちろんシンプルにしたいが、両方を実現できますか? これらの目標の間には自然な緊張がありますが、その緊張は取り返しのつかないほどです。 機能の選択とプレゼンテーションを慎重にバランスを取って、パワーとシンプルさの両方を実現できます。

アプリケーションを強力にする理由

ソフトウェアの観点から見て、"パワー" は本当に何を意味しますか? アプリケーションは、機能がいっぱい詰まっている場合に強力と見なされる可能性があり、すべてのユーザーに対してあらゆるものになろうと、非常に幅広い機能を備えています。 ターゲットを絞っていない機能セットが誰のニーズを満たす可能性も低いため、このような設計は成功しない可能性があります。 これは、私たちが後にしている力の種類ではありません。

アプリケーションは、次の特性の適切な組み合わせがある場合に強力です。

  • 有効化中。 アプリケーションは、ターゲット ユーザーのニーズを満たし、それ以外では実行できなかったタスクを実行し、目標を効果的に達成できるようにします。
  • 効率的。 アプリケーションを使用すると、ユーザーは以前は不可能だったレベルの生産性とスケールでタスクを実行できます。
  • 汎用 性。 アプリケーションを使用すると、ユーザーはさまざまな状況で幅広いタスクを効果的に実行できます。
  • [直接]。 アプリケーションは、ユーザーが邪魔をしたり、不要な手順を必要としたりするのではなく、目標を達成するのに直接役立つような気がします。 ショートカット、キーボード アクセス、マクロなどの機能により、直接的な感覚が向上します。
  • フレキシブル。 アプリケーションを使用すると、ユーザーは自分の作業を完全にきめ細かく制御できます。
  • 機能の統合。 アプリケーションは Microsoft Windows と十分に統合されているため、他のアプリケーションとデータを共有できます。
  • [詳細設定]。 このアプリケーションには、競合するソリューションには見られない、革新的で革新的な最先端の機能があります。

これらの特性の一部は、ユーザーの認識に依存し、ユーザーの現在の機能に対して相対的です。 強力と見なされるものは時間の経過と同時に変化する可能性があるため、今日の高度な検索機能は明日一般的な場合があります。

これらの特性はすべて、パワーの定義に組み合わせることができます。

アプリケーションは、ターゲット ユーザーが自分の可能性を最大限に効率的に実現できる場合に強力です。

したがって、電力の最終的な尺度は、特徴の数ではなく、生産性です。

さまざまなユーザーが、さまざまな方法で自分の可能性を最大限に引き出す助けを必要とします。 一部のユーザーが何を可能にしているのかは、他のユーザーの汎用性、直接的性、制御性を損なう可能性があります。 適切に設計されたソフトウェアは、これらの特性のバランスを適切に取る必要があります。 たとえば、非プロフェッショナル向けに設計されたデスクトップ発行システムでは、ウィザードを使用して複雑なタスクをユーザーに説明できます。 このようなウィザードを使用すると、ターゲット ユーザーは、それ以外の場合は実行できないタスクを実行できます。 対照的に、プロフェッショナル向けのデスクトップ発行システムは、直接的性、効率性、完全な制御に重点を置く場合があります。 このようなアプリケーションのユーザーの場合、ウィザードは制限され、不満を感じる可能性があります。

1 つだけの操作を行う場合...

ターゲット ユーザーの目標を理解し、それらの目標を生産的に達成できる機能セットを作成します。

ユーザー エクスペリエンスをシンプルにする理由

シンプルさを次のように定義します。

簡略化とは、ユーザーが認識し、重要であると考えるデザインの属性を削減または排除することです。

実際には、適切な機能セットを選択し、適切な方法で特徴を提示することで、シンプルさが実現されます。 これにより、実際と認識の両方で、必要な量が減少します。

シンプルさは、ユーザーの認識に依存します。 自動送信の効果がユーザーの視点にどのように依存するかを検討します。

  • 一般的なドライバー(ターゲットユーザー)の場合、オートマチックトランスミッションは手動のギアシフトとクラッチが不要になり、車の運転がはるかに簡単になります。 手動のギアシフトとクラッチは運転のタスクには不可欠でないため、シンプルにするために取り除かれます。
  • プロのレースカードライバーにとって、トランスミッションを直接制御することは競争力を持つことに不可欠です。 オートマチックトランスミッションは自動車の性能に悪影響を与えるので、シンプルとは見なされません。
  • 整備士の場合、自動トランスミッションはより複雑なメカニズムであるため、手動トランスミッションよりも修理や保守が容易ではありません。 整備士とは異なり、ターゲットユーザーはこの内部の複雑さを知らずに幸せに知っています。

異なるユーザーが自動送信を異なる方法で認識する一方で、ターゲット ユーザーから必要な知識、スキル、労力を必要としないため、成功します。 一般的なドライバーにとって、自動送信は機能するだけなので素晴らしい機能です。

シンプルさと使いやすさ

わかりやすく、正しく適用すると、使いやすさが向上します。 しかし、シンプルさと使いやすさは同じ概念ではありません。 使いやすさは、ユーザーが適切な時間内に困難や混乱を招くことなく、自分でタスクを正常に実行できる場合に実現されます。 使いやすさを実現する方法は数多くあり、シンプルさ(unessentialの削減)もその 1 つに過ぎません。

すべてのユーザーは、どんなに高度であっても、最小限の不要な労力で作業を完了したいと考えています。 すべてのユーザー (上級ユーザーも含む) は、コンピューターやアプリケーションについて学ぶのではなく、主に作業を完了する意欲を持っています。

使いやすさと使いやすさを実現するための最も効果的な方法は、シンプルさです。 複雑で使いにくい機能は使用されません。 対照的に、シンプルでエレガントなデザインは、その機能をよく実行する喜びです。 彼らは肯定的で感情的な反応を呼び出します。

たとえば、Microsoft Windows XP でのワイヤレス ネットワークのサポートについて考えてみましょう。 Microsoft では、構成プロセスをユーザーに説明するためのウィザードを追加できました。 この方法により、使いやすさは得られますが、単純ではありません。これは、重要な機能 (ウィザード) が追加されたためです。 代わりに、Microsoft はワイヤレス ネットワークを自動的に構成するように設計しました。 ユーザーは最終的に構成の詳細を気にせず、確実かつ安全に "機能する" 限りは気にしません。 ワイヤレスネットワーク技術におけるパワーとシンプルさのこの組み合わせは、その人気と急速な導入につながっています。

1 つだけの操作を行う場合...

ジョブを適切に実行する最も簡単な設計で設計プロセスを開始します。

現在のデザインに満足できない場合は、まず、すべての必須要素を削除します。 残っているものは通常非常に良いことがわかります。

パワーを維持しながらシンプルさを得る

設計原則

わかりやすくするために、常に可能ではなく、可能性に合った設計を行います。

可能な

可能な内容に基づいて設計を決定すると、レジストリ エディターなどの複雑なユーザー インターフェイスが作成されます。この場合、設計ではすべてのアクションが等しく可能であり、その結果、同じ労力が必要であると想定されます。 何でも可能であるため、ユーザーの目標は設計上の決定では考慮されません。

可能性が高い

可能性の高いリードに基づいて意思決定を設計すると、簡略化された目標ベースのソリューションとタスク ベースのソリューションが得られます。このソリューションでは、可能性の高いシナリオに焦点が当てられ、実行に最小限の労力が必要になります。

シンプルな設計原則

わかりやすくするために、考えられるものに焦点を当てます。可能性の低いものを減らす、非表示にする、または削除する。不可能なものを排除します。

ユーザーが行うことは、自分が行うことよりもはるかにデザインに関連しています。

設計手法

電力を維持しながらシンプルにするには、 適切な機能セットを選択し、 適切な場所に特徴を見つけて、それらを使用する 労力を減ら します。 このセクションでは、これらの目標を達成するための一般的な手法をいくつか示します。

適切な機能セットの選択

「完成度は達成され、追加するものがこれ以上ない場合には達成されない。

しかし、取り除くために何も残っていない場合。 —アントワーヌ ド Saint-Exupery

次の設計手法は、ユーザーに必要な機能を提供しながら、実際の削減または削除によってシンプルさを実現します。

  • ユーザーが必要な機能を決定します。 目標、シナリオ、タスク分析を通じてユーザーのニーズを理解します。 これらの目的を実現する一連の機能を決定します。
  • 不要な要素を削除します。 使用される可能性が高くない要素、または推奨される代替手段を持つ要素を削除します。
  • 不要な冗長性を削除します。 タスクを実行するには、いくつかの効果的な方法があります。 シンプルさを実現するには、すべてのユーザーを提供し、選択をオプションにするのではなく、厳しい決定を行い、ターゲット ユーザーに最適なものを選択します。
  • 自動的に "単に動作する" ようにします。 要素は必要ですが、それを機能させるためにユーザーが操作する操作は、許容される既定の動作または構成があるためではありません。 シンプルにするには、自動的に動作し、ユーザーから完全に非表示にするか、露出を大幅に減らします。

プレゼンテーションの合理化

「簡素化する能力は、不要な

必要な人が話せるようにします。—ハンス・ホフマン

次の設計手法を使用して電力を保持し、減少または除去の認識を通じてシンプルさを実現します。

  • 結合する必要がある内容を結合します。 タスクを 1 か所で実行できるように、タスクをサポートする重要な機能をまとめます。 タスクのステップには、統一された合理化されたフローが必要です。 複雑なタスクを一連の簡単で明確な手順に分割して、"1" の場所がウィザードなどの複数の UI サーフェスで構成される場合があります。
  • 区切る必要がある内容を分離します。 すべてを 1 か所で提示できるわけではないので、常に明確で適切に選択された境界があります。 コア シナリオをサポートする機能を中心に明らかにし、オプションの機能を非表示にするか、周辺機器にします。 個々のタスクを分離し、関連するタスクへのリンクを提供します。 たとえば、写真の操作に関連するタスクは、写真のコレクションの管理に関連するタスクとは明確に分離する必要がありますが、互いに簡単にアクセスできる必要があります。
  • 何を排除できるかを排除します。 デザインを印刷し、最も重要なタスクを実行するために使用される要素を強調表示します。 有用な情報を伝える UI テキスト内の個々の単語も強調表示します。 ここで、強調表示されていない内容を確認し、デザインから削除することを検討します。 アイテムを削除すると、何か問題が発生しますか? そうでない場合は、削除してください。
  • 一貫性、構成可能性、および一般化は、多くの場合、望ましい品質ですが、不要な複雑さにつながる可能性があります。 一貫性の誤った取り組み (冗長なテキストの使用など)、一般化 (2 つで十分な場合は任意の数のタイム ゾーンがある場合など)、構成可能性 (ユーザーが変更する可能性が高くないオプションなど) について設計を確認し、何を排除できるかを排除します。
  • 要素を適切な場所に配置します。 ウィンドウ内では、要素の場所はユーティリティに従う必要があります。 基本的なコントロール、命令、説明はすべて、論理的な順序でコンテキスト内に存在する必要があります。 さらに多くのオプションが必要な場合は、シェブロンまたは同様のメカニズムをクリックしてコンテキストで公開します。詳細情報が必要な場合は、マウス ポインターを置いたときにヒントを表示します。 重要でないタスク、オプション、ヘルプ情報を、メイン フローの外部の別のウィンドウまたはページに配置します。 必要に応じて追加の詳細を表示する手法は、プログレッシブ開示と呼ばれます。
  • 意味のある高レベルの組み合わせを使用します。 多くの場合、個々の要素よりも、関連する要素のグループを選択して操作する方が簡単でスケーラブルです。 高レベルの組み合わせの例としては、フォルダー、テーマ、スタイル、ユーザー グループなどがあります。 このような組み合わせは、多くの場合、個々の要素からは明らかではないユーザーの目標や意図にマップされます。 たとえば、ハイ コントラストブラック配色の背後にある意図は、黒いウィンドウの背景よりもはるかに明らかです。
  • 適切なコントロールを選択します。 デザイン要素は、それらを表すために使用するコントロールによって具体化されるため、適切なコントロールを選択することは、効率的なプレゼンテーションに不可欠です。 たとえば、Microsoft Word で使用されるフォントの選択ボックスには、フォントのプレビューと、最近使用したフォントの両方が表示されます。 同様に、この記事の冒頭で示すように、Wordがスペル ミスや文法エラーの可能性を示す方法は、ダイアログ ボックスの代替方法よりもはるかに簡単です。

労力の削減

"単純なものは単純である必要があります。

複雑なことが可能である必要があります。—アラン・ケイ

次の設計手法により、ユーザーの労力が削減されます。

  • タスクを検出可能にし、表示できるようにします。 すべてのタスク (特に頻繁なタスク) は、ユーザー インターフェイス内ですぐに検出できる必要があります。 タスクの実行に必要な手順は表示され、記憶に依存しないようにする必要があります。
  • ユーザーのドメインにタスクを表示します。 複雑なソフトウェアでは、ユーザーが自分の問題をテクノロジにマップする必要があります。 単純なソフトウェアは、自然なものを提示することによって、それらのマッピングを行います。 たとえば、赤目除去機能は問題領域に直接マップされ、ユーザーは色相やグラデーションなどの詳細の観点から考える必要はありません。
  • ドメインの知識をプログラムに組み込みます。 ユーザーは、アプリケーションを正常に使用するために外部情報にアクセスする必要はありません。 ドメインの知識は、複雑なデータやアルゴリズムから、有効な入力の種類を明確にすることまで多岐に及びます。
  • ユーザーが理解するテキストを使用します。 適切に作成されたテキストは、ユーザーとの効果的なコミュニケーションに不可欠です。 ユーザーになじみのある概念と用語を使用します。 ユーザーがインテリジェントな情報に基づいた意思決定を行えるように、プレーンな言語で何が求められているかを完全に説明します。
  • 安全で安全な、可能性のある既定値を使用します。 ほとんどの状況でほとんどのユーザーに適用される値があり、その設定が安全で安全な設定である場合は、既定値として使用します。 ユーザーが必要な場合にのみ値を指定します。
  • 制約を使用します。 タスクを実行する方法が多数あるが、一部のみが正しい場合は、タスクを正しい方法に制限します。 ユーザーは、容易に予防可能な間違いを行うことが許可されるべきではありません。

単純性は単純という意味ではありません

「可能な限りシンプルにする必要があります。

しかし、より単純ではありません。—アルバート・アインシュタイン

シンプルさは、効果的で望ましいユーザー エクスペリエンスにとって非常に重要であると考えていますが、常に良い点を遠ざけてしまいます。 簡潔さの本質は、unessentialの減少または排除です。 必須のを削除すると、デザインが悪くなるだけです。 "簡略化" すると、ユーザーが不満、混乱、不明、またはタスクを正常に完了できなくなる場合は、削除が多すぎます。

シンプルさは、より多くの労力を意味します

「私は持っているので、私はこの手紙を長くしただけです

時間を短くする時間ではありません。—Blaise Pascal

電力を維持しながらシンプルさを得るためには、多くの場合、内部的に大きな複雑さが必要です。 通常は、すべてのテクノロジ配管を公開するソフトウェアを設計する方が、それを隠すソフトウェアを設計するよりも簡単です。後者では、ターゲット ユーザーとその目標を優れた理解が必要です。 機能を削除するには、実際には実用的ではないクールな機能を追加しないことを決定するのと同様に、規範が必要です。 シンプルにするには、すべてを構成可能にする代わりに、ハードデザインの選択を行う必要があります。 複雑なソフトウェアは、多くの場合、ユーザーに関する誤解から生じます。未使用の機能や、理解できない過度に複雑な機能を評価しています。

強力でシンプル

Power は、ユーザーを有効にし、生産性を高める方法です。 シンプルさは、必要な機能を削除し、機能を正しい方法で提示することです。 ターゲット ユーザーを理解し、機能とプレゼンテーションの適切なバランスを取ることで、両方を実行する Windows ベースのアプリケーションを設計できます。