UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图1

理论表述:

任何系统都存在固有的复杂性,无法减少;唯一的问题是谁来处理它。

理论背景:

特斯勒定律 (Tesler’s Law) ,又称复杂性守恒定律 (Law of Conservation of Complexity) ,是人机交互领域的一句格言。上世纪八十年代中期,Larry Tesler 在 Xerox PARC 工作时意识到用户与应用交互的方式与应用本身一样重要。后来 Larry 加入了苹果并致力于 MacApp 面向对象的框架的开发,在那里他正式得阐述了复杂性守恒这条定律。它向所有相关人员提出了一个问题:

既然产品固有的复杂性守恒不变,那么该把谁置于复杂之下?是增加代码的复杂度而让交互更便利,还是增加用户的交互成本让代码变简单?

特斯勒认为产品的复杂度应该交由代码,开发人员应该多花一周时间用代码来简化应用的复杂度,而不是让成千上万的用户在应用里为交互多花哪怕一分钟。


UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图2


I. 用代码简化交互

特斯勒告诉所有的互联网人一个道理 — 要用代码帮用户节省操作的时间,虽然这对于一般的中小型公司来说有些强人所难,但并不妨碍我们始终怀有这样的追求。

B 站的一键三连小细节就是一个很好的例子,这个操作是这样的:用户长按点赞按钮,就能同时触发点赞、投币和收藏的操作,这就省去了用户挨个儿点的操作成本和时间成本。

UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图3
案例 1:B 站一键三连

除此之外,另外一款获得过苹果年度 APP 大奖的任务管理软件 Sorted³ 也有着非常新颖且便捷的交互。

UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图4
案例 2:Sorted³ 的多选

Sorted³ 的多选操作是先在一项任务上向左横划一小段距离触发多选状态,再直接下滑就可多选,甚至隔着一个或两个再次重复上次操作,就可以隔项多选,听起来似乎比常规的多选交互复杂,其实不然;实际体验之后发现操作如丝般流畅,尤其是多选之后可以紧接着重新分配任务时间,妈妈再也不用担心我一个个点戳到手酸了!(警告:本句描述存在夸张的嫌疑)

尽管不是什么伟大的跨时代的交互变迁,但在 APP 的交互设计同质化严重的今天,小细节上的两点就可以得到很多人的垂青,所以特斯勒定律是一个非常好的突破口。

II. 算法解放” 生产力 “

在伯斯塔尔法则那篇文章中,我们提到过一个有趣的方法论——贝叶斯方法,它可以被用来解决用户输入错误的可能性这种逆概问题。说人话就是,它是 “智能纠错”、“机器学习” 算法背后的核心思想之一。而这也是一个利用算法简化交互的典型的例子,它让输入法可以自动纠正输入错误,它让搜索引擎具备一定的自纠正能力,而使得用户不必进行 “删去错误的词条,输入正确的” 这种浪费时间的操作。

UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图5
案例 3:输入法和搜索引擎的自纠正

这背后所蕴含的概率论理论、数理思想和数学模型远远不是区区代码就能够实现的,无数的卓越的数学家、建模工程师和算法工程师投入了无数的时间,才实现了我们可能已经习以为常的某一个小功能,也正是这些小功能,我们的生活才能变得更便利、更智能、更省时,特斯勒定律说的就是这么一回事。


UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图6


需要注意的一点是,我们所希望的节省时间,是通过代码和算法解决需要重复操作或者需要再次执行的任务,这些任务花费我们大量的时间却无法得到任何实质性的更好的结果,比如搜索栏输错关键词,删掉重输就是无意义的重复劳动,结果依然还是那个我想要的搜索结果,并不会变得更好。

但是,代码唯一不能代替的,是用户的决策行为。

决策,尤其是关键性的决策,依然需要把控在用户手中,不然用户会觉得自己对当前的应用 / 系统失去了掌控,产生不安全感。

这让我想起了一直被人吐槽的 Windows 10 自动更新,用户不能决定更新还是不更新,只能够决定什么时候更新,甚至夜间自动更新更是惹得一片人烦的不行。

UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图7
反面案例 1:windows 自动更新

更新还是不更新这件事完全取决于用户,如果用户没办法通过简单直观的办法决定更新的开和关,那么对于那些只追求稳定能用的用户来说这是体验极差的。无独有偶,苹果完全不顾老机型用户更新系统可能变卡的问题,一味地强制用户更新 iOS 系统,甚至私自决定通过降频来” 帮助 “用户延缓电池衰老,最终惹来了诉讼。


UX 系列第十七篇 | 特斯勒定律 Tesler‘s Law - 图8

  1. 系统存在固有的复杂性,要把复杂性转嫁到代码的层面而降低用户端的;
  2. 代码不能代替决策;

参考文献

  1. Michael Calleia, Explaining the Law of Conservation of Complexity. Online available at http://www.humanist.co/blog/law-of-conservation-of-complexity/.
  2. Dan Saffer, Controls are Choices. Online available at https://medium.com/@odannyboy/controls-are-choices-7de90363d0dd.
  3. Law of conservation of complexity —— Wikipedia. Online available at https://en.wikipedia.org/wiki/Law_of_conservation_of_complexity.

**