Gamifying your build monitor
8 April 2014, by Usman Iqbal
When working on a project, it’s great to get feedback on the health of the build, especially when doing so collaboratively. You can use a variety of things for the task, from a simple wall monitor to a full-blown traffic light.
For Reservwire, we use a set of amBX gaming peripherals, which includes 2 satellite lights, a wall-washer, 2 fans and a wrist rumbler (the latter pieces for that all-important haptic feedback!). These surround my desk and bathe the area in appropriately coloured light, depending on the state of the build.
Getting these to work with our CruiseControl.Net CI servers required only minimal effort. The amBX team have an SDK available with good documentation to get you started quickly. Alternatively, a number of people have written wrappers for various other technologies. In the end, I opted for an open-source .Net wrapper and built a client \ server application pair using .Net 4.5. The full source is available on GitHub (see links below). After that, I just needed to attach it using the (already provided) CruiseControl.Net tray application and voila!
With something as flexible as this, the question soon becomes “How far can you go?”. Well, so far I’ve also added:
- Notifications to some of our internal applications, which includes the full experience of lights, fans and rumbling
- The all-important disco client, used without exception on Friday!
I’ve also got grand plans to add further app integrations, a music visualisation client and a full blown API (to control the kit through micro-controllers and the like). Then who knows what next – any suggestions?
More about amBX: www.ambx.com
Project code: https://github.com/usmanatron/amBXPeripheralController