I3.01.2status change transient设计研究

状态变化需要过渡而非跳变

别名: 状态过渡 · 跳变 · motion transient · 无动画刷新

概念解释

状态从 A 换成 B,像素已经变了,人却可能认为还是 A。原因往往不是没显示,而是没有过渡——旧值被新值原地替换,没有位移、没有淡入、没有持续几帧的对比。这种可检测的短暂扰动叫状态变化瞬变(status change transient)。跳变把「刚才」和「现在」编成两张不相干的静帧;过渡把它们编成一次事件。

它管的是变化怎么被看见,不管状态写在哪一块界面上,也不管系统是否决定完全不改画面。画面改了但改得像换了一张静图,这条已经失败。

机制

视觉系统对场景里突然出现的运动瞬变(motion transient)敏感:边缘移动、亮度阶跃、局部闪烁会触发朝向该处的注意。同一块像素上的标签从「已保存」切成「同步中」,若没有瞬变,检测就改走记忆比对——把上一眼的印象和这一眼对一下。记忆比对又慢又脆,眼睛当时不在、或中间夹了一次眼跳,比对直接失败。失败的产物是变化盲视:变化客观发生,报告却是「没变」。

过渡的作用不是装饰。它把「值换了」翻译成一种无法被记忆比对替代的信号:在 150–300 毫秒里让新旧同时在场(交叉淡化、滑动、数字滚动)。瞬变够短,不会变成第二件事;瞬变为零,状态栏即使一直在原位,变化仍可能被吃掉。

怎么研究

用变化盲视的闪烁范式做界面版:在状态标签切换的那一帧插入一次极短的全屏闪、或让切换落在眼跳窗口里,问「保存状态有没有变」。对照条件是带 200 毫秒交叉淡化的同一次切换。兴趣中心上的变化更容易被发现,所以要把状态控件放在注视中心之外再测一次——这才接近真实使用:人在看正文,顶栏自己变。

自变量:有无过渡、过渡时长、变化是否落在当前注视点、有无视觉中断。 因变量:变化检出率、发现变化的反应时、「一直是这个」的错误自信。

实验室里被试知道有变化并在主动找,检出率高于产品。产品里的跳变发生在人读文章、填表的时候,范式里的百分比不能当验收线。

边界

警报、安全阻断、权限被收回,过渡会浪费那一两百毫秒,而且柔和运动可能被读成「还在进行」而不是「已经翻面」。这类切换用硬切,再用一条不能被忽略的通道补检测。高频心跳(在线人数每秒刷新)若每次都做 200 毫秒动画,瞬变本身变成噪声,人会学会忽略整条通道;这时该变的是更新节奏,不是每次都加动画。颜色在色觉异常下可能带不来瞬变,位置或形状变化比色相更可靠。减动效偏好或前庭敏感的用户把过渡压到接近零,检测改靠短暂的文字差(「已从已保存变为同步中」)或一次非视觉提示,而不是坚持要位移。

怎么落地

  • 对会改变决策的状态切换给 150–300 毫秒的可见过渡:保存、连接、同步、权限、冲突,不要只换字符串。
  • 过渡必须在值变化的那一拍开始,不能等整页重绘完再播——晚到的动画是第二条事件,不是这条变化的瞬变。
  • 同一位点上的数字或短标签用滚动或交叉淡化;不要用整页刷新来「顺便」改状态。
  • 验证:把网络从通切到断,录屏后逐帧看连接指示。若两帧之间标签已经换成新词、中间没有任何共同在场的帧,这就是跳变。再找一位没盯着该控件的同事,问切完之后「刚才发生了什么」。答「没注意」而像素确实变了,过渡不足。

延伸

  • 同组I3.01.1 当前状态需在界面上有稳定的表达位置 · I3.01.3 静默的状态变化会破坏用户模型
  • 相邻I3.02 乐观更新 · I4.09 节奏与操作韵律
  • 站内检索status change transient · motion transient · change blindness

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/I3.01.2