Don Norman 冰箱的启示

Don Norman 冰箱的启示

唐·诺曼(Don Norman)的冰箱

唐·诺曼(因在《设计心理学》(The Design of Everyday Thing)中推广了“直观功能(affordance)”而闻名)讲述了一个关于他的旧冰箱温度控制的故事:


我曾经有一台普通的两格冰箱,没有什么特别之处,问题是我不能正确地设置温度。冰箱只有两个东西可以控制:调节冷冻层的温度和调节冷藏层的温度。这里有两个控制钮,一个标记着“冷冻”,一个标记着“冷藏”。问题是什么呢?


这两个控制钮不是独立的,冷冻层控制器也影响到冷藏层的问题,反过来,冷藏层控制器也影响到冷冻层的温度。


从人类角度,对于冰箱会有的一个自然想法是:冰箱有两层,我们会想要独立控制这两层的温度。然而,冰箱显然不是这样工作的。为什么不是呢?诺曼说道:


事实上,只有一个恒温器和一个制冷机,一个控制器调节温度,另一个控制器调节送入冰箱两层隔间的冷空气的比例。


不难想象为什么这对于比较便宜的冰箱是一个好的设计:它只需要一个制冷机和一个恒温器。节省了重复零件的成本,但代价是造成了用户的困惑。在这个情况下的根本问题是机器的结构(一个恒温器和对冷却效能的分配)和人类想要的结构发生了错位。为了使冰箱的行为和人类想要的行为相匹配,在某种程度上,需要有人去在这两个结构之间进行转换。在诺曼提到的冰箱的例子里,这个转换很糟糕,导致大家很困惑。


我们把用于结构之间进行转换的方法或工具称作“接口”。因此,创造好的转换方法或工具就是接口设计。


接口(界面)设计


在编程中,类似的问题是 API 设计:将一个软件内部使用的数据结构,以一种有用的,好理解的方式呈现给外部的程序员。如果系统的内部数据结构和用户想要的结构不匹配的话,那就要由 API 设计者来进行转换。一个“好的 ”API 可以很好地进行转换。


用户界面(接口)设计是一个相同问题的更普遍的情况,把一个工具使用的内部结构,想办法以一种有用的,好理解的方式呈现给外部用户。理论上。与 API 设计的唯一区别是,我们不再假设用户是通过代码与工具进行交互的编程者。我们设计界面去满足人们的各种使用场景,可能是门上的把手,或者移动应用上的按钮,或者是冰箱上的温度旋钮。


从经济上来说,界面设计是一个必要的输入方式,让各种事物变得更经济更有用。这种输入方式有多稀缺?人们愿意为一个好的界面或接口花多少钱呢?


我的印象是:很多。有一整类的科技公司的商业模式是:


- 找到一个很有用的软件工具或数据库,但是界面做得很差;


- 为它建立一个更好的界面;


- 通过这种模式来获利。


这在小型但有盈利的软件公司中是一个非常常见的模式。这种模式是一个小的团队可以构建一个工具,来拥有一小部分高付费高忠诚度的用户。这是一个很有性价比的商业模式,你找到那些在用“A”工具的人,但发现它很难用,然后你就可以对他们说“看,我们提供的工具让 A 好用很多。”比如:


- 为政府系统提供接口的公司:提供税务服务、旅游签证、专利或商业许可。


- 为没有相关专业知识的小企业提供接口的公司:建立网站,Salesforce,企业架构、人力资源服务或航运物流。


- 为数据提供图形界面(接口)的公司,例如网站流量监测、销售渠道、政府合同或市场基本面信息。


我们可以在科技领域之外找到更大的例子,人类自身就是一个接口,整个行业由作为接口的人组成。


这怎么理解呢?整个税务、法律合同、游说的行业。原则上说这些事情你可以自己完成,但这个系统是复杂和令人困惑的,所以有一个专家在你周围把你想要的东西转换成系统结构是有帮助的。


