Steve Matyas of 5AM Solutions and I developed an Ambient Orb Ant task that changes the color of an Ambient Orb based on a build event. There are many uses for an Orb, but the purpose of this task is to change the color, animation or comment of your Orb when a build passes or fails. If you’re creative, you can configure your build script to gradually change the color of the Orb based on certain conditions (e.g. you are exceeding your code duplication percentage threshold). The Ambient Orb Ant task is hosted at Quality Labs.
So, rather than just a binary representation (such as X10), there are virtually limitless combinations of colors and animations with an Ambient Orb.
The task is setup as a listener that listens for build events (pass or fail). Consequently, when you define the task, you are registering the task to listen to build events. Based on the build status, the Orb color is changed. Because it checks the build status, you probably want to execute this task as one of the first tasks in your build script - in case your build fails early. For instance, you may choose to use your init task in Ant.
Steps to using the Ambient Orb Ant task
1) Download the Ambient Orb Ant task
2) Place the extracted jar in your Ant class path
3) Define an Ant target and configure as demonstrated below:
<target name="registerOrb">
<path id="orb.class.path">
<fileset dir="${ant.home}">
<include name="ambientorb-0.5.jar"/>
</fileset>
</path>
<taskdef classname="org.qualitylabs.ambientorb.ant.OrbTask"
name="orb" classpathref="orb.class.path"/>
<orb listener="org.qualitylabs.ambientorb.ant.OrbListener"
deviceId="AAA-99A-AAA"
colorPass="green"
colorFail="red"
animationFail="heartbeat"
animationPass="none"
commentPass="The+build+passed"
commentFail="Build+Failure!!" />
</target>
In this example, if the build passes, your Orb’s color will change to green (12) or red (0) if it fails. Pretty cool, huh? In the example, you’ll need to change the deviceId attribute. This attribute is the unique identifier located on the bottom of your Orb. Notice the use of the plus (+) sign to indicate spaces in the commentPass and commentFail attributes. Go here for additional documentation. A short movie demonstrates the installation, configuration and use of this task.
The project is open source and free to download and use. If you’ve got ideas for improving it, comment here or feel free to join the Quality Labs project.

July 16th, 2006 at 7:28 pm
Very interesting post, Paul. We are using an Ambient Orb on my project and all I do is run a get method using the Ant get task like this:
What features do I get in addition to what I can already do with the get task?
July 17th, 2006 at 8:30 am
You’re correct, you may use the get Ant task
to change the color (etc.) of the Orb. Yet, like much of software, the task provides an abstraction; in this case, to the Orb. A developer does not need to know how to create the URL string. Furthermore, the task provides validation checks so that you do not enter an invalid color or animation. It also acts a listener so that you don’t need to determine when to call it (i.e. after a build event)
October 9th, 2006 at 2:36 pm
is thers something similar for luntbuild, or at least script that will change picture or color of monitor when build will change their state.
October 9th, 2006 at 8:30 pm
I’m not aware of Luntbuild (or any other CI/build management server) providing this type of support. However, you can modify the Ant build script that Luntbuild runs by passing in a parameter (using -D) indicating an integration build is occurring so that the Ambient Orb conditional code is executed. This way you can use the Ambient Orb Ant task we created without too much customization.