ユーザインタフェースとユーザエクスペリエンスの違いはなにか?
「Unixのコマンドラインは最高のUIである」などという意見に対抗するために出てきたのが UX (User Experience) という考え方だ。と少なくとも私は理解している。
Unixのコマンドラインは UIの部分だけみると悪くはないのは書いたとおりだ。屁理屈ではあるが納得しておいてほしい。
しかし、これが屁理屈にしかならないのは、「本当にユーザがやりたいこと」を実現していないからだ。
アプリケーションのできることを統一的にユーザに提示する、という意味での界面 (Interface) なら Unixコマンドラインが最強だ、という強弁もできる。
しかし、問題はインターフェースだけではない。そのインターフェースを通ってたどり着いたアプリケーション本体がクソだったら、結局ユーザはクソしかいじれないのだ。
どんなに zshが高機能で、行編集機能が便利でファイル名展開機能が強力でも、結局最終的にはコマンドラインのオプションを編集しないといけないのだ。いや、zshなら補完機能でオプションもぐりぐり指定できそうだけど、知らないオプションは使えない。
同様に、どんなに emacsが強力でも、各種設定ファイルの書式はばらばらで、それぞれに書き方を覚えなくてはならない。
結局、やりたいことをやるためには UIの一貫性とかだけじゃだめなんじゃ、っていうことだ。
ちなみに普通の GUIだと設定ファイルじゃなくて設定ダイアログになるから、ここら辺はUIの問題になる。コマンドライン文化になれた俺みたいな人間からすれば「いらない問題まで UIに抱え込んじゃって馬鹿だなあ」とか思うけど、やっぱり一般人向けに考えたらそこらへんは UIに抱え込んじゃうのが正解なんだろう。
つまりどこに界面 (Interface) をおくかで、UIの問題の難しさなんていうのは変わってしまうのだ。
「そんな恣意的なものにとらわれてはいけない」というのが UX (User Experience) という言葉の意図だと思う。コマンドラインのオプションで選ぼうが、ダイアログで選ぼうが、ユーザがやりたかったことは同じだ。その結果、ユーザがどういう経験 (試行錯誤) をしたか、全体を見ていこう、というのが UXの考え方だ。
その結果、同じことをやるのに (操作法は一貫していなくても) ダイアログで選んだほうが楽、というユーザのほうが多いんだろう。つまり、ここまで考えるとコマンドラインが敗れる。
いや、本当にダイアログが楽かどうかは人と場合による。それこそ定型的なこと (コンパイラのオプションを与えるとか) ならコマンドラインのほうが楽な場合が多いだろう。でも、たまにしかやらないことなら、学習曲線でま考えてダイアログに軍配が上がりそうだ。実際、自分もなれないシステムを使い始めたときは GUIを使っちゃうし。