53-正しい使い方を簡単に、誤った使い方を困難に

プログラマが知るべき97のこと」の53個目のエピソードは、インターフェイスに関する話です。ソフトウェア開発のスキルを身につけていく中で、インターフェイスバウンダリ(境界)に関することは、最も悩まされる事の1つです。一言でインターフェイスと言っても、ユーザインターフェイスのような抽象度が高くシステムの中でもエンドユーザに近いインターフェイスもあれば、クラス内での関数の呼び出しのような抽象度の低くプログラマに近いインターフェイスもあります。共通する点は、複数の領域を橋渡しする為の窓口となっているという事です。使う側からすれば、窓口の反対側でどのような事が行われるかよりも窓口を通じて受け取れる結果や効果について興味があります。極端な例をあげれば、自動販売機の中でどのような処理が行われていたとしても、自動販売機を利用する人はお金を投入した結果として商品が入手できる事が重要なのです。窓口での手続きは簡単である方が望ましいのです。このエピソードでは、そんなインターフェイスを設計していく時に重要な事を2つ紹介しています。

正しく使用する方が操作ミスをするより簡単

自然に正しく使えるようになっていれば、操作ミスを未然に防止できます。言い換えれば、正しく使用する方法が解らないから操作ミスが発生するのです。最も良く利用し最も価値の高い機能を使う為のボタンが、特定の条件を満たし、解りにくい場所に表示されるとしたら、その機能を試す前にユーザーは心が折れてしまいます。ある処理をするためにたくさんのクラスを初期化し、組み合わせて実行するとしたならば、どこかで設定し忘れて正しく実行できない可能性が高くなります。見やすい場所のボタン1つ、ユーティリティメソッド1回の呼び出しで済むのであれば、操作ミスをするよりも簡単に利用できます。

誤った使い方をすることが困難

操作ミスの原因自体がなければ、操作ミスは起こりえません。操作できないボタンが押すことが出来てしまうとそれだけで操作ミスが発生する原因となります。一手間かけてボタンを非活性にすることで、操作ミス自体が起きないようにすることが出来ます。関数であれば、複数の引数は指定順番を間違える可能性があります。しかし、1つしかなければ順番を間違えることはできません。

使いやすいインターフェイスを設計する場合は、必ず利用者側の視点に立って設計することです。インターフェイスAPIは利用者のために存在するのです。その為には、自分自身が利用者となり、使いにくくないか?間違えやすくないか?について検討するべきです。自己満足でインターフェイスを作ってはいけません。ユーザが満足するようなインターフェイスを作るのです。APIであればテスト駆動開発を導入して最初に自分がユーザとなってください。テストが可能で使いやすいかを確認してください。GUIであれば、モックを作り実際に操作してください。GUIの場合は実際に使うユーザと同じ程度のコンピュータ知識を持った人が使うのがベストでしょう。どちらにせよ、使ってみて感じる事が大切です。

プログラマが知るべき97のこと

プログラマが知るべき97のこと