There are two ways of looking at what I'm going to describe in this article. One is the sober, enterprise collaboration value-add of a stunning simple piece of technology. The other is "Woah dude, that's awesome cool!" - which one will you be?

Desktop sharing is one of the staples of online collaboration - being able to bring up something, be it a document, a presentation, or a new application that you want to demo, preferably whilst talking to your colaborators on the phone or over VoIP is highly useful. VNC has long been one of the ways to do this, run a small server process on your machine and clients on the others, voila the clients can all see your desktop. Lately a number of flash or java based alternatives have appeared, as part of online collaboration suites such as WebEx and DimDim. Some of these have been used effectively in the 3D immersive environments of Second Life thanks to the Shared Media support that comes with Viewer 2. In all cases though these things require you to have an account, sometimes paid, and to rely on external services and plugins. Wouldn't it be nice if you could just ask your viewers to point their browsers at your machine and magically see it? Well now thanks to a remarkable little piece of open source software called Guacamole, you can!


Guacamole is a small java web application that you install on the same machine that your VNC server is running on. It talks to the VNC server and renders HTML5 from it. So the viewer connects their browser to the web app running on your server and as long as the browser is HTML5-capable they get desktop sharing. Just like that, no plugins at the client end. The Shared Media in Second Life and now being tested in OpenSim is HTML5-capable, so this means simple desktop sharing in our 3D environments.

Here's a quick video - the second half is the obligatory 'world-within-world' demo of logging into OpenSim using a panel that is on the wall in Second Life.



This is a great way to do demos and training, everyone can access and interact with the desktop assuming that the Shared Media is set up to allow that. Also, it is possible to have dedicated 'virtual' desktops for your virtual office by running your desktop in the cloud (EC2 or some VPS) and adding Guacamole to it. I love it!