MEJE BOOKS Knowledge Library

KIM DONG-EUN · FTUE:首次用户体验 (30 章)

第17章 错误与恢复:不夺走控制感的方法

Kim Dong-eun WhtDrgon. · 章 17

第17章 错误与恢复:不夺走控制感的方法


新手的错误不是用户的缺陷,而是画面尚未教会他的证据。

我们暗自相信,优秀的初次体验,就是用户一次也不失败的体验。

因此,制作首屏时,我们最先做的往往是防止犯错:藏起无法撤销的按钮,去掉可能选错的选择,只让人沿一条路前进,把路铺平,不让用户跌倒。可这份体贴中藏着陷阱。完全不会跌倒的路,也没有行走的乐趣。一次也不卡住、一次也不惊险、无论按什么都同样顺利的体验,虽然安全,却很无聊。

本章从这个矛盾开始。失败的可能性不是应该删除的缺陷,而是需要妥善处理的材料。没有不安与紧张,就没有成功的喜悦。差一点受阻却终于解开的瞬间,差一点落败却最终获胜的瞬间,会让初次体验活起来。因此,本章的工作不是把失败降为零,而是让人经历失败,却不让失败把人赶走;换句话说,不让失败夺走控制感。事后把错误留下的痕迹读成数字,是第5部测量部分的工作;这里要观察的是,错误发生的那个瞬间,画面如何对待一个人。

同一个错误:留住人的画面与赶走人的画面

回到那款虚构的角色游戏。它就是那款收集角色、与角色交谈、观看短视频的手机游戏。用户花了很长时间精心挑选角色的颜色与花纹,终于装扮成自己喜欢的样子,手却一滑,按下了“重置”。接下来如何发展,取决于画面如何回答。

糟糕的版本是这样。按下的瞬间,没有警告也没有确认,角色直接回到初始状态。甚至没有夸张的失败画面,屏幕若无其事地保持整洁,只是刚才投入的五分钟消失了,而且任何地方都没有恢复的道路。这不是虚构的夸张,而是今天仍然经常遇见的现实。用户荒唐得愣了一会儿,没有心情从头重新选色,于是关闭应用,再也不打开。他失去的不是五分钟,而是控制感。因为在自己双手所及之处,事情无视自己的意图发生了,而自己无法撤销。更好的版本是这样:按下“重置”后,先出现“真的要全部删除吗?刚才的装扮会消失”,用户按下“否”,松一口气。最好的版本,是即使重置已经发生,画面一侧仍会清楚显示一段时间的“撤销”;哪怕按错,也能一步恢复原样。用户知道自己无论做什么都能恢复,因此不会害怕,愿意尝试各种操作。同一个错误,首屏既可能把人赶走,也可能使人更加大胆。

同样的原则也存在于我们每天使用的工具里。邮件发出后,画面下方短暂出现的“撤销发送”,经常被当作例子。按下发送后,即使想到收件人选错了,或漏掉了附件,只要还在几秒之内,按一下这个按钮,已经发出的邮件就会重新回到手中。有趣的是,就连一次也没按过这个按钮的人也会受益。只要知道可以撤销,人按下发送时就不会那么紧张。恢复道路并不只在犯错后使用,它也会使犯错前的人更加大胆。首屏的“撤销”做着同一件事。

在MEJE IDONG WORLD里,这种差距更大。遇见IDONG、装扮IDONG、照顾IDONG的是粉丝;粉丝精心装扮时手一滑、按错东西,是正常的。辛苦装扮的成果一下全部消失,画面却回答“是你删掉的,从头再来”,会使粉丝失望,而这种失望直接成为流失。相反,无论按什么都不会出大事,做错了也能立即恢复的画面,会让粉丝放心尝试各种东西。因此,IDONG WORLD决定把装扮画面中手触及的每一次修改,都以单个动作为单位自动保存。无论按下重置,还是应用中途关闭,最后触碰的模样都会原样保留,重新展现在回来的粉丝面前;回到上一个模样的道路也会在画面上保留一段时间。粉丝的初次体验应该是“做错也没关系”的装扮,而不是答错一次便受罚的考试。

