I’ve been an Agile Coach for a while now, and have had some time to think (3 weeks holidays over Xmas – wayhay) about the problems people have in the workplace when implementing Agile.
I’ve mostly been thinking (Fast Show style) a lot about Big Visible Radiators in the workplace and the app I’ve been working on, StoryBoard.
Most people have a StoryBoard in their Agile workplace, with User Story Cards, some kind of Burn Down / Up on it, and some notices here and there.
This doesn’t work very well when your team is distributed over 2 or more sites (as most big companies are) or if the team(s) get bigger over time. Co-ordination starts to become a bit more difficult.
So I’ve written some software so that you can have all of the manual stuff electronically, and can share view / modify the StoryBoard seemlessly between sites.
But something has been bugging me: the software is really getting there, and is fairly stable (StoryBoard’s Acceptance Criteria is that it has to be at least as simple to use it as it is to write a User Story and stick it on the wall, whilst having things like BurnDowns, and Value / Effort calculations thrown in for free and it pretty much does that).
However, there’s a problem: being stuck in a small box on a desk doesn’t do much for the visibility, and the usefulness.
Okay, most workplaces nowadays have a big TV / projector, so we could create some level of visibility, but it’d be much better to interact with the software in the workspace, much like a physical StoryBoard, but do it pretty much with the kit we have already.
So here comes the nice, geeky part: I did some research into how I could make that happen, and am now building a prototype.
Please, bear with me for a while, whilst I explain.
Infrared is an very interesting technology.
A while back, I rigged a UMPC (one of those itsy bitsy computers with touch screen) to be a universal remote control for the MediaCentre personal streaming software I wrote. The basic principle for this was that I took an infrared LED, like the one in a remote control for the TV, stuck it onto the end of a set of headphones (where the headphone speakers should be), whacked it into my mic port on the laptop and was able to record pressing buttons on the TV / DVD remote as sound into my computer (the LED became an Infrared receiver). I then monkeyed around with the sound to amplify it, so I could stick an almost identical headphone / LED combo into the headphone socket on the computer and play the sound, which converted into Infrared light and could control the TV etc.
The useless, but funny, consequence that I came to as part of this experiment is that I could record a CD, stick it into my DVD player, with the modified LED headphones in the jack, and have my DVD control what channel I was watching: pointless but fun (^_^)
I eventually wrote a nicely hacked together swing app to place buttons on the computer screen to look like the real remote, then press the buttons to record the IR as sound for each button. This was then used as the User Interface on my UMPC / universal remote. This whole thing was inspired by this link here – http://jumpjack.wordpress.com/2008/05/20/worlds-cheapest-remote-control-replicator-just-1/
Quite cool I thought. But what the heck does this have to do with interactive StoryBoards?
I learnt a little bit about Infrared over those few days. I had to check that my rig was working, and one interesting fact is that any webcam can pick up on the IR spectrum of light that I couldn’t see…
This is an example of my built-in webcam capturing infrared from my TV remote (the bottom white light)

Hmmm, I said, and thought no more about it.
Again though, what the heck has that to do with interactive electronic StoryBoards in the workplace?
Well, a well known (on youtube at least), and inspiring guy called Johnny Lee (http://johnnylee.net/projects/wii/) has been working in human computer interfaces (now at the rather cool project Natal at Xbox – very big thing to keep your eyes on) and was able to make an interactive whiteboard with a Wii remote control. How can he do that? Well, the Wii remote (Wiimote) is an Infrared camera, and there is another project where they’ve hooked up the wiimote to a computer via bluetooth (the Mac version of this is at: http://sourceforge.net/projects/darwiin-remote/).
Johnny simply made an Infrared ‘pen’ and tracked it with 1 or 2 Wiimotes with some software he wrote utilising the Wiimote PC libraries.
Very cool.
I mean having a flat panel TV / projector that could be interacted with for £50 is quite cool: I got this working quite quickly thanks to some really cool Java ported opensource software here: http://www.uweschmidt.org/wiimote-whiteboard.
I could easily use this in the workplace, and start to think about adding multitouch to the StoryBoard software…
However, actually doing anything just yet: hmm, I left it for a bit, and spent the last few days thinking about what he did, and that shook something else loose.
Its not just a Wiimote that can easily be an Infrared camera: almost every webcam, no matter how cheap, can pick up Infrared (remember the MediaCentre universal remote story above?)
There was only one problem: as well as picking up Infrared, the webcam has this really pesky habit of picking up other information like my face and bad haircut (^_^) – which isn’t really necessary and actually quite bothersome when it comes to multi-touch software and tracking points in the air.
But then something else shook loose (takes a while but I get there eventually).
I trained as a photographer and remember doing some Infrared photography in a previous life (about 15 years ago!).
At the time, I was a skint photography student and I remember having a very nice trick that you could make a very inexpensive IR filter with either completely exposed developed colour negative, or completely unexposed developed E6 slide film (i.e. a black bit of film from a reel) taped over the lens. This really makes sense when you think about the function of camera film, which is to capture only the light visible to humans and not register light invisible to humans (if a rat could talk, it would say that human photos are rubbish, as they don’t capture the ultraviolet they see, for example)
So, here’s an example of some exposed colour film from the end of a reel taped over my built in webcam, capturing the same TV remote’s infrared light, and nothing else.

So, put simply, this is a very clear Infrared input with a webcam, a bit of exposed camera film and a remote control, and would be a very good substitute for the more expensive Wiimote.
That’s step 1 of the investigation over.
The next step is that there are some really cheap webcams on ebay (£3.48 incl postage to UK) that have Infrared LED’s on the front of them (supposedly so you won’t disturb others at night when using the cam – bit of a weird reason I think), so as opposed to having a pen for the Infrared light-source, you can use the irradiated light from the cheap webcam, and use the Johnny Lee trick of using reflective tape (£1.44 incl. postage to UK) to reflect back the infrared light source.
So, I’ve got 1 or many isolated points of light using an incredibly simple system (as long as there isn’t still smoking and lighters being used in the workplace we should be good!), and now I need to process this from a white blotch on a video feed to a point based system for UI manipulation (as the software above was doing with the Wiimote)
Fortunately, a bunch of people at http://ccv.nuigroup.com/ have already done this, and kudos to those guys, they’ve opensourced it! And there’s even some software to act as a mouse driver.
So, a touchscreen system in the workplace for £4.96, that can not only interact and update a StoryBoard in different regions in real time (whether its a plasma telly or projector) all by sticking a bit of tape onto your finger (^_^) One of the deficits of the current StoryBoard is that the lines separating the kanban board aren’t too visible when blown up to this size, so some modification of the UI is required… I’m also currently looking at the possibility of multi-touch in future releases of the software.
The next project is to build a multitouch table system, using the same technology, and adding a 3M pico projector that I bought a few months back into the mix.
The idea is to built upon an existing glass table, with the pico projecting onto a showercurtain (^_^) and an infrared camera capturing from underneath some taped fingers on the table. This will give a fairly good facsimile of the microsoft system, but costing just a fraction more than a monitor. I can see this taking off for digital Big Visible Radiators for Agile teams in the future. All the benefits of a visual workspace, with the automatic BurnDowns (and traceability) of digital systems.
I personally want to see this followed through to be more than just a gimmick and to be a staple part of Agile teams, as I think this will greatly benefit Agile working practice.