超过后需要给出等待反馈
别名: 超时需反馈 · 等待指示义务 · delay acknowledgement
概念解释
步骤一旦跨过约 1 秒还没有结果,界面就不能再装成「还在同一拍里」。人已经开始怀疑动作有没有被接住,这时必须给出等待反馈(wait feedback):系统听见了、还在处理、请把思路停在这里。反馈的义务从这一秒开始,不是从十秒开始。十秒是人会离开座位的尺度;一秒是人会以为死机的尺度。
这条只规定要不要给。给转圈、给骨架、给一行「正在打开」,是下一层的选型,不在这里拍板。
机制
连续性一断,空着的工作记忆槽会拿「坏了」当默认解释——因为刚刚那一下没有任何新输入。等待反馈的工作是把默认解释改成「还在进行」:它提供的不是进度,是存在证明。证明必须出现在怀疑成形之前。怀疑一旦落地,人会重试、后退、或把窗口判成无响应,后面再补指示也像事后解释。
「没变化」在即时窗口内可以被编进动作;过了连续性阈值,「没变化」只会被编成故障。所以沉默的代价在 1 秒之后是非线性跳变的,不是随时间匀速变差。
怎么研究
在 0.5、1、2、3 秒的延迟下比较「完全沉默」和「过了 1 秒出现任何等待信号」。看重试、返回、以及「是不是卡死了」的口头报告。
自变量:等待信号是否在跨过 1 秒时出现、信号是否占用原操作位置、延迟总长。 因变量:过早重试次数、任务放弃率、把延迟报告为故障的比例。
实验室被试被要求「等结果」会人为压低重试。要用接近真实的指令:「做完这一步,觉得没反应就按你平时会做的做」。
边界
本地、确定能在 1 秒内结束的操作,硬插等待反馈反而制造一次无意义的模式切换。动画本身如果已经在动(页面在推入、列表在展开),动画就是等待反馈,不必再叠一个转圈。后台静默同步不在用户当前操作链上,不触发这条义务——用户没有把思路押在这次同步上。全屏阻塞式转圈会把「给反馈」做成「抢走上下文」,连续性不但没续上,目标线索还被盖掉。
怎么落地
- 任何用户发起、预期在交互链中途完成的请求,超过约 1 秒仍未结束,就在原操作处给出进行中状态。不要等用户开始连点。
- 反馈要出现在人正在看的那个控件上:按钮进入加载、打开的那一行留下进行标记,而不是跑到屏幕角落去转。
- 1 秒内结束的请求不要闪一下指示器;指示器的出场本身要有延迟门槛,避免用反馈制造新的中断。
- 验证:把接口固定成 1.2 秒。沉默版本里应能看到连点和后退;有等待信号的版本里,同样的人应继续等而不是重试。两种都测,不要只看有信号的那条。