处理错误的六种心态

妥善处理失败并不是含糊的体贴,而能拆分成几项明确原则。不过,在把六项排到同一列之前,先划分层次。第一项是关于“要制作什么”的设计哲学,其余五项是关于“如何处理这项哲学所留下的失败”的处理原则。

先建立一种哲学。对以挑战和克服为核心的体验,保留失败。只有可能落败、可能答错,获胜时才会高兴,答对时才会自豪。另一方面,照料型、观察型、创作型体验即使不设败北,也能通过节奏与依恋创造深度。如果要保留失败,只保留核心乐趣所必需的部分,并且不要让它致命。

决定以这种方式保留失败后,处理失败的五项原则随之而来。

让它能够恢复。人犯错时,必须有一条从那个位置回去的路:撤销、重试、返回上一步。不要把人关进死胡同。

不要让用户背负无法修复的担子。意思是,不要把用户无法处理的问题归咎于用户。服务器缓慢造成停顿,却推给用户一句“你的网络连接不稳定”,就是因为一件用户无法解决的事责备用户。系统造成的问题,应由系统承担。

把控制权留在用户手中。现在发生了什么、能否停止或撤销,都必须掌握在用户手里。如果一件并非用户发起的事情未经许可便继续进行,他会觉得自己坐的不是驾驶席,而是副驾驶席。

不要让信息丢失。用户投入的东西不能消失。精心装扮的角色、写下的名字、选好的设置,如果因为一次小失误或错误便全部飞走,失去它们的记忆就会阻止人再次尝试。

不要打断工作流程。不要在做事途中突然弹出大窗口挡住流程,也不要把正在做的事打回开头。即使要告知错误,也要让用户能从原来的位置继续。

这里可能出现一个问题:设计哲学与处理原则是否会彼此削弱?无论按什么都能撤销、什么都不会失去,那么“可能失去”这种感觉本身也会消失,紧张的来源岂不是被掏空?答案在于区分失去的对象。恢复必须保障的是用户的所有物与进度,紧张应该押在这一次尝试上。时间循环太空探索游戏《Outer Wilds》经常被视为清楚展示这种区分的案例。据说,每22分钟太阳都会爆炸,主人公回到循环开头,但期间获得的知识与飞船探索记录全部保留。失去的是这一次循环,保留下来的是全部进度,因此死亡的紧张依旧鲜活锐利,真正因为死亡失去的东西却几乎没有。无限恢复与鲜活紧张,可以这样共存。让这一次尝试可能失败,但不让失败摧毁至今积累的一切即可。

有一种方法,可以把这六项逐步穿到一个画面上:把同一个错误点分成糟糕处理、较好处理、最佳处理三个阶段比较。糟糕处理把用户留在死胡同,较好处理打开一扇逃离的门,最佳处理让他从一开始就不必害怕。把三个阶段并排放置,就能看见当前画面位于哪里,也能看见向上提升一格的路。以输错密码为例,糟糕版本只显示“错误”,然后删除全部输入;较好版本告诉用户哪里错了,并保留输入;最佳版本在出错之前先展示条件,出错后也只指出需要修改的位置。把三个阶段应用到每一个错误点并重新绘制的精密工作,交给附录C的错误处理阶梯(→ 附录C)。正文只需记住阶梯存在,以及我们的画面始终可以朝上一格前进。

游戏就是死亡后重来的古老约定

既然本章讨论错误,现在该把游戏惯例叫到检查站。其实它不是一种,而是一整组:游戏结束、保存与读取、继续游戏,以及故意设计得残酷的硬核难度,全部属于“游戏就是死亡后重来”的古老约定。

先看这项约定把什么视为理所当然。在游戏里,失败不是终点,而是节拍。死亡后出现游戏结束画面,从最后保存的位置重新开始,像投入硬币一样按下继续;有些人还故意选择最高难度,选择更频繁地死亡。这套框架从街机时代成长至今,是游戏深层的语法。对玩家而言,死亡不是惩罚,而是学习。只有死过一次,才能记住敌人模式,再次挑战,最终取胜;整个过程都是游戏乐趣。保存与读取,是让他不怕损失、敢于实验的安全装置。在这套约定里,游戏结束不是挫折,而是下一次尝试的起跑线。

