スマートフォンのカメラは、画面を一度タップするだけでピントと明るさを自動で調整してくれます。以前は写真を撮る人が絞りとシャッター速度を自分で計算しなければなりませんでしたが、今ではその計算を機械が代わりに行います。では、写真を撮るという行為に含まれていた複雑さは、本当に消えたのでしょうか。この問いに「複雑さはなくならず、場所を移すだけだ」と答える原則が、「テスラーの法則(Tesler's Law of Conservation of Complexity)」です。
テスラーの法則とは、簡単に言えば「どのシステムにも、それ以上減らせない複雑さがあり、残る問題はそれを誰が引き受けるかだ」という原則です。ゼロックス・パロアルト研究所(Xerox PARC)やアップル(Apple)でユーザーインターフェースの改善に取り組んだコンピューター科学者、ラリー・テスラー(Larry Tesler)がまとめた原則で、「複雑性保存の法則」とも呼ばれます。
本資料では、テスラーの法則が生まれた背景と、複雑さを分担する三つの主体、日常生活での例、そしてデザインに活用する際の原則と限界まで、順に見ていきます。
テスラーの法則、複雑さの置き場所を決めるデザイン
テスラーの法則とは何か?

ラリー・テスラーはゼロックス・パロアルト研究所で、ユーザーが特定のモードに縛られない「モードレス(modeless)」の編集方式を研究し、1980年にアップルへ移って、Lisaコンピューターのユーザーインターフェースの開発に参加しました。今日、誰もが使う切り取り・コピー・貼り付けの方式を広めた人物としてもよく知られています。
テスラーは回顧録で、切り取った内容を一時的に保存する機能は開発の負担を増やすという反対意見に対し、「ユーザーよりも開発者に負担をかけるほうがよい」と主張したことを明かしています。そして、その主張を練り上げ、1984年ごろに次のようにまとめました。
「すべてのアプリケーションには、それ以上減らせない固有の複雑さがあります。残る問いはただ一つ、それをユーザー、アプリケーション開発者、プラットフォーム開発者のうち、誰が扱うのかということです。」
法則の名前に「保存(Conservation)」という言葉が入っているのも、同じ考え方によるものです。エネルギーが形を変えるだけで消えないように、複雑さも画面上で隠すことはできても、なくすことはできないという意味です。一方を押すともう一方が膨らむウォーターベッドにたとえて、「ウォーターベッド理論(Waterbed Theory)」と呼ぶこともあります。
複雑さを分担する三つの主体

テスラーの定式化によれば、減らせない複雑さは、結局、次の三つの主体のいずれかが引き受けることになります。
- ユーザー(User):設定を選び、手順を覚え、間違いを修正する作業を、ユーザー自身が行わなければなりません。
- アプリケーション開発者(Application Developer):製品を作る人がより多く考え、より多くのコードを書くことで、ユーザーの手間を減らします。
- プラットフォーム開発者(Platform Developer):オペレーティングシステムや開発ツールが共通機能をあらかじめ備えることで、複数の製品が同じ負担を分かち合います。

テスラーは、このうちユーザーに負担を転嫁する選択を最も警戒しました。デザイナーのダン・サファー(Dan Saffer)の著書に掲載されたインタビューで、エンジニアがあと一週間努力すれば取り除ける複雑さのために、百万人のユーザーが毎日1分ずつ無駄にするのなら、それはエンジニアの仕事を減らすためにユーザーを罰しているようなものだと指摘しました。
この法則は、選択肢が多いほど決定に時間がかかるというヒックの法則(Hick's Law)や、対象が遠く小さいほど押しにくいというフィッツの法則(Fitts's Law)とは、焦点が異なります。この二つの法則がユーザーの所要時間を測る枠組みだとすれば、テスラーの法則は、複雑さを誰に担わせるかという責任の問題を扱います。
身近な例で理解する複雑さの移動

複雑さが移動する様子は、私たちが日々使うサービスの中で簡単に見つけることができます。
(1)検索ボックス
ユーザーは数文字を入力するだけですが、その裏では誤字を修正し、検索語を提案し、検索結果の順位を決める計算が行われています。正確な検索語を考える手間を、システムが代わりに引き受けているのです。
(2)住所入力
郵便番号や道路名の数文字を入力するだけで残りの住所が補完される画面は、長い住所を正確に書く負担を、データや開発の側へ移した結果です。
(3)自動車と経路案内
ドナルド・ノーマン(Donald Norman)は、2010年の著書『Living with Complexity』で、自動車に搭載されたコンピューターシステムは年々複雑になるものの、その隠れた複雑さのおかげで運転はより簡単で安全になると説明しました。最適な道を計算する仕事も、今では運転者に代わってカーナビが担っています。
三つの例はいずれも、ユーザーの作業は軽くなりましたが、その分、作る側の設計や計算の負担は重くなりました。複雑さの総量は変わらず、その重みを引き受ける人だけが変わったのです。
デザインでの活用と限界

テスラーの法則をデザインに取り入れるには、まず、その作業の中でどうしても減らせない複雑さがどこにあるのかを見極める必要があります。そのうえで、ユーザーが必ず判断しなければならない部分だけを残し、それ以外は初期値や自動入力、段階的な案内によってシステムに担わせるとよいでしょう。その際、常に合理的に行動する理想のユーザーを想定するよりも、実際のユーザーがつまずくタイミングに合わせて、その場に短いヘルプを表示するほうが効果的です。
ただし、複雑さをすべて隠せばよいわけではありません。隠しすぎるとユーザーが思いどおりに調整する手段がなくなるため、初めて使う人には段階的な案内を、使い慣れた人には詳細設定を別に用意するなど、分けて提供する必要があります。また、インターフェースデザイナーのブルース・トグナツィーニ(Bruce Tognazzini)は、人は生活の複雑さが減ることを素直には受け入れないと考えました。プログラムが使いやすくなると、ユーザーはその分、さらに複雑な作業に挑戦するというのです。
テスラーの法則は、シンプルに見える画面が、複雑さをなくした結果ではなく、誰かがその複雑さを代わりに引き受けた結果であることを教えてくれます。したがって、よいデザインは、複雑さをどれだけ減らしたかよりも、それをどこに置いたかによって評価できます。
ユーザーが背負うことになる負担を、作る人が先に引き受けること。それがユーザーのためのデザインの第一歩です。