Extreme Feedback Device – Business on the Big Screen

by Dan Ackerson on May 3, 2009 · 5 comments

For the past couple of months I’ve been slowly enhancing the capabilities of our website monitoring page. It’s displayed on a big 42″ LCD display in the middle of our office where everyone can see the latest up-to-the-minute updates in our page impressions, average page response times, number of RSS subscribers, etc. The page refreshes every ten minutes and randomly shows a group of these measures to anyone who’s interested.

And who would be interested in these boring numbers and graphs? Well, more than you’d think – it’s kind of become the new water cooler in the office. People gather round and talk about the latest peaks and valleys trying to understand the significance and what we can do as individuals (and a company) to influence them. Our CEO wanted to get people more in touch with our site’s vital business statistics and it’s definitely working. Now, I get stopped on the way to the kitchen by content editors and asked about the pre-noon spike in server load and the corresponding deterioration in site response time!

Currently Tracked Statistics

In the last few weeks I’ve reached out with curl to at least six separate systems, gathering relevant data in one easy to browse and understand monitoring page. Here’s a list:

  • pingdom (API)
  • Munin
  • Twitter (API)
  • IVW Online
  • eCircle Newsletter & Campaign management
  • Google Webmaster tools (API)
  • Google Feedburner (API)
  • Google Docs (API)

And here’s a couple of screenshots:

news subscribers

google/IVW/poll







Using the PivotalTracker API

The only 2 systems I have yet to incorporate are our Nagios monitoring system and our Pivotal Tracker backlog. To make IT work even more transparent to my colleagues, I’ve opted to get the backlog published to the monitoring page this week. PivotalTracker does have an API and it was a breeze to use.

I decided to take the easy route and generate an authorization token directly from the website to use in my PHP scripts. The most interesting API call for our monitor page was get iteration current via: curl -H "X-TrackerToken: TOKEN" -X GET http://www.pivotaltracker.com/services/v2/projects/PROJECT_ID/iterations/current

for displaying the stories and statuses for the current iteration.

Embedding the various calls in a PHP script looked like this:

    $url = "https://www.pivotaltracker.com/services/v2/projects/<prjID>/iterations/current";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-TrackerToken: <super-crazy-secret>"));

    $result = curl_exec($ch); // run the whole process
    curl_close($ch);

    $xml = simplexml_load_string($result);
    $iteration = $xml->iteration->number;
    $started = $xml->iteration->start;

    $p_cnt = count($xml->iteration->stories->story);

    for($i = 0; $i < $p_cnt; $i++) {
        $story = $xml->iteration->stories->story[$i];
        render($story->name, $story->labels);
    }

After a bit of CSS beautification, I successfully added this to our monitoring page:

Various stats with Pivotal Tracker

If you’re still on the fence about the utility of a prominently placed monitoring “window” for your business, I hope this article has shown you how simple and effective it is to

  • generate awareness & discussion of your business’s vital statistics
  • “tune in” all employees as to how the platform is being used and behaving (in order to get even faster feedback when something suspicious happens)
  • easily fetch & render only the most meaningful measures together in one place

Besides all this, just think what a great asset a big screen TV is when the championship game comes on!

What APIs do you have experience in dealing with? How have you increased situation awareness about your platform within your company?

Related Posts

{ 5 comments… read them below or add one }

1 Pavel Reich May 4, 2009 at 11:58 am

Also it could be kind of useful to show last build report (X tests passed/failed, code coverage increased/decreased, svn fisheye changelog). We have only red/green rectangles as results from teamcity build/junit, sometimes it is quite useful.

2 Matthias Marschall May 4, 2009 at 2:26 pm

We just bought and installed a separate PC for showing our nagios tactical overview. More to come…

3 Dan Khan May 18, 2009 at 10:19 pm

Yeh, always planned to have a great big display with vital statistics for all to see.

I’m interested in how you’re using twitter in this context though – is this for your internal/build/error messages or for your customer service?

Cheers.

4 Dan Ackerson May 19, 2009 at 5:49 am

One of the rotating pages we have is sourced from ‘http://search.twitter.com/search?q=netdoktorde’. This lets everyone have an overview on the discussion in and around our business.

What’s actually really helpful is the thumbnail icons of the various tweets. Particularly when you see a new icon – meaning someone new has joined the discussion. Cool stuff…

5 Dan Khan May 19, 2009 at 6:00 am

Ok, thanks – very interesting idea, I’ve only recently started using twitter and can immediately see some advantages business-wise; probably some good programmatic operational uses as well if you don’t mind the public element – needs some moore thought.

Stumbled upon getsatisfaction.com the other day, and I can imagine this is another good place to keep on top of what the community is talking about your biz – especially the negative side!

Leave a Comment