普通人并不共享这项约定。对一辈子看电视剧的人来说,红色的“GAME OVER”不是下一次挑战,而会被读成“你失败了”的判决;因为他是来等待下一集,不是来重看同一场景。对习惯无尽滚动短视频的人来说,“从最后保存点重来”就像强迫他从头再看刚看过的视频;对已经习惯在电商平台把商品装进购物车的人来说,因为一瞬间的失误而丢失全部进度,就像付款前购物车突然被清空一样荒唐。玩家把游戏结束读成“再来一次”,初来者却把它读成“到此为止”。同一行红字,对一方是邀请,对另一方是驱逐。

这项约定向普通人收取的费用,是控制感的丧失与挫败。要求死亡后重来的画面,会要求人撤销刚才投入的时间,再走一遍同样的路。对初来者而言,这不是学习的节拍,而是时间被夺走的事件。推荐更高难度的画面,对玩家是挑战书,对普通人却是“这不适合你”的通知。只死了一次便被送回开头,用户会先数自己失去了什么,而不是先想自己做错了什么。

游戏中也有把失败从惩罚变成节拍的案例。一款以困难闻名的独立平台游戏,死亡后不会施加惩罚,只会立即从当前段落开头重新开始;累积的死亡次数直到章节末尾才显示。据说,这个数字不是羞耻,而会被读成“我坚持了这么多次,终于走到终点”的证明。就连开启或关闭简单辅助模式的说明文字,据称也不再描述为夺走什么,而是为了让更多人接触这段体验。即使面对同一种死亡,只要画面递出的语言不同,人便会将它接收成挫折或节拍。

区分要保留的本质与要减去的外壳。保留失败带来的紧张与再次成功的喜悦,去掉把死亡变成惩罚的部分。初次体验中,删除“游戏结束”这句话,把失败改成“要再试一次吗?”;不要从受阻地点把人送回开头,而要让他就在受阻地点立即重新开始。不要把保存当成用户必须照看的作业,而由系统自动抓住用户做过的一切。不要一开始就逼人选择难度,而要观察用户如何受阻,悄悄调整。失败的价值仍然活着,但它不会夺走用户的时间与控制感。这就是初次体验应当负责的范围。死亡后重来的深层乐趣,可以等用户充分喜欢这个世界之后,再慢慢拿出来。

▶ 套用到我的画面的三个问题

  1. 这个画面是否把失败归咎于用户?
  2. 回去的路是否一眼可见?
  3. 错误是惩罚,还是节拍? 只要三项中有一项责备用户,或把用户困在死胡同,这种失败就会把人赶走。

所以,在防止犯错之前先设计恢复之路

把失败视为材料后,初次体验中设计错误的顺序会改变。不要先问如何防止犯错,而要先设计犯错之后如何恢复。人无论如何都会犯错,分心时会犯得更频繁。与其把所有力气用在阻止犯错,不如先铺一条做错也不会出大事、能够立即返回的路。

于是,一个听起来具有挑衅性的命题随之出现:如果恢复道路足够可靠,就没有必要特意隐藏危险按钮。因为在无论按什么都能撤销的画面里,必须阻止的东西本身会减少。再进一步,大多数“真的要这样做吗?”的确认队列也可以清除。确认弹窗本质上是没有恢复手段时的补丁,只有放在无法撤销的动作之前才合理。每个可撤销动作都要询问确认的画面不会更安全,只会更迟钝。人很快会养成不读内容直接按“是”的习惯,最后连不可撤销动作前的确认也会失去作用。因此,每当想显示确认窗口时,都应该先问:不能给这个动作加一个“撤销”吗?

数字会告诉我们这个顺序是否正确。失败处理得好不好,会显现在失败后再次尝试的比例中。观察人们在哪里受阻,以及受阻后是再次尝试,还是直接离开。许多人会在受阻处重新挑战,说明这是令人想再试一次的失败;人一受阻便直接消失,说明这个失败夺走了控制感。第一次失败后,人是停留还是离开,会照出我们把失败变成了节拍,还是惩罚。

