L2.15.5clarification vs undo cost设计研究

澄清的成本应与撤销的成本相比较,易撤销时不必追问

别名: 问一句还是撤一步 · 可撤销则先做 · ask-versus-undo

概念解释

把一个本地文件改名,撤回去是一步。为此先问「你确定要改成这个名字吗」是把便宜的反操作,换成一轮更贵的对话。订一张不能退的机票,撤不回去,不问才贵。该不该追问,要比的是澄清成本和撤销成本(clarification vs undo cost),不是句子含不含糊。撤销便宜,先做;撤销贵,先问。

这条把追问从语言问题收成操作问题:反操作若存在、若被用户找得到、若一步能完成,追问就是在重复已经有的安全网。

机制

人忍受追问的意愿,跟「错了能不能轻易回到刚才」绑定。图形编辑里拖错了就撤销,没人会在每次拖动前弹窗。生成式和代理式动作常常把撤销做没:按钮叫「重新生成」却覆盖了上一份、发出去的消息没有收回、权限改了要走另一套审批。界面看起来可以改,反操作却不在同一条路上,于是澄清被当成唯一刹车。

比较要在同一用户、同一时刻做。对设计者「撤销只要点一下」的内部知识,用户可能找不到那个点。找不到的撤销,成本等于无限,追问重新变得合理——直到撤销被做成找得到的一步。

怎么研究

为同一歧义指令配置两档反操作:一步可见撤销 / 撤销隐藏或不可用。再交叉是否追问。因变量:总时延、错误停留时间、追问被跳过的比例、用户事后更想要哪一种安全网。关键对照是「有一步撤销还坚持追问」是否只增加时延、不降低错误停留——若是,追问在重复安全网。

撤销的操作化必须是用户能独立完成的步骤,不能是实验员在后台滚回。否则测到的是系统可逆,不是人可逆。

边界

撤销存在但有时间窗(几分钟内可收回邮件)时,比较的是窗内成本;窗外按不可逆处理,该问的还是要问。撤销会留下痕迹(对方已读到撤回、日志里仍有一次改权限)时,社会成本可能高于对话一轮,不能只按技术可逆来判。多人同时编辑时,你的一步撤销可能是别人的数据丢失,成本要从共享侧算。法律要求的确认不能被「我们有撤销」替代。

怎么落地

  • 给每个会问的动作标两个数:问一轮要多久、撤一步要几下、撤完世界是否复原。撤的路径更短,就把问拿掉,把撤销做成动作旁的一等按钮。
  • 撤销必须出现在刚发生的那条结果旁边,限时提示可以,但不能只存在于菜单深处。
  • 反操作做不到复原时(已对外、已扣不可退款),不要用「你可以再生成一次」冒充撤销,并在那一类动作上恢复追问或确认。
  • 验证:选一个可一步撤销的动作(本地改名、草稿内替换),打开追问一周,关掉追问、露出撤销一周。关掉后若错误停留时间不升、总时延下降,追问是多余的。再选一个不可逆动作做对照:关掉追问后若出现无法复原的世界变化,问就不该被拿掉。

延伸

  • 同组L2.15.1 直接假设一种解释并执行比追问快,但会放大误解的代价 · L2.15.2 只有当歧义会导致明显不同的结果时,追问才值得发起 · L2.15.3 追问过多会把交互变成问卷,抵消自然语言原本的效率优势 · L2.15.4 先给结果并说明所作假设,是追问与径直执行之间的第三条路
  • 相邻L4.05 可中断与可回退 · L4.11 行动前确认与不可逆操作 · L1.01 概率性输出与确定性界面的错配
  • 站内检索clarification vs undo cost · reversibility · ask-versus-undo

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/L2.15.5