Project: Extensible Clipboard

The system-wide clipboard is an essential piece of multi-tasking desktop environments. However, since its invention 50 years ago, the clipboard's capabilities have not changed much. We are building the framework for an extensible, shareable clipboard that allows trying out new interface ideas and implementing more powerful clipboard ecosystems.

Status: ongoing

Runtime: 2017 -

Participants: Felix Riedl, Raphael Wimmer, Matthias Rösl

Keywords: Clipboard

This project page is currently work in progress.

A system-wide clipboard (Wikipedia)1) is an interface provided by the operating system2) which allows applications to copy data to a shared storage (the clipboard) or retrieve data from it. This allows users to transfer data between applications without having to re-enter it manually. Ususally, copying and pasting is done via keyboard shortcuts (Ctrl-C, Ctrl-V) or menu items3).

Technically and with regard to their UI, system-wide clipboards have the following general properties:

  • the OS offers an API for transferring data into the clipboard, peeking at this data, and retrieving the clipboard data
  • one item
  • multiple formats
  • only locally and for logged-in user
  • cut is implemented by the application
  • non-permanent
  • paste is non-desctructive
  • multi-user, multi-system, ubiquitous
  • more than one item (and how this works with mental models)
  • more automation
  • automatic attribution
  • security

The initial design by Matthias Rösl has been adapted to facilitate deployment and enhance extensibility and usability, containing

  • migration of the database to sqlite
  • testing of OS compatibility + implementation of startup scripts
  • API and Codebase refactoring
  • extension of Clipboard functionality and implementation of access control hooks
  • extension of Hook System for more fine-grained control [under construction]

Further steps for this project will be

  • enabling Mac OS compatibility
Nothing.
Nothing.

1)
By the way, this Wikipedia article has been significantly improved by Gina-Maria Schmidbauer-Wolf as part of coursework at UR in 2018.
2)
or by a graphical subsystem, e.g., X11 on Linux
3)
For more information on implementation details of system-wide clipboards, check out this extract from Raphael Wimmer's ITT slides on clipboards and copy&paste.