参考内容

其他媒介中能够显现本章概念的案例。

电子游戏

  • 《蔚蓝》的辅助模式:它把死亡当作节拍而不是惩罚,让章节末尾的死亡次数被读成坚持到终点的证明。开启和关闭模式的说明文字,也不是说它夺走了什么,而是写成让因困难无法接触体验的人也能进来。据说,后来还把最初“降低难度”的句子改成“按照自己的需要调整规则”,变得更加柔和。死亡的处理方式与说明文字的语气都值得参考。
  • 《黑暗之魂》的篝火、灵魂回收与“YOU DIED”:死亡后从上一个据点重新开始,并让人有一次机会找回失去的东西;但同一行红字,对玩家是邀请,对普通人却是驱逐。
  • 《Outer Wilds》:死亡后回到22分钟时间循环的开头,但期间收集的知识与飞船记录全部保留,实际上什么也没有失去。它说明,如果把进度放在用户知道了什么,而不是分数或装备上,死亡就不再是损失。 一般应用
  • Gmail的撤销发送:发送后几秒内显示恢复道路,使一次也没有按过它的人也能不那么紧张地发送。
  • 提前显示密码规则:在犯错之前展示条件,犯错后也不删除输入,只指出需要修改的位置。

其余参考内容汇集在本文末尾的“第17章附录”中(单行本中编为附录D)。


设计笔记 ▶ 亲自实践

在我们游戏的初次体验中,找出三个用户可能犯错或受阻的位置,例如容易按错的按钮、可能填错的输入、会成为死胡同的选择。

为每个位置写一行目前画面的回答,并在旁边提问:它是否让用户背负无法修复的担子?是否让用户失去自己的投入?是否打断正在进行的流程?只要一个位置回答“是”,就把它向上提高一格:在死胡同开一扇门,抓住原本会消失的东西,或重新接上被打断的流程。

如果三个位置中有任何地方带着“游戏结束”或“从头重来”的气味,就把它标出来。那里,画面正在把死亡变成惩罚。尝试保留失败的紧张,同时减去惩罚。精密的重新设计,将在附录C的错误处理阶梯中继续展开(→ 附录C)。

把错误归咎于用户的画面会赶走人,先铺好恢复道路的画面会使人大胆。首先判断我们的画面属于哪一边。

一句话总结:失败的可能性不是应该删除的缺陷,而是带来紧张与喜悦的材料。但失败不能夺走控制感。让它能够恢复,不让用户背负无法修复的担子,不让投入的信息丢失,也不打断正在做的流程。对玩家理所当然的游戏结束、保存/读取、继续游戏、硬核难度,对初来者却是挫折与控制感的丧失;减掉把死亡变成惩罚的部分,只保留再次成功的喜悦。 下一章:到这里,我们讨论完了如何在初次体验中对待人:按下、得到反应、分心、犯错的人。现在把视线从画面之内移到画面之外。人在打开首屏很久以前,就已经带着对我们的期待而来。这种期待应该在哪里、如何种下?第4部从预告与第一印象的故事开始。


第17章附录:参考内容汇编

这里汇集的参考案例,展示了本章“与其删除失败,不如先铺设恢复”这一论点如何出现在游戏内外。案例按媒介分组,每项末尾都附有“观察要点”,说明设计者适合观察什么。把正文建立的框架放在心中:保留失败却不夺走控制感的哲学;把紧张押在这一次尝试上、同时保护累积进度与所有物的赌注区分;以及不把系统错误推给用户的语言。这样就能看见,每个案例中的失败让人失去什么、保护什么,以及这项失败被读成惩罚还是节拍。

