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 代码不能代替决策;

    参考文献

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