92. 動かしたままに動くのではなく動かしたいように動く

Move As User Want, Not As User Move

インターフェースはユーザーの操作に素直に応じて動くべきだが、思いどおりにコントロールできていると感じさせるためには、入力デバイスからの値をそのまま反映するのではなく、適切な「あそび」や、経験則からの「補正」を含める。

階層式のメニューでは、親項目の上にマウスが来るとその子階層が開く。マウスを別の親項目に移動すると開いていた子階層は閉じる。しかしユーザーはこのように斜めにマウスを動かすので、目的の項目に到達する前に子階層が閉じてしまわないよう、一定時間の猶予を持たせる。

マウスポインターの動きはマウスの移動速度と方向を反映するが、思いどおりに動かしていると感じさせるためにアクセラレーションが働いている。マウスをゆっくり動かすと移動距離は少なく、速く動かすと大きくなるようになっている。

iPhone では、スクリーン上でユーザーが実際に触れた座標に補正をかけてアプリケーションに値を渡している。スクリーンの上の方ほど、上方向への補正が大きくなる。これによりスクリーンをやや下から見た姿勢で思いどおりに画面要素をタッチできる。