Working in a team involves a lot of communication, and communication comes in many forms: conversations, emails, instant messages, notifications, and the list goes on. Most of these methods of communication are virtual. I was speaking to a teammate and thought it would be cool to bring the virtual notifications into the physical world in the form of lights. That is when Sparkles was born, with the help of team member Bill Boga.
We utilize the ":sparkles:" emoji when code reviews are completed and work was deemed satisfactory. If you looked at our Github projects, you'd notice that most pull requests end with a sparkles emoji comment. Additionally, when pull requests are merged they trigger an automatic build.
Sparkles takes a Raspberry Pi and uses a solid state relay to control four lights. Sparkles monitors our TeamCity build server and Twitter for certain events. Out of the box we support the following lights and behaviors:
- Build: This light flashes when a build is in progress.
- Success : This light will be on when all builds are successful.
- Fail : This light will be on on when any build has failed.
- Twitter : This light flashes when ever a certain word is found on twitter.
We have the Success/Fail lights flicker whenever TeamCity is being checked. Here is a sample working with our TeamCity build server.
We now have our virtual process represented physically in the room.
We understood that lights can only communicate so much. While the lights represent the why, they cannot represent the what. That's why we decided to build a more data rich component to Sparkles. Take a look:
There are three columns:
- Builds: Shows the number of builds and the time passed.
- Twitter: The tweets triggering the blue light.
- Build Status: Denotes whether the build is passing or failing.
The advantage to the dashboard is it can be run on any NodeJs capable machine, even if you don't have the knowledge to wire a Raspberry Pi to a set of lights.
I've always wanted to bridge the gap of the virtual and the physical, and with Sparkles we did that. It's been working great for weeks now and we hope to get a display installed in our office space to show the dashboard in addition to the lights. I hope you try it out and reach out to me or Bill to get any help setting up your own Sparkles box. We hope to have more detailed documentation in terms of wiring and components out there soon. Thanks and I hope you give it a shot.