Six months after Apple v Adobe first became headline news, I found myself in the basement of a pub explaining how the Guardian builds interactive news features. Although we've made heavy use of Flash in the past, we're currently evaluating the promise of standards-based authoring and I wanted to share some of our findings.
The intrepid London branch of Hacks/Hackers invited me to speak about creating interactive pieces in a newsroom. The audience was a mixture of coding types and journalists, so I wanted to discuss our process without getting too hung up on technical details. Since everyone seems to be singing the praises of HTML5, I wanted to take a practical view on whether it could be used to make some of the pieces we've produced recently at the Guardian.
Our existent workflow copes well with rapid authoring and that's helped a great deal by the tools we use. Creating interactives requires constant dialogue between designers and developers, and the ability to port Adobe Illustrator files into Flash makes this fairly seamless. While Adobe are starting to broaden their tools to encompass the new technology, it's still early days – and in the fast pace of the newsroom, speed and reliability are big factors.
On the plus side, vector drawing, animation, realtime image manipulation and 3D graphics are all there; good start. Features like web sockets and web workers bode well for the future. However, in its current state, the lack of cross-browser consistency and unpredictable performance means we'll have a hard time bringing people comparable experiences. Moving through a series of our more successful pieces, it seems that each one has one or two ingredients that are hard to replicate without Flash. For example, although HTML5 contains greatly improved audiovisual features, it would be difficult to reproduce April's sound map of Caledonian Road without more reliable audio synchronisation capabilities. That said, we look forwards to continued experiments in this area and would imagine that better tools are round the corner.