this space intentionally left blank

January 6, 2010

Filed under: journalism»new_media

Standard Eyes

As part of my new team leader position at CQ, I get to pick which technologies and platforms our multimedia team will use for its projects. This is less impressive than it sounds: for content management reasons, our team often has to work separately from the rest of the CQ.com publishing platform, so it's not like I get to decide the fate of the organization. In any case, today I want to talk about a particular aspect of the limited power I do have: the use of "web standards" in creating online journalism.

Almost nobody thinks of news organizations as online tech leaders, but we create a lot of content that regular people (i.e. not nerds) actually read and interact with. There's a strong push online for content creators (including media organizations) to employ standards--and by standards, what's usually meant is strict HTML (including the proposed new tags in HTML 5) instead of Flash. It's an approach with several advantages, including searchability (unlike Rupert Murdoch, I welcome search engines), mobile readiness (until Adobe gets their ARM plugin working), better text and mash-up capabilities, and better UI consistency. We generally start project planning with HTML/Javascript as a possible solution.

But it's wrong to think that we should avoid Flash for ideological reasons instead of jumping in the moment it becomes more convenient--and frankly, the "web standards" approach is often anything but convenient, particularly for interaction and rich graphics. Building good-looking UI components out of div tags or fighting with stylesheets is not my idea of a good time. And it's not just painful, it's much less productive compared to the rapid pace of development in Actionscript. I personally feel that the speed factor--the time it takes for me to write a complex, rich application--is something that web standards groups aren't spending enough time on, frankly. The <aside> tag won't help me create content faster, while making CSS behave in a sane and easily predictable fashion would, but there are working groups for the former and seemingly none for the latter.

(Advocates for these "semantic" tags, by the way, would do well to read Arika Okrent's In The Land of Invented Languages, particularly the parts about the "philosophical" conlangs, which attempted--and failed miserably--to create a logical, self-evident classification for all the concepts we express in our messy and meaning-overloaded "natural" languages. Sound familiar?)

HTML 5 proponents point to its new tags (such as <canvas> or <video>) as alternatives, an idea that should make even the most inexperienced Actionscript developer chuckle in cynical mirth. Canvas in particular is phenomenally unsuited to replace Flash's animation and interaction capabilities, as a single glance at the API tutorial should make clear. All drawing is done manually on every frame, transforms are awkward, and compositing is done in the most confusing possible manner. It's fine for simple graphs and charts, but I'd have to re-implement the equivalent of Actionscript's display list--its powerful, tree-based rendering engine--and its event dispatch libraries from scratch before canvas could be useful. Our team's time is too valuable to spend hacking around on that kind of low-level functionality instead of producing actual journalism. Not to mention the time it would take to replace Actionscript's enormous library of other utility code in the DOM (also known as the world's worst programming API).

Besides, the realpolitik of the web is that most of our readers are probably still on IE, and it has no current or planned support for canvas, much less audio and video tags. We're producing work for a mass audience--we can't afford to be purists, especially since more people have Flash Player installed than have a browser capable of high-performance JavaScript anyway. Flash is more consistent across browsers than supposedly "standard" code, as well. Ultimately, it's managed to do what Java never really managed, and what the browser has accomplished only with great difficulty: create a cross-platform application platform that people will actually use.

All of which to say that I just can't get worked up when people start ranting about killing off Flash and replacing it with "standards"-based design. As far as I'm concerned, Actionscript has become a de-facto standard for the web, one that anyone can leverage (the free Flex SDK and FlashDevelop IDE are a must-have combo). By all means, let's put pressure out there for less centralized and more open solutions, ones that aren't owned by a single corporate entity. But in the meantime, if we want to get things done, there are two options. We can shun Flash out of spite, in favor of solutions that require more work for less return. Or we can start telling news stories in interesting ways using this technology. I know which path my team is going to take.

Future - Present - Past