L4.11.5treat outward acts as irreversible设计研究
对外发出的动作即使技术上可删除,也应按不可逆处理
别名: 对外即不可逆 · socially irreversible · 删掉不等于没发生
概念解释
邮件可以撤回,帖子可以删,权限可以再收回。这些「可以」是技术选项。对方已经看见、已经转发、已经按那封信行动,社交事实不随删除一起消失。对外按不可逆处理(treat outward acts as irreversible)把世界边界上的动作从「能删就当可逆」里拿出来,放进重闸,而不是放进撤销处方。
删除是更正,不是时间倒流。更正可以存在,但不能把确认拿掉。
机制
可逆性有两层。系统层:状态向量能否回到原值。社会层:他人的记忆、副本、后续行动能否当作没发生。代理的工具返回值只报告系统层。产品若用系统层来分级,就会把发信、公布、改别人权限当成「事后撤回即可」,于是它们去磨确认额度,或根本不进名单。名单资格已经要求对外要闸;这里处理的是分级时的错分——因为 API 提供 delete,就被标成可逆档。
测试环境没有真的他人,最容易把社交层测丢。
怎么研究
用真实对外通道(测试收件人是真人,要求他们在收到后立刻转发或行动)。比较:按系统可删标成可逆(只给撤销)、按对外标成不可逆(事前重闸)。因变量:错误发出后对方是否已经行动、发送前拦下率、人是否报告「反正能撤回」。自变量:撤回是否在对方已读前成功、界面是否把撤回画成「等于没发」。
对方已行动的比率是社交不可逆的地面真值。界面文案声称可逆而地面真值不可逆,就是错分。
边界
发到自己控制的测试收件箱、没有他人的沙盒,社交层不存在,可以按系统可逆练手,但不能把练手时的分级搬到生产。对内、仅自己可见的草稿,走撤销。实例怎么展示、批量怎么抽查,不改变这条归档。资格名单把对外纳入闸;这里禁止用「可删」把它们降到撤销档。
怎么落地
- 工具表增加「是否跨越组织外的人」一列。是,则最低档为重闸,禁止因为存在 delete API 而标可逆。
- 撤回入口可以留,文案写成「更正 / 尽量收回」,禁止写成「撤销发送,对方不会看到」。
- 验证:发一封错信给测试里的真人,让对方已读并回复。产品若在发送前没有重闸,或在已读后仍显示「已撤销、等于没发生」,就是按系统层错分了。把该工具改标为对外不可逆,重闸必须出现在发送前。