C6.15.1Clipboard as invisible global state设计研究

剪贴板是不可见的全局状态

别名: 系统剪贴板 · 粘贴板 · pasteboard

概念解释

剪贴板是一份不属于任何窗口的全局缓冲:复制把内容写进去,粘贴从里面读,中间没有一块常驻的界面显示“现在里面是什么”。它跨应用、跨焦点存在,用户看不到这份状态,只能靠记忆或靠粘贴出去的结果来反推。和插入符、选区不同,剪贴板不在当前文档的画面上。

机制

操作系统维护一块(或少数几块)命名空间里的数据对象,应用通过复制/剪切写入、通过粘贴读取。写入不改变当前文档的外观,所以成功没有本地回执——选区可能还亮着,人以为“还没拷上”。读取把对象插入焦点所在的字段,字段若与对象类型不匹配(图贴进纯文本、带格式贴进代码),结果与记忆中的源不一致,用户无法在粘贴前核对。全局性意味着刚在 A 应用里为了 B 任务准备的内容,会被 C 应用里一次无意识的复制覆盖,而 A 和 B 的界面都不会宣布这件事。不可见加上全局,构成一种特别容易漂移的模式:人以为缓冲里还是刚才那串,机器里已经是别的东西。

怎么研究

让人在多应用之间执行“为稍后准备一段 → 中间插入无关复制 → 再到目标粘贴”,记录是否预期命中、发现不匹配的时机。自变量包括有无剪贴板预览、是否在复制时给瞬时反馈、应用切换次数。因变量包括错误粘贴、主动检查缓冲的次数。只在单一文本框里测复制粘贴,看不到全局状态的危害。

边界

应用内的“内部剪贴板”或钉住的片段库是可见对象,不属于这条的系统缓冲。命令行里 pbpaste 一类工具让缓冲可检查,等于给专家开了一块界面。远程桌面和虚拟机可能有两层剪贴板,不可见性叠成两份。

怎么落地

  • 复制成功时给瞬时回执(选区闪一下、简短提示),不要只靠菜单命令没有报错来表示写入完成。
  • 在粘贴菜单或长按粘贴处提供一行预览,让人在写入字段之前看见缓冲里是什么。
  • 跨应用任务中途插入一次无关复制,看用户能否在粘贴前发现缓冲已变;若不能,预览或回执还不够。

延伸

  • 同组C6.15.2 覆盖式剪贴板导致内容丢失 · C6.15.3 剪贴板内容的隐私暴露
  • 相邻C6.16 文本输入中的撤销 · C6.10 自动补全
  • 站内检索clipboard · pasteboard · global buffer

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C6.15.1