在某种意义上,整个软件工程领域就是一个例子。软件工程师的主要工作就是去把人类想要的东西转换为电脑可以理解的语言。人们使用软件工程师是因为相比对着 Juptyer(一个 Python 编程语言的编辑器)中的一个空文件来说,跟软件工程师交谈是一个更容易的接口(虽然也很难)。


这些都不是廉价的行业。律师、会计、说客、程序员,这些人都是复杂系统方面的专家,他们得到相应的报酬。世界花费了大量使用人作为接口的资源,这表明这种接口是一种非常稀缺的资源。


为什么这么困难


诺曼的作品中充满了很多有趣的例子,以及用来把工具内部结构准确地传递给用户的普适性的技巧,一个经典的例子就是,在门上,把手即代表“拉”,平面即代表“推”。从这一点上,我想人们会对这些技巧有一个很好的理解,而且它们正在逐渐传播开来。但是只有这个系统的内部结构本身非常简单时,比如一扇门或一台冰箱,精准地传递系统的内部结构才是有用的。假如我想写一份合同,那么我需要去和合同法的系统进行对接,想要准确地传递这种结构,甚至只是总结关键部分,那是需要读完整整一本书的。


对于很多非常简单的系统而言,界面(接口)设计所关注的主要问题就是准确地传递内容,这包括大部分日常的物品(比如冰箱),以及大多数的网站和移动应用。


但是,有些地方我们会看到比较昂贵的负责提供接口的行业,比如法律行业或软件行业,这些行业通常底层系统更复杂。在这些情况下,人类想要的东西的结构与系统的结构差异非常大,两者之间的转换需要大量学习和实践。仅仅准确地传递系统内部的结构是不足以让问题简单化的。


换句话说,对于复杂系统的接口是特别稀缺的,在很多不同的领域,人们特别需要这种接口。我们会看到一整个的大型行业主要的目标就是去给非专业的人们提供对应到一个特定的复杂系统的接口。


考虑到对应到复杂系统的接口通常是一种稀缺资源,我们还可以想到其它什么呢?由于对应到复杂系统的接口是艰难和昂贵的,我们还能想到什么是艰难和昂贵的呢?


AR vs VR


按照软件工程的标准,现实世界中几乎任何事情都是复杂的。对接现实世界意味着我们不必去进行对象化(本体论),我们可以创建一堆的对象类型和数据结构,但现实世界不会认为有义务去遵循它们。计算机或编程语言很少能和现实世界的结构完美契合。


所以把现实世界对接到计算机中,是一个我们认为比较艰难也会比较昂贵的领域。


AR (增强现实 augmented reality)是一个我预期可以强烈感受到这个现象的领域,尤其与 VR(虚拟现实 virtual reality)相比。我认为 AR 应用在接受度和产品质量方面将大大落后于完善的 VR。我认为 AR 将主要应用于稳定的可以控制的环境里,比如工厂的地板或逃生风格的游戏。


为什么软件与现实世界的对接很难?这里有些标准的答案:


- 现实世界本身就是复杂的。这是一个逃避性的答案,实际上什么都解释不了。


- 现实世界有很多边缘案例。这也是一种逃避,但更隐晦。如果我们程序的对象化(本体论)与现实不一致,现实世界似乎只会充满边缘案例。真正的问题是,为什么我们的对象化(本体论)很难与现实保持一致?


这里是一些更有趣的答案:


- 现实世界不是用 Python 实现的。在某种程度上,现实世界只有一种语言,那就是数学。随着软件更多地要与现实世界对接,它将需要更多的数学知识,就如我们在数据科学领域看到的,而并不是所有数学知识都可以轻松地变成黑盒隐藏在 API 之后。


- 即使有着无处不在传感器,现实世界也只是部分可以观察到的,我们不能像使用数据库那样随时随地查询任何东西。对于我们不能直接观测到的事情进行建模会越来越重要,这意味着要更多地依赖于概率和机器学习工具。


- 我们需要足够的计算机来运行所有的数学部分。在实践中,我认为这个条件不像它一开始看起来那么难。只不过,我们仍需要高效的算法。


