「マイクロインタラクション」を読んだ&雑感

前回の記事に引き続き、今回も読書感想文です。

今回読んだのはO’Reilly Japanの「マイクロインタラクション ―UI/UXデザインの神が宿る細部」。本書ではマイクロインタラクションある作業をひとつだけこなす最小単位のインタラクション(機器とのやり取り)と定義した上で、

  • (そもそも)マイクロインタラクションとは何か?
  • マイクロインタラクションを構成する要素とそれぞれの役割

について、事例を挙げつつ分析・解説していく内容となっています。

出版されたのは2014年の春(紙・電子書籍とも / 電子書籍版はO'Reilly Japan Ebook Storeにて購入可能)で、確か同年夏くらいには買ってたのですが、いつの間にか積ん読状態になっていたのと、最近は前の「はじめよう! プロセス設計 ~要件定義のその前に」を始めとするプロセス設計や「チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ」といったチーム構築などをテーマにした本を読むことが多かったので、ちょうどいい気分転換になりそうかなぁ、と読み進めてみた次第です。

大雑把な要約

オーケストラのコンサート中、とある観客がiPhoneを消音モードに設定していたにも関わらず、終幕間近でアラームが鳴り続けたニュースを最初の事例として挙げ、そのマイクロインタラクションが持つルール(設定)の重要性や最小単位のインタラクションにおける細部への配慮が製品とユーザーの関係(イマドキ風に言えばユーザーエクスペリエンス)に影響することに言及しています。

またマイクロインタラクションは、単一、且つその小さなインタラクションゆえにプラットフォームが異なるケースであってもより大きな機能と比べて一貫性を保ちやすい点を挙げて配慮の必要性が強調されています。

マイクロインタラクションは

  1. トリガー
  2. ルール
  3. フィードバック
  4. ループとモード

の4つのパートに分かれ、各パートについての説明に入ります。

トリガー

手動トリガー
ユーザーが自ら起動するもの
システムトリガー
ユーザーが意識的に操作しなくても、システム的に一定条件を満たした際に自動的に起動するもの

に大別でされ、手動トリガーでは、

  • その場の状況でユーザーがトリガーだと認識できるものをトリガーとする
  • 同じトリガーはいつも同じアクションを実行する

ことの重要性が特に強調されています。また、低頻度でしか利用されないマイクロインタラクションやショートカット的な役割のトリガーの格納方法としての不可視トリガーの紹介もされています。

システムトリガーについては、

  • エラー
  • 位置情報
  • データの到着
  • 内部データ
  • その他のマイクロインタラクション
  • 他人

などをきっかけに発動し、ユーザーがシステムトリガーを明示的に起動することはない(できない)としても、設定を変更・調整するための手段は提供されるほうがよいと紹介されています。

ルール

それぞれのマイクロインタラクションの要となるのは、そのマイクロインタラクションの使い方を決める一連のルール、及び「そのマイクロインタラクションがどう働くか」を専門家でなくてもわかるように説明する単純なモデルと評した上で、

ルールのもっとも重要な要素は目的
ログインのマイクロインタラクションの目的はユーザにパスワードを入力させることではなく、ログインさせシステムに入らせること
マイクロインタラクションの焦点が(途中経過ではなく)目的に絞られていればいるほど、そのマイクロインタラクションはよりよいものになる
ルールをルールとして感じさせないことが大切
目指すべきは自然で、万事うまく言っているという感覚であり、ルールはマイクロインタラクションの「やりとり」を通じてユーザーをそれとなく導くべきもの

と説き、マイクロインタラクションにおけるルールの作り方やコツ、あるいはユーザーをそれとなく導くべきものとしての表現方法について書かれています。

フィードバック

マイクロインタラクションにおけるフィードバックの真の目的は(そのマイクロインタラクションの)ルールをユーザーに理解してもらうことで、

  • 何が行われたか
  • その結果として何が起きたか

を知らせるもの、と紹介されています。そのために望ましい行動を肯定的に強化促進する一貫したフィードバック「どのような感じで処理されるのか」というメンタルモデルの構築のしやすさ、の重要性が強調されています。

また、フィードバックの対象は基本的にそのマイクロインタラクションを利用しているユーザーへの情報伝達であり、伝達したい事柄とその表現方法がマッチしていることと、特にマイクロインタラクションでは「目的を果たす最小限のフィードバック」を心がけるべきこととして書かれています。

更にフィードバックの主な対象がユーザーであることの別視点として、マイクロインタラクションやそれを搭載する製品の個性を表現する手段としても利用できる点に触れられています。

ループとモード

ループとモードという章のタイトルにも関わらず、なぜかモードの方から紹介されるのが多少不思議なのですが(笑)、

モード
ルールが分岐して特別な機能状態を処理するためのパート
ループ
いわゆる繰り返しなのですが、そのマイクロインタラクションを一定サイクル・一定条件で繰り返す制御機構

と紹介されています。要約だと一般的なプログラム言語における if 句や for ないし while 句っぽい表現・イメージになってしまいやすいですが、本書ではマイクロインタラクションにおけるパートを主題としているので、もう少し表面的な挙動として捉えていただけると助かります。

モードでは「マイクロ」ゆえに極力避けられるべきではあるものの、例えば主機能の設定画面のように全てを1モード(≒1画面)での操作を求められると煩雑になりやすいので、そうしたあまり頻繁には利用しない機能を主機能と分離した方が明らかに整理がつくケースでの利用に留めように提言しています。

ループについては、目覚まし時計のスヌーズ機能や JavaScript の setInterval() で実行するような機能とかイメージしてもらえると分かりやすいのかも。先に挙げた forwhile のようなループもパターンとして取り上げられているのですが、主にそのマイクロインタラクションの継続期間を伸ばす用途としての利用と、ループを繰り返している間のユーザーのアクションに応じてパラメータを保持することで、そのユーザーに対する最適化する用途を紹介しています。

まとめと雑感

各章で具体的な事例が数多く紹介され、また章末には「まとめ」があり、かなり読みやすい本でした。本書で書かれている「対象読者」はよりよい製品──特に、よりよいデジタル製品──を目指している人であれば、どなたにでもと、かなり広範囲を対象としてる言いっぷりですが(笑)、実際に本書に興味を惹かれるのはデザイナーであったり、Web制作だとフロントエンド・エンジニアと呼ばれる職種の方だと思われます。

ですが、上述のような読みやすさは、確かに著者自身がかなり広範囲を対象としてるその言いっぷりに恥じない平易さと内容だったこともあり、Web制作の現場だと、ディレクターや案件窓口を担当される方にも十分オススメできます。また、本書の内容はWebに限ったものでもないので、製品の品質改善に関わる方々の期待にも十分応えられるでしょう。

ただ、トリガーやルールなど個々のパートを紹介する章の事例ではWebサイトやスマホアプリの例が多いので、もしかすると主にスマホアプリのデザインや開発をされてる方が一番ピンとくるのかもしれません。

もう一つ、本書を取り上げるべき一つの価値として「○○機能」と一言で済ませてしまいがちなものを「パート」という形で分解して説明し、同時にそれぞれのパートの役割・原則を細かく挙げてくれている点でしょう。

要件定義書や仕様書などのドキュメントでよく使われる「機能」という言葉はそれぞれで規模や価値が異なる多義語であり、同時にその規模や役回り、価値といった付随する情報を伝えてくれません。付随する情報を伝えられない言葉がドキュメントで使われるということは、そうした付随情報は工程が進む毎に欠落していくということでもあり、これがクライアントの「期待したもの」と制作者の「作ったもの」のギャップを生む要因となります。

本書では「マイクロインタラクション ―UI/UXデザインの神が宿る細部」のタイトルの通り、マイクロインタラクションに限定した内容となっていますが、本質はマイクロインタラクションであっても、より大きな機能であっても変わりません。細部に神が宿るのは「○○機能」と一言で済ませて思考停止に陥らず、その先の境地へと踏み込んでからです。

きっとその第一歩を踏み出す知見を何か、本書から見出すことができることでしょう。