マイクロインタラクション (Microinteractions)

先日、「Microinteractions : Designing with Details」を読みました。「インタラクションデザインの教科書」の著者として知られている Dan Saffer 氏の本です。

Microinteractions : Designing with Details

実際に本書を手にしたのは今年の5月末ですが、昨年7月に発表されてから約一年、ずっと心待ちにしていた本です。

本書がテーマにしている「マイクロインタラクション (microinteractions)」とは、製品やソフトウェアに含まれる機能の、細部のインタラクション (振る舞い/挙動) を意味します。この、細部のインタラクションの精巧さによって、製品/ソフトウェアのユーザビリティが向上し、(ユーザーが意識せずとも) エンゲージメントを高めることができる、というのが本書の主旨です。過去にミース・ファン・デル・ローエが「God is in the details.」という言葉を、そしてチャールズ・イームズが「The details are not the details. They make the design.」という言葉を遺していますが、本書はまさにそれを地で行くような内容で、とても面白く読むことができました。

この記事では、本書の内容の中でもキーと言える、マイクロインタラクションの4つの構成要素について、簡単にまとめたいと思います。

マイクロインタラクションの4つの構成要素

本書では、マイクロインタラクションは「トリガー (Triggers)」「ルール (Rules)」「フィードバック (Feedback)」「ループとモード (Loops & Modes)」の4つで構成される、としています。インタラクションをどのように実装するかを検討する際には、この4つの視点を軸に考えるとよいでしょう。

トリガー (Triggers)

トリガーには、手動のもの (Manual Trigger) と自動のもの (System Trigger) があります。前者 (Manual Trigger) は、ユーザーの任意の行為によって引き起こされるトリガーです。アイコン (ボタン) を押す、操作子を動かす、フォームに入力する、音声入力する、タッチジェスチャをする、など様々な例が挙げられますが、本書では以下の7つの原則が挙げられています。

一方、後者 (System Trigger) は、ある条件が揃ったときに自動的に引き起こされるトリガーです。要素としてはたとえば、エラーの発生、ユーザーの所在地、入力されたデータ、その時点で内部に存在するデータ、別のマイクロインタラクション、別のユーザーによる行為、などが挙げられますが、これらの要素が絡み合って、いつ、どのように、トリガーが発生するのかを明確にルール化する必要があります。

ルール (Rules)

ルールとは、マイクロインタラクションを介して何ができるか、どういう順序/プロセス/条件でできるか、などを定義するものです。トリガー、フィードバック、単発か継続 (繰り返し) かの種別、その他のコンテキストや諸条件 (前後の流れ、閲覧機器の設定状況、など) も加味して検討します。

ルールの定義においては、以下に留意するとよいでしょう。

忘れてならないのは、ユーザーは自らのゴール (目的) を達成したいとき、厳密に定められたインストラクションに従いたいわけではない、ということです。インタラクションを介して、ユーザーが自然にゴールに導かれる...そんなルールにすることが大事であると本書は説いています。

フィードバック (Feedback)

フィードバックとは、インタラクションを通じて製品/ソフトウェアからユーザーに伝達されるメッセージです。ユーザーによる手動トリガーの直後や、システムによる自動トリガー (とりわけ状況を大きく変化させるもの) の後、ルールで定めたある条件の限界に達した (超えた) とき、製品/ソフトウェアのシステムがコマンドを遂行できないとき、重要なプロセスにおいてその進行を示す必要があるとき、などに発せられます。

フィードバックを設計する際には、以下に留意するとよいでしょう。

これらに留意した上で、「Less is more」(これも上述のミース・ファン・デル・ローエの言葉ですね) の精神に則り、最小限の (できるだけさりげない) フィードバックで最大限メッセージを伝えることを意識するとよいでしょう。

ループとモード (Loops & Modes)

ループ

ループとは、単発ではなく、継続的に (または周期的に繰り返して) インタラクションを発生させることを言います。「for (何回繰り返すかを設定する)」や「while (どういう条件である限り繰り返すかを設定する)」によるループ、あるいは無限ループをうまく盛り込むことで、製品/ソフトウェアを便利にすることが期待できます。

また、本書では「Long Loops」という概念も紹介されています。Adaptive Path の2007年10月のコラム「The Long Wow」を、ループの応用によって実現してみようという考えかたですが、ユーザーの継続的な使用によって蓄積されたデータを基に、さりげない便利さを提供することで、ユーザーのエンゲージメントを高めようというものです。ユーザーの習熟度 (使用期間や使用頻度) に応じて「Progressive Disclosure (必要な情報を必要なときに、漸次的に出す手法)」や「Progressive Reduction ("おなじみ" となった情報を漸次的に隠すことで UI をシンプルにしてゆく手法)」を提供することも、これに含まれます。

モード

基本的には「モードレス」であるべきですが、本書では、定常的ではないアクション (プリファレンス設定など) が必要で、その存在によってマイクロインタラクションに混乱を来たす恐れがある場合のみ、モードを許容しています (その際は、モード専用の画面を用意することと、としています)。

また本書では、従来的なモードを使う代わりに、できるだけ簡易的なモード (「Spring-Loaded」や「One-Off」) を使うこともすすめています。

Spring-Loaded
ある操作を伴う間だけ、有効になるモードです (Shift キーを押している間だけ、アルファベットキーを押すと大文字になる、マウスボタンを押している間だけ、ドラッグができる、など)。ジェフ・ラスキン氏が「ヒューメイン・インタフェース」の中で「擬似モード (quaaimode)」と言っているものと同義です。
One-Off
あるアクションを単発的に実行するモードです。そのアクションが完了すると自動的にモードが解除されます。

以上、マイクロインタラクションを構成する4つの要素について、まとめてみました。これらを総合的に加味することで、ユーザーにとって便利で使いやすいインタラクションを提供できればと思いますし、さらに巧みに、その製品/ソフトウェアを特徴づけるユニークなインタラクションを実現できれば (本書では「Signature Moment」と呼んでいます)、より一層、ユーザーのエンゲージメントやロイヤリティの向上につながることも期待できそうです。

本書では、このほか、インタラクション設計のケーススタディや、プロトタイピングのしかた、テスト手法、等についても触れられています。この手の技術書の中では比較的ボリュームが少なめなので (120ページ程度)、ご興味のある方はトライしてみるのもよいかと思います。


(2014年3月20日追記)

本記事の当初公開後、2014年3月に、日本語版も発売されています。