2 notes &
Newsrooms and Shipping

Sometimes I have trouble shipping, I think this is a common problem in the software world. Nothing is ever finished is it?
A great advantage of working in a newsroom is that people are constantly shipping. The product changes from hour to hour, so you need to get on with it and get things out. There’s no choice. I’ve sat with people as they rushed to put together a breaking story, the excitement is quite palpable – very similar to that feeling you get as a developer when you’re about to deploy a new version of your app. That shipping feeling.
There is usually of course a great disparity in time between shipping a story and shipping a software product.
However it is the atmosphere of shipping that interests me and it’s something that I’m really appreciating while working with Al Jazeera English. It has been both motivational and inspirational to work with the people there and to take on-board the culture of ‘getting-things-out-there’.
As a software developer a news website is a perfect place to get your projects seen, viewers will generally appreciate that news is a transient medium and naturally give you a bit of leeway. After all, you’re not creating an app that they have to use every day, maybe just some interactive video thing that they watch one programme on, or an audio slide-show they let play for 5 minutes, a quick visualisation perhaps.
Recently I have been working on an “interactive video thing”. Admittedly it took a few iterations to get right and we took a very reactive approach as we worked through those iterations, varying both content and function. Many features were tried, adjusted or simply removed. It took a while to get right – but as part of that process we demoed and sought feedback from the wider developer community, we even soft-launched a version as suitable content came along. Finally we got somewhere near to where we wanted to be and we launched.
The “Internet Indians: In Contextual Video Player” aims to add a bit of interactivity to the standard video experience. The idea being that while the video is playing additional info is displayed to the viewer. The viewer can then interact with this info using social and playback controls. Social control in this context means that they can easily tweet an excerpt of that additional info and link that to the part of the video it relates to. The player was also built with the consideration that media can be consumed in different forms and on different devices. To this end and with the idea that the viewer should determine the level of interactivity, we baked in a more passive full-screen mode. We also made sure that the app could be ‘detached’ from the page and be used on various mobile devices.
Technology-wise we opted for Popcorn.js which gives us good control over time generated events and as our player framework we used jPlayer which was skinned and extended to work with Popcorn. I can’t help feeling that having an application in a constant state of flux is a good thing. We were used to changing things about completely and managed to incorporate two new building blocks as they came out. The first of these was an IE8shim for Popcorn that together with jPlayer allowed us to target the vast majority of browsers. The second was the excellent Tabletop.js which helps you grab data from a Google Docs Spreadsheet and incorporate it into your application, live. This gave us a rough, ready and entirely usable content management system allowing the editors to quickly and easily add and view content.
We learned a lot developing and a few things deploying, especially about iFrames and cross domain restrictions. There were a few glitches initially, but we soon got them ironed out. Our code was client-side and sand-boxed in an iFrame and so it was very easy to deploy without having to go through the official security procedures that exist for server-side apps.
Agility aside, the biggest lesson learned was not to fear shipping. Whatever you will do will never be perfect and it’s transient anyway.
Now that we have these versions out, we have measured, taken on-board feedback and taken stock, we are very ready to move on, take things to the next level and I’m raring to go – I want that shipping feeling back.