ガイドラインTweetソシオメディアがまとめている、ヒューマンインターフェースをデザインする際の指針です。これらは、インターフェースデザインに関する様々な文献と、実際のデザインコンサルティングで得た知見をもとに、ソシオメディアが独自に編纂したものです。継続的に追加・更新していきます。簡単にする利用方法を効率化し、目的達成までの手順と労力をできるだけ減らす。ユーザーの主導権システムがユーザーをコントロールするのではなく、ユーザーがシステムをコントロールできるようにする。システムの都合で強要する操作を減らす。システムの都合で一方的にユーザーの行動を制限しない。ユーザーが常に自分の意思にもとづいて選択し、作業を進められるようにする。画面上のオブジェクトに直接触れて操作しているような感覚を与える。身体的な動作に追従してリアルタイムに表示を更新する(フィードバック)。逆の操作をすることで前の状態に戻せるようにする(可逆性)。モードレスできるだけモードをなくす。UIにおけるモードとは、ある操作の持つ意味が状況に依存して変化し、それによってユーザーに対して、現在可能な操作を限定したり、操作の順序を固定的に強制する状態のこと。UIがモードレスあれば、ユーザーは自由な順序で作業を行うことができる。ユーザーの記憶に頼らないシステムが表示するメッセージの内容やプロパティの値などについてユーザーが覚えていることを前提にしてはいけない。参照すべき情報はそれが必要となるその場で参照できなければいけない。コンストレイントユーザーの行動を意図的に制限することにより、誤操作を減らしたり有効な使い方を促したりする。ハサミはそのハンドルの形状によって持つ方向を制限して、常に刃が正しい向き(力を加えやすく、切り口も見えやすい向き)になるようにしている。エラーを回避する操作ミスを起こしにくくする。エラーメッセージをわかりやすく示すことも大事だが、それ以前にエラーが起きないように工夫することが重要。まぎらわしいものをはっきりと区別したり、状況的に意味のない操作はディスエーブルにするなど。選択肢の中からひとつを選ぶ場合、選択肢の数に比例して時間がかかる。選ぶものが決まっていたとしても、選択肢が多ければその分の時間がかかる。複雑性保存の法則プロセスを単純化しようとしても限界がある。この複雑性は減らせず、移動できるのみ。複雑性をできるだけユーザー側からシステム側に移動した設計にすることで操作性を高めることができる。タスクコヒーレンスユーザーが、昨日行ったことを今日も行う可能性は高い。これをタスクコヒーレンスと呼ぶ。ユーザーが最後に行ったことを覚えているだけでユーザーの行動を正しく予測したのと同じ効果がある。メジャーなタスクに最適化する大多数のユーザーが行うタスクに合わせて必要な情報や機能を前面に出す。80%のユーザーは全機能の20%しか使わない(パレートの法則)。すべての要求を等しく扱うと結果的に誰にとっても使いにくいものになるため、メジャーな要求への対応を優先する。パースエージョン説得的な仕掛けでユーザーの行動を促す。使い方のガイド、レコメンデーション、心理的な報酬、他者との比較、バーチャルリアリティ技術やシミュレーション機能による疑似体験、などによってユーザーを動機づけしたり意思決定を促したりする。ショートカットを用意する経験あるユーザーが頻繁に実行することについて、通常の段階的な操作を短縮してより速く行う方法を提供する。キーボードショートカット、ブックマーク、ジェスチャ、ヒストリーなど。ビューはオブジェクトを表象するインターフェースは、オブジェクト(ユーザーの関心の対象である概念物)を表象するビューの集まりによって構成される。ひとつのオブジェクトは複数のビューによって異なる表現を持つことができる。操作順序ユーザーがまず対象物(名詞)を選び、それからアクション(動詞)を選ぶようにする。アクションを先に選ばせると「対象物の選択待ち状態」が発生して操作の自由度が下がってしまう。データよりも情報を伝えるユーザーは数値よりもその意味を知りたい。現在ディスクを何バイト使っているのかよりもあと何割ぐらい残っているのかを知りたい。音楽プレーヤーを買う時はストレージの正確な容量よりも何曲ぐらい入るのかを知りたい。ユーザーがとれる操作がひとつしかないなら自動化する複雑な入力を少ない操作で行えれば情報効率の高いUIと言える。現在許された入力が1種類だけであればわざわざユーザーがそれを行うことは情報効率としてゼロを意味する。システムが自動で代行するべき。ペンは紙の近くに置くツール類は処理対象の近くに配置する。対象物が見えているのにわざわざ別のウィンドウを開くなどして操作しなければならないのでは、机から立って廊下にペンを探しに行くようなもの。その場でモードレスに操作して逐次結果を確認できるようにする。前提条件は先に提示する事前に満たしておくべき前提条件を長い手続きの途中や最後になってから求めると、そこまでのユーザーの労力が無駄になる恐れがある。アプリケーションの外部から参照する必要のある入力情報や、同意する必要のある規約など。ナビゲーション項目は名詞にする多くの場合、ナビゲーション項目がやることベースの動詞表現になっているとそこに何があるのかわかりづらく、またやること別に画面を作ると似たような一覧表示画面が増えてしまう。情報の種類ごとに画面を作り、ナビゲーション項目は名詞表現にする。ゼロ・ワン・インフィニティ個数に関して恣意的な仕様を作らない。要素の存在可能な個数は基本的に0か1か無限とする。一覧の項目数、フォルダの階層数、入力欄の文字数など、ユーザーが増やせるものに数の制限をつけない。どれだけ増えてもUIが破綻しないようにする。ユーザーが入力したものはユーザーのものユーザーが入力した値や設定した内容は基本的にすべて保存されるべき。ユーザーが追加した項目はユーザーが削除できなければいけない。ユーザーが入力した内容はユーザーが変更できなければいけない。整合性を損なうような操作をユーザーに求めない情報の整合性が損なわれる可能性がある操作をユーザーに求めない。ブレーキランプを手動でオンにさせてはいけない。生年月日と年齢を両方入力させるようなことはしない。よいデフォルト選択式の入力欄や設定項目に妥当性の高いデフォルト値を与えることでユーザーの操作を減らせる。よいデフォルト値とは、よりリスクの少ないもの、より一般的なもの、より中立的なもの、現在の状態を反映したもの、ユーザーの操作履歴を反映したものなど。