柔軟性と効率性
(ユーザビリティヒューリスティックNo.7)

初心者には見えないショートカットが、熟練者にとっては操作をスピードアップしてくれる。こうすることで、システムは経験の浅いユーザーと豊富なユーザーの両方に対応できる。

(この記事の最後にあるヤコブのユーザビリティヒューリスティックNo.7の無料ポスターをダウンロードしよう)

私は料理が得意ではない。レシピ通りにやれば、何とか食べられるものができるが、それには時間がかかり、かなりの集中力も必要だ。料理をするには、詳しく書かれたレシピに全部目を通して、あらかじめすべての材料を一緒に使うものごとに分け、難しそうなところはやり方をググっておくという準備をしないと焼け焦げた夕飯しか食べられないことになる。キッチンでの作業についてよく心得ている友人が何人かいるのだが、彼らが料理をするときのちょっとしたショートカットにはいつも驚かされる。何年も前に友人のNickと初めて料理をしたとき、私はバジルの葉を切るのに苦労していて、切った葉の大きさが同じになるように、また、その過程で指を切り落とさないように必死になっていた。そうするとNickが歩いてきて、一握りのバジルの葉をつかんで、それを重ね合わせ、小さな葉巻のような形にやさしく巻いた。次に彼がその巻いた葉を数回テキパキと切ると、あっという間にそのバジルは完璧に同じ大きさに切れていた。私が突っ立っていると、彼は私にウインクをして、レシピの別のパートをやり始めた。私は彼のあまりの効率の良さと作業の正確さにショックを受けたのだった。

キッチンと同じように、UXでも、さまざまな能力のユーザーに対応する必要がある。システムは、ユーザーがタスクをさまざまな方法で達成できるように柔軟でなければならない。柔軟なシステムは効率的でもある。なぜならば、ユーザーが自分に最適な方法を選択できるからだ。10のユーザビリティヒューリスティックNo.7によると、初心者には見えない、熟練者の操作をスピードアップするショートカットやアクセラレーターを使って、我々は利用の柔軟性と効率性を優先する必要がある。こうした手法を取ることで、経験の浅いユーザーと豊富なユーザーの両方に対応することができるのだ。

初心者と熟練者ではニーズが異なる

新規ユーザーは、システムがどのように機能するかというメンタルモデルをまだ築いていないため、システムを利用する際にはガイダンスが必要になることが多いし、明確でわかりやすい選択肢も必要とする。たとえば、初心者のユーザーは段階的なウィザード明確なラベルが付いたメニューに大きく依存するが、経験豊富なユーザーキーボードショートカットタッチスクリーンジェスチャーを覚えて、同じタスクを達成する。もちろん熟練者も、より時間のかかる慎重な方法を用いることはできる。しかし、彼らにはそうするメリットがないので、代わりにより高速な(しかし、ガイドが少ない)やり方でタスクに取り組む。頻繁に行う操作をより高速に完了させるこうした代替手段のことをアクセラレーターという。

システムが新規ユーザーへの対応として、非常に学習しやすい、ということを何よりも重視すると、リピーターはスピードが落ちてしまう。そのシステムでは、リピーターが必要とするよりも多くのステップバイステップの支援が提供される可能性が高いからだ。つまり、ウィザードによってユーザーを導くための追加的なクリックは、初めてのタスクの説明には必要不可欠かもしれないが、次にまたそのタスクを行うときには的はずれなものになるだろう。

その一方で、システムが熟練者の効率だけを重視すると、そのシステムはおそらく非常に学習しにくいものになる。キーを組み合わせたり、タッチジェスチャーを実行すると、一連のメニューをこなしていくよりも短い時間で同じアクションを起動することができるが、ユーザーの記憶への負荷は増加するからだ。ユーザーの記憶だけに頼るというのは、コマンドラインインタフェースのためにグラフィカルユーザーインタフェース(GUI)を完全に捨てるようなものだ。

