Have you ever been in a situation where you need to copy text between multiple computers/devices but didn't have a simple way to do it?  Maybe it's some long command you need to run, or a product key you need to enter.  Sure there are "hacky" ways to do it, including emailing yourself, sending an instant message to yourself, or transfering text files across the network, but all of these have major drawbacks - they require setting something up in order to transfer the data.  What if you're in an environment where all you have is a web browser?  In the words of everyone who's ever appeared on Shark Tank - "There has to be a better way!".

Introducing CopyIT.app - a simple website that lets you seemlessly copy/paste data between disparate browser windows and computers.  On the first browser, you load the site and click "Start New Session".  The system then generates you a simple to use passprase inspired by XKCD Comic 936 - Password Strength.  An example session string would be something like "naval-lucky-tight" or "caught-build-wonder" - three simple words that are easy to remember and re-type, but with the astronomical number of possible combinations very hard to guess.  

Once you have a "session string" you then access the site again on another computer, enter the session string, and click "connect to existing session".

That's it - you can now enter text in ether browser, click "go", and it will magically appear to all sessions currenlty using the same session string.  Data isn't logged, and there is no history, so even if someone guesses your session string at some future point or a session string is somehow reused there won't be any data for them to see.

Is this the most advanced piece of software ever written?  Hell no.  It's a dead simple utility I wrote for my own use to solve a problem I was having copying data in/out from a Citrix session that disallowed direct copy/paste.  But I think it's a neat use of web sockets and a simple Java application server to solve a very real problem.

Please try the tool and let me know what you think - is it useful?  Does it solve a problem?  Did you find a bug?  Have a suggestion?  Send any feedback to [email protected] and I'll get back to you ASAP.

In a future post I'll go over the application architecture after I get the code ready for release - it's my intention to release it on GitHub so anyone can run their own instance.