generated at
モード
modes
モードがあるとは、同一のジェスチャが異なるコンテキストや状態によって、異なる動作や結果を引き起こすこと
e.g. 同じ「エンターを押す」というジェスチャも、モードによって「改行」や「決定」という意味に変わる
逆に、同一のモード内であれば、同一のジェスチャの解釈が一定である

モードの定義 ref 『ヒューメイン・インタフェース』
インターフェースがモードを持つのは、
①インターフェースの現在の状態が注意の所在となっておらず
②そのジェスチャに対して複数の異なった応答がインターフェースによって実行される場合
同じジェスチャであっても、注意の所在の如何によってモードがあったりなかったりするということmrsekut
インターフェース全体からモードをなくすためには、全てのジェスチャからモードを無くす必要がある
サービス全体を1つのジェスチャの範囲にする











モードの問題
『ヒューメイン・インタフェース』 2章でモードの話の前提が説明されている
モードは習慣的動作に対して予測できない影響を与える
同じジェスチャが異なる解釈をされると習慣とぶつかる
e.g. アクセルブレーキ反転モードがあると、子供が飛び出てきた場合に、反射的にアクセルを踏んでしまう

interfaceにモードがある場合、現在の状態を取得する手段が必要になる
(state,action) で解釈が決まるわけだからmrsekut
モードがなければ state に依らず、同一の action が同一の解釈をできる
ユーザの行動を制限してしまう
注意を惹くことはできるが、ユーザの行動を制限するのは良くない
Jef Raskinは、ユーザ操作を制限することをかなり強めに否定してる


設定機能もモードがち
各自でconfigとかuser preferencesを決められるやつ
同じサービスで別の設定になっているものを触ると困惑する
同じアクションをしてるのに全く別の解釈がされる
自分の見たい世界に変換することが有用とも限らないのかmrsekut
まあ設定するの面倒だしな
そもそも、その対象への理解がないと変換のしようもない
使い方に加えて設定の仕方も学ばないといけない
インターフェースを設計するのは、デザイナの仕事であってユーザの仕事ではない


モードに依る間違いを最小化する
モードを持たせない
これが最も有効
モードの違いを区別できるように明示する
ただし、注意の所在は常に1つなので、いつも有効であるとは限らない
モードごとにコマンドが重ならないようにする
例えば、モードAでの「確定」コマンドのジェスチャが、モードBの「削除」と同じだと困る
これは間違いによって起きる問題の影響を低減はできるが、間違いの数自体は減らせない







モーダルダイアログの本来の意図は、エラーなどの、ユーザーの行動が即、求められるシステムの状態を警告することだった
そうすることで、エラーの修正のためにユーザの行動を遮ることができる