Build your own real time whiteboard sharing on Linux

I can't even remember the last time I had a coworker that was co-located with me in the same town. Within IBM the other software developers that I typically work with are in: Minnesota, Texas, Germany, Great Britain, Switzerland, Germany, Brazil, and Australia. These are the folks that I would have 1 or more technical discussions with a week. If I openned that umbrella up to a month, we'd add another few countries, and a whole lot more states.

A truly unsolved challenge in collaboration is replacing white board discussions with some sort of online equivalent. I've got a drawing tablet, but honestly, my brain doesn't think quite as well with it as when I get on a proper whiteboard. After a phone conversation earlier this week that I realized was circling for lack of common artifacts, I took some time to try and figure out how I could get people to see the whiteboard in my office.

The results can be viewed a number of ways. There is a built in client in the source tree (screen shot below is from that). You can also view it from vlc or firefox with the url http://your.server.name:8080/?action=stream. (In firefox I found you need 1 reload to get it to update frames, not sure why). If you want to just get the current frame you can use http://your.server.name:8080/?action=snapshot.

The results a quite impressive (you may need to right click to get to full res):

This is definitely readable to as small as you are going to be able to write. It's about a 5 second delay from capture point to writing, which isn't too bad considering. I'm definitely going to use this in the days ahead, as it works a heck of a lot better for me than trying to diagram in a computer program interactively. You'll get motion blur on people, but given that this is mostly about the text on the whiteboard, that's not really a big deal.

Update: I figured out how to do this with firefox and vlc, so the text now reflects that.