今回は、ユーザービリティについて書きたいと思います。
エンジニアとして就職する前、ユーザービリティを良くすると言うのはこんなイメージで考えていました。
- いかにユーザーフレンドリーなシステムを作る
- 色々な新しいコントロールを使って、操作性を上げる
しかし、実際にエンジニアとして働いてみると、根本的な考え方が抜けていたことに気付かされました。
今回はそれについて書いていきます。
ユーザーの想定通りに動くことがユーザービリティ
まずユーザービリティとは、ユーザーの思うように動くシステムのことだと思います。
実際、日常生活でシステムを使うケースで、期待した動きと違った時不安になることは無いでしょうか。
- インターネットバンキング
- 旅行の申し込みサイト
- 施設の予約サイト
こういったサイトを使うとき、以下のようなことが気になるのではないでしょうか。
- 情報が間違って登録されることはないよね?
- ボタン押しても何が起きたか教えてくれるよね?
- 処理中ならばその状況が把握したい
- 余計な情報は出さず、シンプルに操作すれば目的を達成できるようにしたい

設計者は可能な限りユーザーの立場を想像して、使いやすいシステムを作っていくようにになります。
以下では、その他の考え方を紹介していきます。
ユーザービリティの第1目標は、ヒューマンエラーを無くすこと
システムを使う上で、大きな懸念はヒューマンエラーです。
それが、自分が困るだけならまだしも、企業向けなどのシステムで部署やその顧客にも影響が出てしまう場合は特に注意が必要になります。
ユーザーは色々な操作をしてしまうので、どんな操作をしてもバグらないものを作っていく意識が必要になってきます。
ユーザーマニュアルは最小限で済むように作る
ユーザーは忙しい方も多いです。
ユーザーマニュアルを引きながら操作してしまうと、時間がかかってしまいかえってIT化のメリットが小さくなってしまう事にもなります。
基本的には、ユーザーが自然に使って処理を進め、あくまでマニュアルは補助であるべきです。
操作習得に時間がかかってしまうシステムは、「使用性」や「操作性」が低いものになってしまいました。
これはソフトウェアの品質副特性として、評価する項目のため、気になる方は参考にして頂ければと思います。*1)
ユーザーによってUIの要件が異なる場合こそ、エンジニアの出番
時には、ユーザーによって「ユーザーインターフェイスはこうあるべき」という意見が分かれる場合があると思います。
あるいは、実際に設計していく中で例えば「この画面を挟んだ方が良いか」「ラジオボタンよりチェックボックスの方が良いか」など悩む場合もあります。
そんな時こそ、開発者の意見が重要になります。
開発者はユーザービリティだけなく、そのシステムの保守性 *2) や開発の効率なども考慮することができます。
色々な観点でシステムの要件を検討し、最適解を出してクライアントへ提示するようになります。
利用ユーザーはどうしても色々な観点で要件を検討するのが難しいと思います。
そのため、色々な知見を活用して、UI要件に答えを出すのも開発者の醍醐味なのかもしれません。
リンク
*1) ソフトウェア品質特製
https://webrage.jp/techblog/external_quality_inner_quality/
*2) 保守性
https://e-words.jp/w/%E4%BF%9D%E5%AE%88%E6%80%A7.html
コメント