We have a lot of data to parse through at 37signals. Our internal stats application, Dash, does the majority of heavy data lifting for us, including reports, application health, CI builds, and much more. Our Campfire bot named Tally happily pings us when a build fails, deploys are fired off, and when Nagios alerts pop up.
I had a problem though: I needed to have all of this data open constantly to absorb it. Either I had to look at the pages on Dash directly or make sure I’m in the reading through messages in the right Campfire room.
I decided it was time to fix this overload. The release of Status Board let me take a step back and understand what pieces of data really mattered to my daily work. As a programmer, I want to answer a few questions:
- What’s the on-call load like? Do I need to help out?
- Are there are any problems with our apps?
- Is there an influx of exceptions?
- What are other developers up to?
My iPad Mini now answers these questions for me. I just set it up next to my laptop and keep it on when working. Instead of swapping tabs over to Reddit or Hacker News to get distracted, I’ve been trying to use my Mini as a focus point instead.
Here’s what my board looks like, and what data it contains:
- How many unanswered tickets our on-call queue holds
- Who’s responsible for on-call right now across the company
- A graph of exceptions across all apps over the past 6 hours
- Latest exceptions directly from our monitoring inbox
- RSS feeds of latest deploys and builds kicked off
- Mentions of @37signals and basecamp.com on Twitter
- Green/red status for each app based on Nagios alerts
That’s a lot of data densely packed into one iPad screen! Integrating with Status Board really didn’t take that much effort. For a table, serve up an HTML table. For graph data, wire up some JSON. Need more than that? Drop in an entire HTML page if you need it. There’s guides for hooking up your data included, and I was able to test changes locally using xip.io.
I’ve focused my board to just data I personally need to react to. Exceptions are high? Let’s find out why. The queue looks deep? Pitch in and close a ticket or two. Why is that app’s status red? Dive into the alert and see what’s up.
The best part about it though: I can just open up my iPad and find out the answers to my questions, immediately.
Thanks to Jeremy once again for feedback!