电子游戏

  • 《超级食肉男孩》(2010):死亡后立即从该段开头重启,把失败与重试之间的间隔几乎降到零。完成一段后,游戏会播放此前所有死亡尝试重叠在同一画面、同时奔跑的回放,使累积的死亡留下的不是羞耻,而是记录。观察要点:一并观察“重启越快,失败越能从惩罚变成节拍”的原则,以及把死亡痕迹转换成观赏内容的收尾。失败处理有两个层次:紧接着发生的速度,以及事后赋予的意义。
  • 《波斯王子:时之砂》(2003)/《时空幻境》(2008):犯错后立即用匕首倒转时间,连自己的死亡也能沿同一条轨迹撤销。坠落死亡时,作为叙述者的王子会说“不,不是这样发生的”,改口重述故事,回到前一刻。仅仅一句把死亡从“失败”重新称为“讲错的故事”,就会把同一种失败从惩罚变成节拍。观察要点:除了倒转时间的机制,也要观察称呼失败的语气如何改变体验质感。同一功能也会因为画面递出的句子不同,使人收到不同东西。
  • 主机与PC的自动保存,以及《动物森友会》的电源鼹鼠:早期《动物森友会》中,不保存就关闭电源,鼹鼠会出现并长篇训话;在自动保存成为默认的《集合啦!动物森友会》(2020)里,系统自动抓住进度,连责骂人的角色也消失了。观察要点:观察当保存不再是用户的作业,责骂人的角色也随之失去必要的顺序。系统承担责任,需要责备用户的事情本身就会减少。
  • 《哈迪斯》(2020):把死亡当作故事的节拍,而不是进度终点。每次死亡回到家,修普诺斯等角色都会指出这一次被什么击败,并为每次死亡提供不同对白。观察要点:观察每次失败都带来新故事、使死亡本身成为奖励的结构。如果失败后正是人最容易离开的时刻,这个案例预先决定了在那个瞬间要交给人什么。
  • 《茶杯头》(2017)的首领战重试画面:死亡后,首领的阶段会显示在进度线上,让人一眼看到“走到了这里”,随后立即从同一个首领开头重启。观察要点:观察失败画面首先展示的不是失去什么,而是走到了哪里。进度可见,同一个失败也会变成令人想再试一次的失败。
  • 《超级马力欧》的超级向导与无敌叶:从《新超级马力欧兄弟Wii》(2009)开始,在同一段多次死亡,会出现示范通关的方块;据称,之后的作品还会悄悄递出使人无敌的白色狸猫叶等物品。它们不会从一开始逼人选择难度。观察要点:观察帮助不是预先选择,而是在看见人如何受阻后才以建议形式到来的顺序。先观察,再询问,观察之后才递出援手。

文学

  • 《Zork》等互动小说中的保存与撤销:允许撤销选择、尝试另一条路,不让错误成为死胡同。观察要点:观察“可以撤销”的保障如何引导读者作出更大胆的选择。恢复会增加探索量。

桌游

  • 合作游戏允许悔棋(《瘟疫危机》入门局):初学者犯下明显错误时,允许撤回一步,不让第一局变成惩罚。观察要点:观察比严格遵守规则更优先保护第一局体验的运营方式。允许悔棋不会毁掉游戏,反而会召来下一局;而在熟练者的对局中,同样的悔棋会削弱紧张,因此恢复装置也有适用对象与时期。

电影

  • 《明日边缘》(2014)/《土拨鼠之日》(1993):主人公每次死亡都会回到同一天的开头,但记忆与熟练不断积累,死亡不再是结束,而是下一次尝试的练习。观察要点:观察只失去这一天、学到的一切全部保留这一赌注区分,如何转换成电影语法。它是向游戏以外的观众说明玩家如何学习一局游戏的良好桥梁。

动画 / 漫画

  • 《Re:从零开始的异世界生活》的“死亡回归”:死亡后回到固定地点重新开始,但死亡的痛苦与记忆全部带回。观察要点:把它视为给恢复标价的变体。所有东西都能撤销,却并非免费,适合用来衡量强度;即使回来,用户经历过的事情仍然保留,也提醒我们恢复设计中的情感面。

真人电视 / 电视剧

  • 直播的预录制与延迟播出:即使发生事故,也在播出前留出短暂恢复空间,不让无法修复的错误原样播放。观察要点:观察在不可逆动作前故意插入延迟,制造恢复间隙的方法。除了显示确认窗口,也可以通过争取时间建立安全。

