I'm nearing the end of my Knight-Mozilla Open News fellowship and I'm eager to go out with a bang. Initially I intended to travel over to Doha for the elections to capture the excitement of a news organisation operating at full tilt, but that trip has been postponed until the end of November. It works out though - one of my personal remits was to show that it was possible to work effectively while remote and with much help from my on-site colleague Mohammed Haddad we seem to be doing that.
We decided to do something with hyperaudio (a project I've been developing on the side) and the election debates. So for the last three weeks or so I've been working pretty hard on that. Work expanding to fit time - there's nothing like an immovable deadline to make you work at maximum capacity and you'll find plenty of absolute deadlines in the news business.
The great thing about the US election debates are that there are four of the blighters. We had already compressed about a months work into two-weeks for the first debate but now we get to bring out versions 2 - 4 over the next weeks. This is the fun bit - I've always envied developers who'd shipped version 1 and were onto the next stage of streamlining and improving for the next release. Usually though this process takes months or even years. I was going to get to do this in weeks.
So a bit about the process - to call it agile would be to do it a disservice, to be honest to call it a process would be doing it a disservice. There is no process - not a fixed one anyway. We'd been discussing what we'd like to see on and off over the last few months but we had no best laid plans. I'd been travelling recently and so I didn't really have time to start thinking about this seriously until about a month ago - but I'm a great believer in leaving ideas and thoughts on that great perculator at the back of your mind. I had a tonne of ideas but Mohammed and his colleague did a great job of cutting these down to the minimum and viable and with that and a few rough sketches we were off to the races.
Anybody at this point expecting to hear tales of exquistely crafted code, tightly packaged JS libraries, unit-tests and all the things you are supposed to do, better turn away now. In my other life I mostly make prototypes and demos and get other people to do the crafting (only half-joking). I appreciate that I am spoiled but I feel this quick-fire approach suits the transient world of journalism quite well, where it is all about shipping - there is no room for people of an obsessive-compulsive disposition here. Of course it has to be 'good enough' ™ but I guess the stats will be the judge of that.
My approach was not to start from scratch but as I like to have working code from the very beginning - especially when there's a tight deadline - I took the hyperaudio pad, which contains a lot of the functionality I wanted and started hacking on that. I just did the minimum to remove pieces I didn't need (display:none is your friend) but it meant I could get something demoable in a day or two, which then allowed Mohammed to feedback and allow us to continually adjust course. This was extreme repurposing and from a code-base perspective a little inefficient. In fact when we shipped we still had blocks of code, structure and styling that were never used, but then again by leaving everything in I would often discover functions that I could repurpose and was very glad about it. In a vague attempt to justify this approach to someone I used the analogy of the male nipple which has no conceivable purpose but in the end is 'easier' to 'leave in'.
You know that bit in Pulp Fiction where things get just a little bit too messy and they have to call in The Wolf? Well luckily for me I have my very own Wolf. My colleague Mark Panaghiston is the author of jPlayer, and as such has the wonderful ability to identify things that can be improved when it comes to web-based audio or video. At about 24 hours to go we realised that although things were working, laptop fans were spinning and things were perhaps a little slow to load. Bringing Mark in also helped me psychologically - suddenly things got git-hubbed and there were two people under pressure coding and bouncing crazy ideas off each other. Hilarity usually ensues - it was fun and we went twice as fast and pretty much implemented every feature I'd hoped to and made for an enjoyable three-legged sprint!
Of course there has to be a price to pay for all this slackness and due to the plan of releasing immediately after receiving the transcript we had a few problems getting things working initially and sure enough we didn't test thoroughly enough and similarly to how you only notice your spelling mistakes after you send that important email, we hadn't noticed a subtle but vital bug until after the interactive had actually been published. The good news was we fixed the bugs and thanks to the fact that we were using client-side only iFramed sandboxed code that lived on a server that Mohammed could easily deploy too, we managed to deploy any changes relatively quickly
I mentioned that a large measure of success in the journalism sphere is how many people read/use your work and I was pretty disappointed by the reaction to the interactive. Many people praised it but not that many people used it. To date we've had 389 Facebook likes and 203 tweets.
At one point @ajenglish with its 1.3 million followers tweeted it and we only got 14 retweets off the back of that. One theory was that there was lack of interest possibly due to timing caused by the fact that we had to wait almost 18 hours to get the transcript and it was an hour or so before we got everything working as we should. Another theory was that performance was lacking.
You can judge for yourself http://www.aljazeera.com/indepth/interactive/2012/10/20121049528478583.html
But the good news was that the low level analytics I'd built into the app worked and we were able to analyse how people were using the interactive (all this without creating any back-end code). That information was fed-back into the piece as :
The top searched keywords: Economy, Big bird, Obama, Jobs, Iran, Tax, Health, War, Obamacare, Taxes
So we've been around the loop another time this week, but less frantically and as I wait for the transcript to come in and write this blog post (when I really should be testing things), my expectations are lower, especially as general interest in this debate seems more subdued, but whatever happens we've got two more shots at it after this one! Iterate or die! :)