Flash: First the iPhone, soon the Desktop?

Or: Why I’d like to lose Flash Websites without losing Flash

I’m not shy about my disdain for Flash sites. I block and selectively load Flash content with Click2Flash, seen below.

Click2Flash blocking a SWF

I don’t have a categoric objection to the existence of Flash or the Flash Player, but Steve Jobs is right: Flash crashes a lot, uses far more processing power than is appropriate, and most Flash sites not only suck, but break web conventions and treat the user like a trained monkey (“Skip Intro”). There are Flash sites and sites with Flash content that I load and use, but it does feel like I’m putting up with Flash rather than choosing it.

I understand why people build stuff in Flash. It does have its advantages: It’s a fairly rapid development tool accessible for designers and can be used to create interactive multimedia experiences that are adequately consistent across browsers and (desktop) platforms.

When Flash site development started in earnest with Flash 4 (featuring ActionScript 1.0, the least buggy version of ActionScript 1.0 ever released) around 2000, the web looked a mess. Certainly, cross-browser design is no cakewalk today, but if you ever spent a hour tracking down a Netscape rendering bug in your web application only to find it was a result of an errant whitespace character–which according to spec has no affect on how code is parsed–then you know why so many people (myself included) were building UIs in Flash around the turn of the millennium. Cross browser development sucked and it sucked hard.

Furthermore, you simply could not do many of the things in HTML that you could do in Flash. Motion? Nope. Streaming Audio? Nope. Interactivity? Nope. Decent typography? Nope. Video? Nope, but that didn’t “officially” work in Flash either.

So, like any tool worth a damn, Flash showed us a slice of what we could build. It sparked a lot of thinking about what we could do on the web, and it turned out that the coolest shit we could do is shit that HTML and CSS couldn’t do. The tradeoff was that plugin version checking and installation was a nightmare for users. But, hey, we were making omelets.

Now that it’s 2010 and we have HTML5 we can do some pretty cool shit without plug ins. Video? Hell yes! Streaming Audio? Hell yes! Vector graphics? Hell Yes! Decent Typography? Hell–err, well not really, but it is a lot better than it used to be (to the nerd who objected to that statement: use CSS make me a properly kerned headline set in Goudy that I can view in Firefox. Go ahead. I’ll wait.)

But look at the time table. HTML 5 is the first version to really try and tackle these features and it took 10 years to get here. Sure, “here” is an improvement, but there’s still a lot of things we’ve been doing in print for hundreds of years that we still can’t do on the web. And it’s 2010. Twenty…fucking…ten.

So yes, I block Flash. Yes, I’m relieved that it’s not on the iPhone and iPad. Yes, I wish we could just be done with it. Moreover I wish that we had effective tools to craft great experiences on the web regardless of technology.

Adobe and Apple are limited only by their own determination to build or block whatever technology they want. HTML/XHTML and CSS are standards coddled, defended, sent to band camp and kept back in 4th grade by the W3C until–from historical data–they are finally implemented reliably across browsers only after the Proposed Recommendation for the next version of the standard has been finalized.

Proprietary technology requiring an overpriced desktop app to create may be a horrible substitute for an open standard created by an “impartial” standards body, but it does provide competition–after a fashion–and if we loose it I’m not sure we could count on the W3C or browser builders to deliver forward-looking tools and features that will allow creative people to do amazing things on the web.

It’s a wicked problem for which I have no suitable solution.