H5.04.3handled items leave the bundle设计研究

已处理的条目需从聚合中移除

别名: 聚合剔除已处理 · 摘要过期 · stale bundle

概念解释

摘要是尚未处理的集合的窗口。人在通知上回复了、在应用里读了、在另一台设备上归档了,这些成员必须从堆里消失,条数和预览跟着变。处理完仍留在摘要里,卡片就变成谎言:看起来还有事,点开却没有。

这条管聚合的生命周期。它不是未读角标怎么计数,也不是历史里要不要留已消失的记录。

机制

人用摘要当待办。待办的语义是闭包:做完一项,集合变小。若闭包不发生,摘要从信号退化成装饰,之后的策略是整组划掉或永久不看。跨面同步尤其容易破:手机上回复了,手表和桌面的同一堆还在;应用内已读,系统栏仍显示旧预览。破的不是动画,是「这张卡片还代表工作」。

移除的粒度是成员,不是整卡。五条里处理了两条,应留下三条,而不是整卡消失或整卡不动。整卡消失会让未处理成员跟着死;整卡不动则奖励「反正怎么处理都不减」。

怎么研究

让人从摘要或应用内处理子集,观察其他表面的条数、预览和卡片是否在数秒内收敛。

自变量:处理发生在通知动作、应用内还是另一设备;是否只减计数不换预览。 因变量:陈旧成员残留时间、错误地点开「已无事」卡片的次数、整组误清率。

实验室单设备会漏掉跨面陈旧。至少要两面(手机 + 另一客户端)。不要用最终一致当合格——人在处理当下就会再看一眼栏,秒级仍显示旧堆会被读成系统没接到动作。

边界

离线队列可以晚几秒,但回到前台时应先收敛摘要再展示新到达。需要审计留痕的告警可以在栏里消失、在审计日志里仍在,两者不要混成同一张待办卡。用户「稍后处理」不是已处理,成员应留下或进入明确的延后集合,而不是当已读删掉。部分失败(归档成功、回复失败)应按失败的那一侧保留成员,不能整条乐观移除。

怎么落地

  • 任何已读、已回复、已归档、已在其他设备完成的成员,从所有表面上的同一摘要剔除,并改写条数与最新预览。
  • 子集处理不得拆掉整卡,也不得让卡片假装没变。
  • 处理失败时把该成员留在堆里并标明未完成,不要先消失再弹回。
  • 验证:摘要显示 5,在应用内读掉 2,立刻回头看通知栏。应变为 3 且预览不再是已读那两条。仍显示 5,或卡片消失却还有 3 条未读,生命周期就断了。

延伸

  • 同组H5.04.1 同类通知需合并为摘要 · H5.04.2 聚合后仍需能看出条目差异
  • 相邻H5.05 徽标与未读计数 · H5.06 可操作通知 · H5.11 通知的历史与回溯
  • 站内检索stale bundle · handled leaves group · cross-device notification sync

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H5.04.3