Archive for April, 2010

Dropping a Stone and Watching the Ripples

My post yesterday on the Flash v. HTML 5 “debate” managed to get this blog a lot more eyeballs than it’s had in years – probably since 2003 if I’m honest. And yeah, that was kinda fun – I haven’t really stirred up a hornets nest like that in a long time. What I really appriciated was that some people actually wanted to TALK about the issue and just yell over each other. I actually learned a lot from the discussion – both in terms of better understanding other’s views and in finding out about some pretty damn cool projects.

On the views side – I heard from a Flash “hater” that was very, very clear in why he disliked Flash down to a use-by-use level. He’s on linux, and while that is a distant minority platform, his experience with Flash has been appalling and I totally understand his frustration. When Automata builds Flash-based projects we always work to provide the best solution we can for users who can’t or don’t want to run Flash, but this is far from a universal technique. To see or do many things online you just HAVE to have Flash – many times when it, quite frankly, makes no damn sense (I’m looking at you Chipotle, and no, you don’t get a link). I think we, as Flash developers, need to advocate better for the PROPER use of Flash – since quite frankly, every bad use of Flash makes all of us, and our favorite platform look bad in the eyes of a growing number of users.

On the project site, one of the most interesting projects that was brought to my attention was RaphaĆ«l – a JavaScript library that wraps up the various vector drawing/animation functionalities present in modern browsers (VML in IE and SVG in everything else) into a single library that works just about everywhere. It looks quite easy to use and it is quite suitable for production work (as evidenced by this site for the the new Nissan Leaf).

Little Boxes, in the Browser…

Little boxes...

Little boxes on the hillside...

“…little boxes made of ticky tacky…”

I work on making those boxes just about everyday – those blinking, glowing, beeping boxes that hold an instance of the Flash Player. Some people seem to think that my boxes should be derided and ridiculed like the cookie cutter suburban homes (and lifestyle) the song “Little Boxes” was originally written about.

The problem is that conformity is on the wrong side of the debate this time around – it’s Flash that works to push new forms of media and interactivity out on the web, HTML 5 is just playing catch up.

Yes, this is my post about “The Great Flash vs. HTML 5 Debate of 2010″. Many other people have written about this (I’ll add some links to my favorites in an update later) but my take on it is that a lot of people are missing the point and “yelling” just to yell. HTML 5 is, in some ways, catching up with Flash – but Flash is just going to keep moving forward, and that’s good for everyone.

Overall, the debate (if you can call it that) has been very odd because it’s possible to be an HTML/CSS/JS developer and never use Flash, but it’s very difficult to be a Flash developer and NOT be well versed in the other tools of the web development trade. This has meant that one side of the debate has actual technical familiarity with BOTH technologies in question and the other side only knows “their side”. Folks from that side of the debate seem to see Flash as an abomination, a scourge that must be purged from the web – but why? I hate to say it, but it’s about conformity – it’s cool to hate Flash and entirely ignore it’s merits.

It’s all gotten quite silly really. So, as the owner of a software development shop that creates interactive media for the web in many different technologies (including Flash *AND* HTML/JS) let me lay down a few facts about the technologies in question and how they affect my business:

Yes, HTML 5 supports video and yes there’s still some dust to be settled about the codecs – that’s well worn territory. What isn’t often discussed is the fact that Flash can do so much MORE with video. For starters with Flash you have alpha channel support – with HTML 5 you’ve got video in a box, that’s it. Now that’s not to say you can’t do cool stuff with HTML 5 video – but no green screen action. Then, don’t forget about DRM (I don’t care about it, but ask Hulu or CBS and I’m sure you’ll get a different reaction) and video input. Could you build Chat Roulette with HTML 5? Nope.

When I start new projects with clients we usually spend time debating which Flash Player version we should target. Usually we’re talking about a 5-10% difference (say 92-97% penetration) – but across millions of users, that’s a lot. To put that in perspective, right now, somewhere around 60% of the browsers in the hands of users aren’t capable of rendering the canvas tag. If I’m targeting a general audience, the canvas tag is essentially unusable for me right now and will be for some time to come. That doesn’t even touch on the fact that NO major animation tool (actually I don’t know about any!) currently targets canvas as an output format. If you have kids you’ll see the major problem here – just sloughing off an animated GIF onto junior just isn’t going to cut it these days.

Finally (well, for this post at least) there is audio. What kind of audio support is there in HTML 5 and the other related technologies? Well, you’ve got playback but that’s about it. No synchronization, no volume control, no panning and definitely none of the low-level features needed to make something like, say, Audio Tool or the virtual DJ toy my studio recently released, Shmitty, McFunkle & Stump’s Beats.

What this all comes down to is this simple question: Where does innovation in interactive media on the web come from? It’s not from committees and standards bodies – it’s from de-facto standards that win because they are BETTER and offer MORE than is possible by working within the standards alone. Like it or not, the web, for many, many people, is just an entertainment medium. HTML still has a ways to go to match the kind of entertainment you can build with Flash.

Finally, I want to make this very, very clear – I really want HTML 5 to succeed. There’s a lot of promise there and my team and I are busy working with canvas and other HTML 5 technologies where and when we can. What I don’t want is for Flash to die, and you shouldn’t either – it pushes the web forward in a way and at a speed that a standards body never can.

I mean, if Flash dies, where will HTML 6 borrow ideas from?

Thanks to Malvina Reynolds for her awesome song lampooning the rise of cookie-cutter suburbia, it’s been a favorite of mine since I was a little kid.