Marty Andrews

artful code

Saturday, August 15, 2009

GreenScreen - a build monitor BVC

I've just released GreenScreen. It's a build monitor that aggregates feeds from your build server and publishes them as large as it can on a web page. The idea is that you can set up a monitor somewhere in your workspace running GreenScreen so that everyone can see the current status of the build all the time.

Other tools like CCMenu and CCTray exist so that people can see the current status on their local computers, and they are absolutely useful. Having something in your workspace that is visible to *anyone* that happens to walk past has some powerful implications though. Many teams actually use a build light or lava lamps that change colour when builds pass or break. GreenScreen is a software based equivalent that you can use on any spare computer.

A widely visible build status means the team is completely transparent all of the time to anyone who can see it. For teams I've coached in recent times, managers, project stakeholders and regular visitors would often ask what the monitor meant, and quickly learnt to ask what was wrong if builds were red. It gave the team a strong sense of commitment to keep the build passing.

I hope you find it useful. Have a look at the pics below for some examples of what GreenScreen looks like for projects with various numbers of builds:

That's really nice, but let me be extra critical to give you a bit of feedback.

It feels like the app is sitting on the fence a bit. GreenScreen is designed *just* to be a BVC, and therefore does everything possible to maximise readability from large distances away. The Pivotal site is trying to be half web site and half BVC, and therefore does neither as well as it could.

Thanks for the feedback, that's definitely something to think about if Pulse starts to get hard to read. In practice we use it almost exclusively as a BVC and the current design is readable even at the desks furthest from its plasma screens.

I really like GreenScreen's simplicity, reminds me a little of Integrity.rb's interface. Thanks for creating it.