Wednesday, April 2, 2014

An Information Radiator using Dashing and the Raspberry Pi

For those unfamiliar with the term information radiator, it is similar to what some call information dashboards. The term information radiator apparently comes from the Agile software development methodologies, as our friends over at Atlassian explain:
An information radiator is a large, highly visible display used by software development teams to track progress. The term was first coined by Alistair Cockburn, one of the judges for the Ultimate Wallboard contest, in his book as follows:
“An Information radiator is a display posted in a place where people can see it as they work or walk by. It shows readers information they care about without having to ask anyone a question. This means more communication with fewer interruptions."
There are good things that come out of putting key pieces of information on public display. Such as a greater awareness and inevitable challenging of the metrics, conversations about, understanding of and stake in the quality and relevance of tracked metrics, and some creative solutions for better measuring and improving your work, especially if you find yourself on the right team.

I found the above description, and the site, when scouring the internet for a useful electronic wallboard setup for teams using Jira Agile. I was searching for an information radiator without knowing the name for it and was happy to have found myself in good company. For my purposes, I was interested in broadcasting the following:

  • The number of days left in the Sprint
  • The Sprint burn-down chart, showing the completion rate and remaining work in the sprint
  • The task board, showing what state the various tasks and stories are in
  • Projected release dates (as a calendar), for better overall awareness of projected release timings

Others metrics like code review, quality or test metrics would have been nice, too. However, since they were not directly relevant to what we were struggling with the most I felt it would have worked against my goal of increasing focus and clarity. More information would have worked against gaining an intuition for the key metrics and what they meant.

I pulled together a quick prototype based on the Atlassian article, which was easy with the Jira dashboards and the open social gadgets. Essentially, all of these pieces were already there and the Atlassian plugin framework enabled extending the platform with more gadgets if I needed more. The Jira dashboards were optimized for HD television resolutions, so I just needed a device to display the dashboard when I was finished. After doing some research, I decided I would use a simple mounted HD television driven by a raspberry pi.

However, I didn't have time to build the device before needing to part with the team. Nevertheless, I soon found a need for a similar device again. This time however, I didn't have all the information in Jira. Fortunately, the heroic developers from Shopify built an information dashboard tool called Dashing. By mashing up apis from different sources, and a little elbow grease patching up and rewriting widgets, I was able to design a dashboard that I felt was good enough and could be refined further.

Dashing on the Raspberry Pi
Much like the Jira dashboards, I could easily build dashboards for an HD resolution (1080p), so again it was then just a matter of getting a device to display it. With some configuration, I was able to get a fairly minimal install on a rasperry pi. The big benefits here are size, expense and power consumption. I'll post more details on how I configured Dashing and the raspberry pi shortly. Until then, here is the result of my initial pass. The information is being pulled together from GitHub, Asana, Yahoo! weather, Google Calendar, BBC News, and Twitter.

Continue reading for more detail on how to configure a raspberry pi with Dashing, booting into a browser, building a dashboard and even how you can stream music from your dashboard. I have also published the full source code on GitHub

3 comments:

  1. Looks awesome, any chance I could get the source please?

    ReplyDelete
    Replies
    1. The final post already had a link to the source code, but I have updated this post to link to subsequent ones directly as well as the full source code. I hope this helps and thank you for the feedback!

      Delete
  2. Great work - our business would benefit from this so i guess that's my next task!

    ReplyDelete