E6.15.2silent update设计

静默更新减少打扰但可能带来行为的意外变化

别名: 后台更新 · 无感升级 · surprise changelog

概念解释

静默更新在用户没被问、甚至没被告知的情况下换掉正在使用的客户端或网页资源。打扰下降了:没有横幅、没有门。代价是行为可以在两次打开之间自己变掉——按钮换了地方、快捷键失效、昨天还能用的导出格式今天没有了。静默不是「没有更新」,是「更新事件不经过用户的注意」。减少打扰成立,前提是这次更换不会改掉已经学会的操作路径。

机制

技能建立在稳定的控件身份和步骤上。静默更新把新身份在睡眠时间里换进去,下一次启动时技能打在空位置上:找昨天的菜单,点到另一个动作,或以为自己记错了。因为没有「刚刚更新了」的标记,人不会去找变更说明,只会怀疑自己。打扰少掉的是提示的那几秒,多出来的是一次无因的能力丧失。网页应用的静默尤其容易:刷新即新版本,中间没有安装仪式可当线索。后台下载再在下次冷启动替换,比在热会话里热替换安全一些,但冷启动若仍无任何线索,意外变化照样发生。

边界

安全补丁和兼容性修复几乎必须静默,否则可选提示会被关掉。这类静默应尽量不改可见行为;一旦不得已改了路径,静默就不成立,需要一次可见说明。用户明确关掉了自动更新,再静默就是违背设置。扩展、插件、用户脚本依赖旧界面时,静默更新会造成它们集体失效,提示至少应在开发者通道出现。A/B 实验造成的界面差异会被体验成静默更新,即使版本号没变,处理方式应一样:可见行为变了就要有线索。

怎么落地

  • 把发布分成「不可见修复」和「可见行为变化」;只有前者走静默。
  • 静默成功后,若仍有可见变化,在下一次会话给一次可关的「版本已更新」并链到具体变化,而不是完全无痕。
  • 热会话中不要热替换会改控件位置的资源;等到空闲或下次启动。
  • 验证:让人完成一件熟任务,静默换一版再做同一件。若第一步就走错且不知道为什么,静默已经把技能打空了。

延伸

  • 同组E6.15.1 强制更新与可选更新需要不同的提示强度 · E6.15.3 更新说明应指出实际影响而非泛泛的优化用语 · E6.15.4 更新提示的时机不应打断用户正在进行的操作
  • 相邻E6.04 全局状态提示 · E4.14 引导气泡 · E6.12 提示的消失时机
  • 站内检索silent update · background update · behavior change

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E6.15.2