K2.10.1clipboard as implicit inter-app channeldesignresearch

The clipboard is an implicit inter-app channel whose behavior must be predictable

Aliases: system clipboard · implicit copy-paste · hidden pasteboard

What it is

Copy never draws a visible pipe into another window, yet paste can send what was just taken. The clipboard as an implicit inter-app channel is a machine-wide, usually invisible buffer that data travels through. People expect: what was just copied is what will paste, there is one buffer on the machine, paste replaces the current selection, and copy does not alter the source. Drag-and-drop is a visible cross-app channel. This entry is only the invisible one, and that its behavior must be guessable in advance. Formats are about compatibility; history and cloud sync are about leakage. Neither belongs here.

Why it happens

The cost of implicitness is state that lives outside any UI: people cannot see what is in the buffer, who wrote it, or whether another program will change it before paste. Predictability rests on a few default contracts—later writes replace earlier ones, paste reads the current value, quitting the source should not make already-copied content vanish. When a contract breaks, the channel still works and people can no longer model it: some apps make copy a promise to fetch from the source at paste time, and paste empties if the source has quit; some clear the clipboard on exit, so a cross-app move fails; some intercept paste and rewrite it into their own object, and people think they pasted text. Drag-and-drop at least has a visible trail under the finger or pointer, and can be cancelled by releasing. Clipboard failure happens in another window, at another moment; cause and effect are cut by time.

Studying it

Run cross-app move tasks: copy in A, paste in B, and insert disruptions such as quitting the source, copying something else in between, or B rewriting the paste.

Independent variables: whether the source quits before paste, whether a second copy happens, whether the target claims the clipboard, whether the system clears on lock or quit. Dependent variables: whether the paste equals the last intentional copy, whether people can name the cause on failure, whether they fall back to drag-and-drop or saving a file.

Two windows side by side in the lab, with almost no delay, will not catch the expectation of “paste an hour later.” Add a delay condition. Do not count “the paste came in the wrong format” on this claim—that is format negotiation. If people can still say “this is the thing I just copied,” channel behavior is still predictable.

Where it stops holding

An in-app private clipboard (moves only among that app’s windows) need not follow the system contract, but it must not silently overwrite the system buffer, or the next cross-app paste is lost. Multi-clipboard tools stretch “the latest one” into a list; the contract becomes “pick one,” and whichever will paste next has to be visible, or the tool is less predictable than the system default. Remote desktop and VMs sometimes keep two clipboards; people cannot tell whether they are pasting the local or the remote buffer. An accessibility switch that speaks the clipboard turns implicit into explicit; treat that as a different, visible channel when verifying.

Applying it

  • Hand data to the system buffer at copy time; do not fetch from the source at paste. After the source quits, what was already copied should still paste.
  • Do not quietly clear the system clipboard on quit or account switch unless the scene is security-critical and people are told.
  • When intercepting and rewriting paste, leave a way to paste the original (plain text, for example); do not leave only the rewritten object.
  • Verify: type a sentence in a notepad, copy, quit the source, paste in the target—the sentence must still be there. Open an app that rewrites paste and confirm an un-rewritten fallback exists. Any “it only pastes while the source is still open” turned the implicit channel into an undeclared live connection.

Related

  • Within the group: K2.10.2 Copied formats determine what the paste target can accept · K2.10.3 System services let other apps invoke a function without switching · K2.10.4 Clipboard history and cloud sync widen the leak radius of secrets
  • Adjacent: K2.05 Cross-application Drag and Drop · K1.07 System Share Sheet
  • Search terms: system clipboard · implicit data transfer · copy-paste

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/K2.10.1