Image showing 'What's Up!' in action.

Concept and Technology of What’s Up?

27.06.11

Newest rocket improvement: “What’s Up?”: the innovative way we use to track the progress of our rocket journeys.

A time tracking system for our rocket

A tailor-made, visually rocking time tracking system combined with a Twitter-like information stream, issue tracker and source code versioning system – blended with gamification? It may sound like a naive joke about some never-to-be-finished vaporware, but it has all come true in our latest innovation called What’s Up?.

Here at Nothing Interactive, all production flows are optimised for efficiency, and in order to offer our customers state-of-the-art solutions we’re committed to also being a think tank and laboratory for the future. The following article sheds some light on my thoughts from the conceptional and technological perspective of What’s Up?.

Destination: Time tracking. Mission: Kick Ass.

Existing time tracking systems on the market didn’t fit into our rocket at all - both technology- and culture-wise. A time stamp clock the rocket’s entrance? Never! Physical files also received a definite no. A quick team session generated quite some interesting feedback: We especially liked Panic Board – that’s exactly the direction of our mission!

Our tool in the works was to blend in with our existing work-flows that are Trac and Inside. We’ve been using Trac for years as our project/ issue management tool. Enabled by a third-party extension it tracks among other data estimated and total hours. Inside is our already astonishingly elaborate specifically developed control panel: it’s a CRM with an invoice module directly hooked to Trac, it’s where we do our knowledge management via reports and internal newsletter, and general info directory. It’s a real gem we’ve developed in-house over the years (based on LAMP. Especially the last few months proved this by allowing us this simple and speedy follow-up extension for What’s Up?. The high-quality data of Trac could then easily be selected for an internal stream with the time trackings as central element.

Architecture of What’s Up?

Internally we’ve used Subversion and Trac for several years. To tap these data in a meaningful way. So in a first step, a developer was assigned the task to build a small, extensible pre-/post-commit framework enabling us to validate/ evaluate source code commits with PHP. There are similar SVN hook frameworks out there in the wild that are interesting and open source but the lacked the flexibility and extensibility I was looking for.

As soon as we implemented it, a developer now had the power to send out commit messages directly from his IDE like:

Fixed annoying bug with latest change, fixes #22 (0.25)

… and thus telling he fixed the bug described in ticket number 22 in the project X in a quarter of an hour. As a nice side-effect the message is added to the ticket containing a link to the effective source code change set automagically. In earlier days this output from each producer was only retrieved by e-mail of a person that was directly involved in the task. But now everyone could see it – not only that but “like” i.e. “flatter” it (codeword gamification). Sharing this was fun and fuelled the desire to hook in more events like refs, reassign that can now send out commands through the IDE of a developer’s choice via simple commit messages!

For the crew members who can’t commit their work through an IDE like project managers the easy solution was found in extending Trac with a little Python-scripted plug-in which did just one simple thing: Sending any manual changes to a ticket to the information stream of What’s Up?. So the last piece of the puzzle was completed.

The information stream wasn’t just integrated as a page in our Intranet, but also as an impressive full-screen application on a Google Chrome equipped console in order to use all the latest and fancy HTML5 and CSS3 features.

Recap and Next Steps

The plan worked out and it was great to see our avatars in action on the displays! By following the regular workflow information is generated just like that for a reliably fact-based and precise management. This all fits perfectly into our corporate culture based on self-responsibility – which generates trust which again generates flexibility.

The solution was really simple and inexpensive - they who use their head save their heels! That given, we’ll certainly fool around some more. Next to further gamification of What’s Up? we’re planning to develop a mobile client delivering GPS-encoded check-ins when on a mission outside the rocket, meaningful data visualisations for better interpretation of all the values we generate, which are growing and getting more and more interesting! Mid-term goals include replacing Subversion by Git, since the need for a distributed versioning system is growing steadily. In this process we’ll certainly find a whole bunch of new optimisation possibilities! Gimmicks like sound effects for events like closing a milestone or opening tickets with severity level blocker are on the table, too. Voice output on a crew member’s check into our rocket is also in discussion which will make HAL 9000 blush.