モード
modes
モードがあるとは、同一のジェスチャが異なるコンテキストや状態によって、異なる動作や結果を引き起こすこと e.g. 同じ「エンターを押す」というジェスチャも、モードによって「改行」や「決定」という意味に変わる
逆に、同一のモード内であれば、同一のジェスチャの解釈が一定である
モードの定義 ref 『ヒューメイン・インタフェース』.icon
インターフェースがモードを持つのは、
①インターフェースの現在の状態が注意の所在となっておらず ②そのジェスチャに対して複数の異なった応答がインターフェースによって実行される場合 同じジェスチャであっても、注意の所在の如何によってモードがあったりなかったりするということmrsekut.icon
インターフェース全体からモードをなくすためには、全てのジェスチャからモードを無くす必要がある
モードの問題
『ヒューメイン・インタフェース』.icon 2章でモードの話の前提が説明されている
モードは習慣的動作に対して予測できない影響を与える 同じジェスチャが異なる解釈をされると習慣とぶつかる
e.g. アクセルブレーキ反転モードがあると、子供が飛び出てきた場合に、反射的にアクセルを踏んでしまう
interfaceにモードがある場合、現在の状態を取得する手段が必要になる
(state,action)で解釈が決まるわけだからmrsekut.icon
モードがなければstateに依らず、同一のactionが同一の解釈をできる
ユーザの行動を制限してしまう
注意を惹くことはできるが、ユーザの行動を制限するのは良くない
各自でconfigとかuser preferencesを決められるやつ
同じサービスで別の設定になっているものを触ると困惑する
同じアクションをしてるのに全く別の解釈がされる
まあ設定するの面倒だしな
そもそも、その対象への理解がないと変換のしようもない
使い方に加えて設定の仕方も学ばないといけない
インターフェースを設計するのは、デザイナの仕事であってユーザの仕事ではない
モードに依る間違いを最小化する
モードを持たせない
これが最も有効
モードの違いを区別できるように明示する
モードごとにコマンドが重ならないようにする
例えば、モードAでの「確定」コマンドのジェスチャが、モードBの「削除」と同じだと困る
これは間違いによって起きる問題の影響を低減はできるが、間違いの数自体は減らせない
モーダルダイアログの本来の意図は、エラーなどの、ユーザーの行動が即、求められるシステムの状態を警告することだった
そうすることで、エラーの修正のためにユーザの行動を遮ることができる