音乐

  • 录音中的补录(只重录唱错的小节):不用从头重新演唱整首曲子,只从受阻的那个小节重来。观察要点:观察“从受阻处立即重来”与“送回开头”之间的体验差异。保护已经做好的部分,也会保护重试的意愿。

一般应用

  • 撤销(Ctrl+Z)、回收站与恢复期限:无论做什么都能撤销,删除的东西也会保留一段可以恢复的时间。观察要点:观察正文的命题——恢复道路足够可靠,便不必特意隐藏危险动作,也不必用确认窗口阻止。删除按钮不可怕,是因为存在回收站。
  • 服务器错误提示画面(例如GitHub的“独角兽”500页面):不把系统造成的故障归咎于用户,而以“你没有做错什么”的口吻轻松说明。观察要点:观察不纠缠做过或没做过、而把视线转向解决办法的不责备语气。一句话清楚地把错误来源放在系统一边,就能保护信任。
  • Google文档与Figma的持续自动保存和版本记录:没有单独的保存按钮,所有修改立即保存,需要时还能回到几天前的版本。观察要点:把它视为把“不让信息丢失”做成默认值,而不是一项功能的案例。保存不再是作业,人就能不怕失去地进行实验。
  • 宽容的输入处理:输入框会自动接受电话号码中的连字符与空格、银行卡号中的分隔空格。格式稍有不同,只要意思相通就允许通过;机器能够适配的东西,不要要求用户去适配。观察要点:把它视为比“妥善处理错误”更早的阶段,也就是从一开始就不把它变成错误的设计。不要让用户背负无法修复的担子,这一原则落实到了输入框层面。
  • Steam退款政策:游玩不超过2小时、购买不超过14天,便无需给出重大理由即可退款。据说,当购买这种原本难以撤销的动作拥有恢复道路后,愿意先尝试陌生游戏的人增多了。观察要点:观察“可撤销”是否也能在商业规模上,使人在尝试之前而不是犯错之后变得大胆。
  • 银行延迟转账服务:开通后,转出的钱会在一定时间后到账,在此之前可以取消,为电信诈骗或误转账留下恢复空间。这项服务自2015年起已在韩国实施。观察要点:把它视为在不可逆动作中故意插入一层延迟、准备恢复窗口的设计。有时,一层延迟会成为比一次确认弹窗更强的安全装置。

机械装置 / 家电UX

  • 微波炉与洗衣机的错误代码显示:清楚地把停机原因显示为设备状态,而不是用户的错误。观察要点:观察把原因放在机器一边的显示如何防止用户自责。不过,代码本身仍是制作方的语言,也可以考虑是否能在代码旁附上一行用户的语言。
  • 连按两次电梯按钮取消:让人就在机器前立即撤销选错的楼层。据说是否支持因机型而异。观察要点:恢复手段即使存在,如果没人知道,也和不存在一样。恢复道路不能只制作出来,还必须让人看见。
  • 汽车启动与换挡确认程序:在不可逆动作前增加一层物理步骤,避免一瞬间的错误造成大事。观察要点:观察只在不可逆动作前增加步骤的筛选。所有动作都增加步骤,只会变得迟钝;只在无法撤销的动作前增加,才能成为安全。
  • 无人自助机的“返回开始”按钮:在点餐画面的任何位置,“返回开始”按钮始终显示在同一个地方,使迷路的人不被困在死胡同。观察要点:恢复路径始终在同一位置可见,这个事实本身就能保护控制感。比起实际按下按钮的人,知道按钮存在并因此安心的人获益更多。

现实工作流程

  • 航空与医疗检查表:不把错误归为个人责任,而通过流程恢复并预防。观察要点:把错误视为流程问题、而不是个人缺陷的文化,是“不责备错误提示”的制度版本。它不试图修理人,而是修理结构。
  • 飞行模拟器训练:在失败也不会致命的环境中反复失败并学习。失败不是死胡同,而是重新开始的起跑线。观察要点:观察另行建立一个人为降低失败代价的空间这一思路。可以把初次体验区设计成一种模拟器,也就是失败后什么也不会失去的区间。