インターフェース

C# のインターフェースのことではありません。考え方は同じですがどっちかというと、人がアプリケーションに対して操作する時の仕組み、所謂 UI のことをちょいと書いてみたいと思います。

何かプログラムを作る時、殆どの場合はこの UI を必要とします。コンソールアプリケーションであればコマンドラインオプション、ウィンドウアプリケーションであればボタンの配置やメニュー構成、Web アプリであればフォームの設置ということなのですが、この UI は非常に大切です。そのアプリケーションを使う人、すなわちユーザとの唯一の接点になる訳ですが、この UI の出来次第でそのアプリケーションに対する印象は180度変わります。扱いやすい独自の UI も良いのですが、一応標準と言いますか「こういう時はこうするもの」というものもあったりしますので、ある程度その標準に合わせるということも重要ですね。

さてさて、最近のタブブラウザには大抵マウスジェスチャという機能が搭載されています。簡単に説明しておきますと、通常ボタンやメニューで操作する機能を、マウスのジェスチャ(例えば右ボタンを押したままマウスを↓→と動かす等)だけで行えるようにしたもので、恐らく Opera が最初に搭載した機能です。初めはなかなか使いこなせませんが、一度手に馴染んでしまうと手放せない、非常に優秀なインターフェースです。格闘ゲームのコマンド入力に近い感じでしょうか? あまりやったことは無いので、手に馴染むものなのかは知りませんが^^;

このマウスジェスチャは、どんなアプリケーションにも使えるほど汎用的なものではありませんが、ブラウザとの相性は抜群です。ページを開く、閉じる、進む、戻るといったある意味特殊な操作をこのマウスジェスチャで行うのですが、とてもスムーズな操作が可能になります。初めて使った時は感動しました。UI に感動したのは初めてかも?

しかし、この完璧とも思えるマウスジェスチャにも欠点があります。それは行いたい操作とジェスチャの対応を覚えなきゃならないことです。両者間に関連性は全く無いので使う人間が必ず学習する必要があります。応用も利きません。これは UI としてはある意味致命的な欠陥です。今時の「直感的な操作が可能な UI」とは丸っきり正反対の方向を突き進んでいます(タブブラウザの場合、普通の操作も可能ですけど)。

斬新な UI はなかなか世に出てこないし、出てきてもすぐ自然消滅してしまったりするけど、このマウスジェスチャは久々の大ヒットという感じです。「学習コスト<効率or快感」という図式が成り立っているからでしょう(快感は余計か)。今後もいろいろな UI が登場すると思いますが、頭の良い人たちには是非頑張って頂いて「究極の UI」を生み出して頂きたい!と頭の悪い人は思う訳です。以上。