- 我们感兴趣的现实世界是抽象的、高层次的对象。在这一点上,我们甚至没有数学工具来处理这些种模糊的抽象。


- 我们不能直接控制现实世界。虚拟世界可以以满足我们的各种假设为基础来建造,而现实世界不能。


- 结合以上几点,对于这种表达现实世界的模型我们并没有什么好的方法,也很难描述我们在现实世界中想要什么。


- 软件工程师大多不善于描述他们想要的东西,也不善于构建与现实世界相一致的对象化(本体论)。这些都是很难培养的技能,几乎没有程序员可以明确意识到他们需要培养这些技能。


组织中的接口


准确地传达我们想要的东西是很困难的。程序员和产品设计师尤其熟悉这一点。


说话的动机有时候是个问题(显然人们不会信任广告和销售人员说的话),但即便是最真诚的沟通者(客户、项目经理、设计师、工程师等)也很难解释清楚事情。一般来说,人们不理解哪些方面是与其他人相关的,甚至不知道哪些方面是与自己最相关的。设计师会向程序员解释与设计最相关的部分,而程序员会关注与编程最相关的部分。


不仅仅是人类想要的东西的结构与现实世界的结构不匹配。人类中的专家看待世界的结构在不同专家之间也大有不同。当两个不同领域的专家需要去传递彼此想要什么的时候,某人/某物就要进行结构的转换工作,换句话说,我们需要一个接口。


几年前有过一个很深刻的例子:我无意中听闻了一个设计师和一个工程师在讨论网页上的一点小改动。事情是这样的:


设计师:“我想让它和之前一样,但把这个放在顶部。”

工程师:“像这样?”

设计师:“不,我不希望其它东西移下来。让所有东西都在原位,然后把这个放在最上面。”

工程师:“但把它放在最上面会让其它东西都拉下去。”

设计师:“它不一定,看,只是……”


这种情况持续了大约 30 分钟,双方都越来越沮丧。


事实证明,设计师的工具是从页面底部开始构建所有内容,但工程师的工具则是从上到下构建所有内容。所以从设计师的角度来看,“把这个放在顶部”并不需要移动任何东西。但是从工程师的角度来看,“把这个放在顶部”意味着其他的东西都要被拉下来。


需要有人/工具来完成转换的工作。这是一个双方面的接口问题。


对于管理者或决定组织结构的人来说,解决这种类型的问题是一个核心的职能。让一个项目经理参与到设计师和工程师的每一次对话听起来是比较蠢的,但如果项目经理完成了双方的转换,那么这么做就是有用的。上面的例子不是一个好现象,但至少双方都意识到了他们没有成功地进行沟通。最糟糕的是,如果双方都产生了以为自己都说清楚了的幻觉(double illusion of transparency),最后可能都没有人能意识到这个问题。


这就是为什么在大型组织中,那些能够跨部门协作的人价值千金。接口是一种稀缺资源。跨部门协作的人员可以充当人工接口,在组织之间转换模型结构。


1986 年的《戈德华特-尼科尔斯法案》就是一个很好的例子。它旨在解决美国军方各部门之间缺乏沟通、协调的问题。基本想法很简单: 任何人都不能晋升为中尉或更高级别的官员,除非首先完成一项”联合任务” ,在这项任务中,他们会直接与其他部门的成员一起工作。能够在分支机构之间充当接口的人员是一种稀缺资源,戈德华特-尼科尔斯引入了一种激励机制来创造更多这样的人员。在该法案提出之前,各部门的高级指挥官都反对该法案,他们认为这是国会的干预。但是在第一次伊拉克战争之后,所有人都证明说这是美国军队有史以来最棒的事情。


文 | johnswentworth

来源 | LESSWRONG




字与字节。

诚切的救赎者,以无用之物朝奉,冷静旁观所谓进步,徘徊于未来的当口,询问“真的就是这里吗?”。

每周四篇关于科技、未来、艺术、商业的精选长文。


分享到:


相關文章: