これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

アプリケーションはシンプルな方がいいのか

Webアプリケーションの開発などしていると、思うことがある。シンプルさは常に優先されるべきものなのか、と。

User Interface

UIはシンプルである方がいいものの代表だと思う。シンプルでないUIは、何をすればいいか分からなくなる。使い手にとって、自分の望みを満たすにはどう操作すればいいか、直ぐにイメージできない。その点、UIがシンプルにデザインされていれば、どう操作すればいいかは明らかだ。
シンプルなデザインは、それ自体がユーザーにどう行動すればいいかを訴えかけてくる。複雑なデザインは、複雑というだけでユーザーを迷い道に誘い込んでしまう。

機能

アプリケーションが備える機能は、シンプルであるべきだろうか?
機能を削ぎ落としたシンプルなアプリケーションは、そこから得られるものが想像しやすい。いや、得られないものが想像しやすい、と言った方がいいのかもしれない。が、しかし。分かりやすいのだけど、シンプルすぎると「これができるといいのに」という場面に頻繁に出会う。これはやっぱり不便なのだ。必要な機能は、ある程度備えておいた方がいいと思う。

アプリケーションの内部構造

プログラムの作りの部分は、シンプルであるべきだろうか?
これはもう、シンプルであるにこしたことはないし、極力シンプルなプログラム構造を目指すべきだろう。
しかし、仮にある機能をユーザーが欲していたとして、それをシンプルに実装することができないとき、それを避けるのは本末転倒だ。プログラムがシンプルであるよりも、ユーザーに価値を提供することの方が上位目標なのだから。

使い手との接点がシンプルに

GoogleのUIはシンプルで分かりやすい。普段はキーワードを入力して使うだけだ。しかし、機能はシンプルとは言えない。加減乗除の計算、路線検索、為替レートの計算までできたりする。検索エンジンから想像される機能ではないものも多い。だけど、これらは時々便利なのだ。
また、私がへぼプログラマだからかもしれないが、Googleの内部構造はとても複雑に見える*1。分散ストレージとかMapReduceとか。でも、それはGoogleがユーザーへ価値を提供することから逃げなかった結果なのだと思う。
シンプルさとは、人間がそれに触れたときにその力が発揮されるものであるように思う。アプリケーションを使う人にとって、今まさに使っているその瞬間がシンプルであるかどうか、それが大切なのではなかろうか。そして何よりアプリケーションにとって大切なのは、使い手にとっての価値を提供する存在であることなのだと思う。

*1:解決している問題の複雑さからすれば、十分にシンプルなのかもしれないが