How to turn copy-pasting into linking

Copy and paste is used all the time. It’s virtually the only way to move stuff around in a computer.

Yet, every time we ⌘C we’re creating a copy of something that’s being separated from its source. What’s more, we’re trapping it in an opaque place called clipboard, hidden until its pasted somewhere else, far from its source. The computer affords for easy copying of isolated pieces, but disturbs for creating robust links to the source.

Let’s say you are writing a note about a topic. You find a quote in a Web page. You copy and paste it into your note. Now you need to do extra work if you want to help your future self find the source context. You need to copy the URL, maybe the title of the page, etc.

What if every time you hit ⌘C a background process copied the fragment, title of the window, name of the application, and file/URL, and appended that to an observable history of objects. You could get anything stored in that history and embed it in a website, or maybe get a UUID link that when clicked recreates the original context (click and you the URL opens with the text highlighted, or whatever local file is opened that contains the fragment).

Thus, the act of copying becomes an act of linking.

Although I’m not familiar with the tech needed to implement this, I’ve been looking. It seems that the concept is doable at least in MacOS through the Accessibility API. Now, I know that you tool builders may benefit from a connector like this.

Let’s set the content of the clipboard free. Who’s with me?

A few remarks:

  • There’s a browser extension called Quotebacks that proposes similar functionality within the Web, but without messing around with the clipboard. What I am aiming at here is broader. I’d like to link to my local files, I’d like to link to any UI bit that can happen in a computer.
  • Also worth mentioning is Omar Rizwan’s Screenotate, which is the closest existing thing I know of. It saves a screenshot plus OCR-d text, plus context like app title and URL.
5 Likes

I particularly like the fact that the clipboard is a structured object, that can have many representations (say, if you copy from a web page, you’ll have a plain text, a rich text and an HTML string representation of what you copied; copying a file gets you a path and an icon). On macOS, this can be used to add metadata (for instance, Safari saves the domain name of the current web page under the com.apple.Webkit.custom-pasteboard-data key).

There might be a way to write a utility app that leverages this ability. From this list of open source Mac apps, I’ve found a few clipboard managers. Maccy seems to be the most frequently maintained. Its clipboard saving mechanism could be changed to add such metadata (app name, document title and path, URL) to the clipboard, and to the utility’s clipboard history.

(What would be amazing would be saving the browsing history behind each copied text. I’d imagine this would require writing a browser extension that tracks this data for each tab though.)

Of note – the drag and drop operation works the exact same way (using the Drag clipboard instead of the General clipboard), and clipping files created by dragging to the Finder contain all the representations, and could probably be extended with the metadata too. This would simplify the creation of a Scrapbook type snippet manager.

1 Like

In an ideal world there are only “transclusions” and copies are just temporary caches :smiley:

But back to reality:
I imagine such a ClipApp to sit on the OS level with an open API. So third party developers can add support for pasting & back linking and customise how the pasted content is rendered (plain text, annotated text, or rich cards, like Notion’s Bookmarks).

I’m heavy user of the PopClip App, which I think could be used to prototype this relatively easy. Similar to Popclip I’d like to ignore the Copy & Paste event in certain Apps like password manager.

I also remember there was a startup called “Atlas” a few years ago that would track every single activity on your Mac (like a personalised Palantir) and visualise it through a searchable timeline. Just can’t find any screenshots of it. Anyone know what I mean?

This is how I imagine the flow:

  • “Copy” goes to a searchable history.
  • “Paste” sends a message to the original source about the newly linked context as a backlink.
  • In the new context the pasted content is rendered according to the rules of the app

Here’s a diagram:

Update: Link to view and make additions in Figma:

2 Likes

I wonder if anyone in the HCI/CSCW community has done a post-mortem on 90s publish-and-subscribe functionalities. I’ll take a look.

1 Like

I’m a huge fan of Roam Research and using it has made me think a lot about copy/pasting data like you’re talking about. I was wanting to use it to connect to info in my OS and stumbled across an application called “Hook” (their home page). It seems to do what the OP wanted; although, admittedly, I haven’t played around with it too much…it works as advertised.

I looked into it briefly, and it seems like it fulfills the original request.

They even have a rough way to use it with Obsidian

Problem is, it’s only for Mac. Maybe we do need to design a new tool after all.