したがって、柔軟で効率的なシステムの作成には、以下の2つの異なる側面がある:

  • ユーザーの好みに合うように、タスクを達成する方法を複数提供すること。
  • 経験の浅いユーザーのスピードを落とさずに、アクセラレーターによって上級者の作業をスピードアップすること。

タスクを達成するための複数の方法

柔軟で効率的なシステムとは、ユーザーが初心者から熟練者へ移行していくのを支援するだけでなく、ユーザーが自分の作業スタイルに合わせて複数の方法でタスクに取り組めるもののことだ。それにはタスクのやり方を規定するのではなく、タスクの達成方法に応用が効くように機能を構成すればよい。たとえば、少しだけ変更がある、大人数に一斉送信するメールを作成する方法としては、以下のようなものが考えられる:

  • 同じ内容の基本のメールを何度も入力する。
  • メールの本文をコピー&ペーストし、受信者ごとに変えたい部分(名前など)を編集する。
  • 1つのメールをその大規模なグループ宛に送信する(BCCを利用)。
  • 差し込み印刷機能を利用し、各メールにアドレスを個別に指定して送信する。
  • データベースからメール本文に情報を引き出すプログラム変数を用いた、より高度なツールとメールを統合する。

こうしたやり方はそれぞれ、(ほぼ)同じ効果(同じメールを少しだけ変更して大人数に送信する)をもたらすが、メールを送信する人にとっての効率とコントロールのレベルには違いがある。1回のメール送信のために完全なマーケティングオートメーションシステムを構築するのは、インタラクションコストの高さからおそらく割に合わないが、このタスクを繰り返し実行しなければならない熟練者にとっては価値のあるトレードオフになる可能性もある。

(とはいえ、単に機能を複数の場所に重複させるだけでは解決にはならない。過剰な重複はシステムの学習を難しくするからだ。重複は、機能の重複や、UI内の複数の場所への同じ機能の配置というかたちで現れる。どちらの場合も、ユーザーは重複するコマンドに違いがあればその違いを覚える必要がある)

(有用な柔軟性と有害な重複は、必然的にちょっとした緊張関係にある。そこで正しい判断を下すには、あなたのユーザーにとって何が有用なのかを示す証拠に基づいて、適切なトレードオフを体系的に評価する必要がある)

単にタスクのやり方に応用が効くように機能を構成する以外にも、ユーザーが柔軟なやり方でタスクを実行できるようにするには、熟練者が彼ら独自の(そしてダイナミックに変化することも多い)ニーズに合わせてインタフェースをカスタマイズできるようにする方法もある。たとえば、ユーザーがアプリケーション内で複数のウィンドウ配置(「ワークスペース」または「スクリーンセット」という)を設定して、それを切り替えられるようにするということだ。

Logic Pro Xは、「スクリーンセット」というカスタマイズ機能を搭載している。これはユーザーがウィンドウの配置を設定したら、それを1回のキー操作やメニューから再現できるというものである。この機能により、パワーユーザーは、音楽のレコーディングやミキシングに関するさまざまなサブタスクで、柔軟に(かつ効率的に)表示をカスタマイズできる。個々のスクリーンセットに対する変更(通常の作業の一環としてウィンドウサイズを調整すること)は、ユーザーが後でそのスクリーンセットを再作成しても保持される。

ただし、カスタマイズによって、UIに柔軟性をもたせ、一部のユーザーの特別なニーズや作業習慣をサポートすることができたとしても、この機能に依存しないようにしよう。ほとんどのユーザーはシステムをわざわざカスタマイズしたりはしないからだ。

