Synchronizing Clipboards of Multiple Computers Rob Miller Brad MyersSchool of Computer ScienceCarnegie Mellon University UIST ‘99 November 7-10, 1999
How do I move data between programs running on different computers? • URLs • Email addresses • Phone numbers • Text • Files One User, Many Computers • Desktops • Laptops • PDAs • Cell phones • Pagers • Car PCs • Live Boards • ... • Windows • Unix/X • Macintosh • Palm • Windows CE • ...
Same Computer Filesystem Drag-and-drop Clipboard Different Computers Network filesystem Pick-and-drop [Rekimoto, UIST 97] Hyperdragging [Rekimoto, CHI 99] Synchronized clipboards Inter-Application Data Transfer
Synchronized Clipboards • Key idea: synchronize the clipboards so that their contents are always identical. • User’s clipboard group consists of all computers in active personal use (ideally).
Advantages • Cut/copy/paste is a familiar, universal UI • All popular GUIs have a clipboard • No extra hardware is required • Synchronization is invisible • User doesn’t need to explicitly name source or target computer in each data transfer (unlike other “network clipboards”)
Limitations • Best for one user only • Two users can’t actively share a synchronized clipboard • Computers must be in close proximity • Unsuitable for long-range transfers
Model #1: Client-Server Server X X Client Client • Network traffic on all client clipboard operations • Client clipboards must be interceptable
Model #2: Peer-to-Peer B A Peer C A A Peer Peer • No network traffic for local clipboard operations • Clipboards must allow delayed data transfer
Prototype Uses Both Models • PalmPilot: client-server • Palm clients connected to server PC by serial cable or cradle • Windows, Unix/X: peer-to-peer • Java/RMI across the network • Both models interoperate • Just hook up server as a peer
Setting Up Clipboard Group • PalmPilot: plug/unplug Palm in cradle • Clipboard group connection is automatic • Windows, Unix: add/remove hostnames • Automatic discovery (e.g. Jini) would help • My clipboard group should contain all devices I’m actively using • But perfect tracking is tricky
Security • Authentication by popup dialog • SSL, Kerberos, PGP, … would help • But all require some infrastructure: trusted authorities, key management, etc.
Conclusion • Synchronized clipboards extend the familiar clipboard model for seamless data transfer between computers • Prototype (for Palm, Windows, Unix) is available at: http://www.cs.cmu.edu/~rcm/RemoteClip/