Windows ユーザー エクスペリエンス ガイドライン

MSDN で Windows ユーザー エクスペリエンス ガイドライン が公開されました。PDF 版が読みやすいのでお薦め。

775ページの超大作ですが、熟読の価値は大いにありそうです。Vista/7 時代のアプリケーションがどうあるべきか非常に考えさせられる内容です。

P.6 から始まる『優れたユーザー エクスペリエンスをデザインする方法』より

4. 八方美人にならないようにする
すべてのユーザーを満足させようとするよりも、対象ユーザーを喜ばせようとする方が、プログラムは成功します。すべてに集中するということは、事実上不可能であることを忘れないでください。

5. 厳しく決断する
本当に必要な機能、コマンド、オプションであれば、しっかり作ります。そうでなければ、省きます。何でもオプションにしたり、構成可能なようにして、厳しい決断を避けてはなりません。

CrystalDiskInfo や CrystalCPUID はハードウェア構成に大きく依存したソフトウェアのため、私の環境ではちゃんと動くけど一部のユーザーさんの環境では意図した通りには動かないということが多々起こっています。今までもこれからも最大限動作するようにするための努力は続けたいと思いますが、時間や開発機材、開発資金などの制約(完全に個人開発なので・・・)から必ずしも全ての事象には対処できないと思います。そのため、今後も優先順位をつけてマジョリティに最適化することが重要と考えています。

7. 既定で、適切な設定を行う
もちろん、ユーザーが設定を変更できるオプションをたくさん作成することもできますが、必要性を考えます。安全で、セキュリティ保護された、便利な値を既定値に選択します。また、既定の設定でエクスペリエンスが対象ユーザーに適したものになるようにします。ユーザーは不適切な初期設定を修正するものだという前提に立たないでください。ユーザーは既定の設定を変えないものです。

8. 何もしなくても適切に動作するようにする
ユーザーは、さまざまなことを設定したり習得したいのではなく、プログラムを使用したいと思っています。初期設定を選択し、最も一般的で重要なタスクの実行方法を明確にしたら、すぐにプログラムが機能するようにします。

CrystalDiskInfo の開発ではこの辺りにはとても気を使っています。ダウンロードして初めて実行したときに USB-HDD が見える!! という感動を多くの人に味わって戴きつつ、ブルースクリーンとか再起動とか、USB-HDD の中身が見えなくなるなどなど各種トラブルを最小限に抑える・・・デフォルト設定を摸索し続けました。ちょっぴり危険な機能はデフォルトオフだと、USB サポートは絶対にオフですから(笑えない。)

10. 楽しく使用できるようにする
プログラムが十分にその役割を果たせるようにします。適切な機能セットを用意し、その機能を適切な場所に配置します。詳細に注意し、すべてが洗練された状態になるようにします。ユーザーは細かいことには気付かないものなどと思ってはなりません。必ず気付かれます。

11. 見た目を楽しくする
標準のウィンドウ枠、フォント、システム カラー、コモン コントロール、ダイアログ ボックスといったWindows の標準的な外観、および標準的なレイアウトを使用します。カスタム UI の使用は避け、ブランド化は控えめにします。法的に有効な場合に限り、できるだけ、標準の Windows アイコン、グラフィック、アニメーションを使用します。独自のグラフィックやアイコンについては、プロのデザイナーに作成を依頼します。デザイナーに依頼する余裕がない場合は、シンプルなグラフィックを少しだけ使用するか、グラフィックを一切使用しないようにします。
また、スキンを提供することで平凡な外観をフォローできると考えないでください。ユーザーの多くはスキンにこだわりがありません。ほどほどの外観が大量に提供されているよりは、優れた外観が 1 つある方が良い印象を与えることができます。

CrystalDiskMark と CrystalDiskInfo はシンプルでブログなどにスクリーンショットを載せたくなるようなデザインを摸索した結果生まれました。もしも、CrystalDiskMark が Windows 標準のボタンコントロールやスタティックコントロールだけで作成していたらここまで多くの人に使われることはなかったのではないかと個人的には感じています。とはいえ、『また、スキンを提供する・・・』はまさにその通りだと思います。優れた外観を 1 つ用意することを今後のプロジェクトにおける重要なテーマとして考えていきたいと思います。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です