システムの中には、カスタマイズではなく、パーソナライゼーションを採用しているものもある。そうしたシステムでは、UIを個々のユーザーに合わせて自動的にカスタマイズしているのである。しかし、パーソナライゼーションは、正しく行うには費用がかかるし、うまくいかないとうっとうしい。ただし、役割ベースのパーソナライゼーションはエンタープライズツールには有効である。また、たとえば、Excelが前回の並べ替え順(たとえば、降順)を記憶しているように、前回のコマンド使用時に使ったパラメータを記憶するなどして、そのユーザーの別のセッションの設定を保存するといった、簡易的なパーソナライゼーションの取り組みは検討に値する。

アクセラレーターは反復的な使用の状況を改善する

アクセラレーターとは、同じタスクを達成する補助的な方法のことで、より高速な(しかし通常は目立たない)方法として機能する。アクセラレーターの例に、最新のモバイルキーボードでは、文字を1つ1つタップするのではなく、文字をスワイプするジェスチャーで、テキスト入力できるというのがある。このジェスチャーは拡張機能だ。つまり、初めて使うユーザー(おそらくこのジェスチャーにまったく気づかない可能性が高い)の邪魔にはならないが、経験豊富なユーザーの時間を大幅に節約することできる。

iOSのキーボードでは、文字を1つ1つタップする代わりに、単語の文字をスワイプすることができる。このジェスチャーはアクセラレーターだ。経験豊富なユーザーには便利だが、初心者の文字入力の学習を難しくすることもない。

ユーザブルなアクセラレーターをデザインするコツは、それを発見しやすく(この点がモバイルキーボードのジェスチャーには欠けている)しつつ、控えめにすることだ。こうしたキーボードショートカットのアクセラレーターの方法としてよく採用されるのが、メニューまたはツールバーの関連するコマンドの近くに表示するというものだ。こうすれば、初心者はそのキーボードショートカットを意識せずに済むが、繰り返し表示することで、経験豊富なユーザーの学習を支援することができる。

Adobe Photoshopでは、マウスオーバー時に表示される小さなオーバーレイに、ツールバーアイテムのキーボードショートカットアクセラレーター(ここではW)へのアクセス方法を示す、控えめなメッセージが表示される。

柔軟性と効率性を高めるもう1つの方法がマクロだ。マクロは、ユーザー定義のカスタマイゼーションとシステムが作成するアクセラレーターの中間的なものといえる。マクロを利用すると、ユーザーは1つのトリガーで一連のコマンドを実行できるため、熟練者は予測可能なステップからなる反復的なタスクや時間のかかる退屈なタスクを自動化することができる。(Excelを使う人なら、一連のマウスクリックとキー操作を記録したり、スクリプトを書くことによって作成するマクロのことはよく知っているだろう)。しかし、バッチ処理を効率的に行う方法はマクロだけではない。ユーザーが(たとえば、対応するチェックボックスにチェックを入れて)テーブル内の複数の項目を選択し、そのすべての項目に対してコマンドを実行できるようにするシンプルな機能もアクセラレーターである。

Airtableには、「オートメーション」というマクロ機能がある。この機能を使うことで、パワーユーザーは複数のアクションをつなげて、それを自動的に起動させることができる。また、テーブルの各行には従来のようにチェックボックスがあるので、ユーザーは複数の行に対して一括操作(色付けやフィルタリングなど)を実行することも可能だ。これらの機能はどちらもアクセラレーターの一種だが、ユーザーにかかる手間のレベルが異なる。

要約

ユーザビリティヒューリスティックNo.7(柔軟性と効率性)は、ユーザーがさまざまな方法でタスクに取り組めるようにする、というものだ。そうすることで、新規ユーザーにとってはタスクを実行する際にガイダンスが必要だし、経験豊富なユーザーにとってはアクセラレーターなどの補助的な機能を利用して、よく実行する操作をスピードアップすることができる。このヒューリスティックを取り入れるということは、ユーザーによるカスタマイゼーションを可能にして、タスクの主要な手順を規定せず、パワーユーザーが発見して効率的に利用できる控えめなアクセラレーターを追加するということなのである。

ダウンロード