言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

アフォーダンスを UI に応用する。

アフォーダンスを UI に応用した事例が無いか調べている。え?いっぱいあるやんって?それが結構大変で、どうやら「アフォーダンス」という単語は色んな意味に使われるバズワードらしい。しかも、デザインで使われるフォーダンスは全然意味が違うなんていう人までいる! id:deepbluedragon:20051226:p1 これはグーグルが役に立たない良い例です。

私が特に強調して調べたいのは、「不変項」という考えを使ったデザイン。例えば長方形の机を見た時に、網膜にはへしゃげた台形として映るはずなのに頭では長方形だと思う。それは、机の周囲を視線が移動する時に起こる台形の形の変化から、変わらない要素、こっちとあっちのへりは平行だとか、そういう「不変項」を抜き出して、そこから長方形のイメージを形作るかららしい。

極端な話、不変項を抜き出す事さえ出来れば、目が見えなくても長方形のイメージを形作ることが出来る。実際盲人はそうやっている。逆に、もしも網膜に正確に長方形の図を投影出来たとしても、それだけでは長方形を感じる事は出来ないだろう。

コンピュータの世界では、よく「モデル」と「ビュー」という言い方をする。マウスのドラッグによって、単にモニタ上の図形「ビュー」だけじゃなくて、ビューの原因となるメモリ上に蓄えられた「モデル」が変化する。UI デザイナは、モデルを効果的にモニタに表現するために、ボタンや、スライダーなんかの色んな現実世界のメタファを使う。

問題は、モデルの持つ豊かな能力に比べて、ビューの表現力があまりにも劣っている事だ。ソフトウェアの機能が上がるほどボタンやメニューの数が増えてゆき、画面上を覆い尽くす。これはモニタが大きくなっても、そして三次元に表示出来るようになっても大した助けにはならないだろう。しかしモニタを網膜だと考えると希望がわく。モニタは知覚のヒントに過ぎない。デザインするべきはモニタを通じて脳がイメージする不変項の方だ。ここで二つの解決策が思い当たる。

ギブソンの言うように、認知は動的に行われている事を最大限利用する。つまり、UI は人間がクリックするまでじっとしているべしという現在の考えを捨てて、ゲームみたいにじゃんじゃん動きまくる。ビューが動いていても、不変項が安定していれば良い。しんどいかな。

メタファで UI を作るという考えを捨てる。赤ん坊が手足をバタバタさせながら環境を学ぶように、人間もコンピュータの中を試行錯誤しつつ何かを学べるようにすれば、特にボタンを現実のボタンのように作る必要は無い。むしろ、論理的なインタフェースの作りやすい CUI に逆戻りするべき。大体、ボタン自体自然界に最初からある物でもないし。

と、こういうのを実践している先行事例が無いか調べている。本当はすでにもう少し具体的なアイデアがあるのだが、ちゃんと実験が出来るまで内緒にしておきます。