My pal Dean, a BFF if I've ever had one, sent me a couple of (rhetorical) questions the other day:
Will HTML 5 really replace Flash?
How long will this take?
My answer to the first one is super-easy: 'eventually'.
The second, on the other hand, is anybody's guess. XHTML 2 was killed not-so-long ago and HTML 5 took center stage as the future standard. No big deal for me – I just switched to 4 Strict DTD in preparation and type fewer slashes in my code. HTML 5 is adding a lot of great options with its media and animation support, but Flash has been a standard for over a decade, and Adobe has the Web in something of a death grip with its popularity (read: monopoly) as a video player.
Most browsers have (or will soon have) full HTML 5 support, so a lot of developers are excited to leave Flash behind in favor of 5's open standards, but it's just not that simple for most of us.
Enter Internet Explorer
With its broad market dominance and its notoriously slow-to-upgrade user base, Internet Explorer finds itself in yet another "what sucks about the web" rant.
If you were on the internet in the 90's then you may remember the First Browser War. The whole Netscape vs. Explorer fiasco was rife with proprietary code, little standardization and zero cooperation. This forced the development community into a whole lot of bad practices like table-based layouts or spacer images, and created prejudice against good practices like Cascading Style Sheets.
(If you created even a single web page in that time then you'll probably join me in praying to never have to publish the words "best viewed in" again.)
The Undying Browser
9 years after its release, I'm among the many web developers that still has to contend with Internet Explorer 6 – a buggy, quirky browser that supports little progress and just won't die. IE7 & IE8 have been great improvements, but they're bound to linger for a while, even if not as long as their predecessor.
Now for the "what sucks about the web" part: none of them support HTML 5 (at least not to any great extent) and, as long as they're commonly used, web developers just can't confidently drop Flash. Stuff would just stop working and there just aren't many of us in the position exclude anywhere from 30-70% of our visitors.
Inevitably, someone's going to say, "just code a sniffer and serve up a different page if HTML 5 is supported." To this I'll politely explain, "shut up". Twice the amount of work and support is money right out the window, which leads to another reason Flash won't be disappearing any time soon...
Flash Has the Tools to Makes Things Easier
It's been around for a long, long time and it's a core solution for a whole lot of problems developers face. Not only has Adobe (and Macromedia before it) had a long time to improve upon it but, more distressingly, web developers have had a long time to learn to depend on Flash.
Flash really does have a great toolbox – it has built-in solutions, 3rd-party components and an established scripting language – if a solution doesn't exist then chances are a skilled developer can make it for himself. HTML 5 Canvas is super-sexy, but until there are tools to make it easier for the bogged down developer then Flash will be a crutch for a few years yet.
Apple and iStuff
Apple hates Flash. Hate, hate, hate. I read that it's because they can't control it and it crashes Mac. Even though I wish I could play some of the zillions of Flash games out there or watch Hulu on my iThing, I know it'd be stupid for Apple to support the free alternatives because of just how much money the App Store makes.
Now we've got the iPad coming our way and, to my dismay, it doesn't support Flash either. On the other hand, it does have a really attractive price and some alluring bullet points, chief among my interests is the iBook. (Dear Santa. I want a pony, a sled and for Apple to get in bed with Amazon.) I'm no analyst, but this over-sized iPod Touch is going to sell millions (in time) and really will shape the way we interact computers for years to come. Anyone that watched Star Trek and envied those little data pads can join me in a knowing nod right about now.
Hoping Against Hope
I don't know that the iPad's lack of Flash actually changes anything immediately where the future of HTML 5 is concerned, but it does suggest that Apple is sticking to their guns. Maybe Apple's continuing snub on Flash will send Adobe a message. Maybe Adobe will finally see which way the wind is blowing and make tools to support HTML 5, or maybe Apple has something up their sleeve, but they need to be quick about it because some independent developers are already on the move.
Yes, we need a few tools to help us embrace the changes HTML 5 brings, even though we'll mostly just use our know-how. More importantly, however, we need the support of major players like Apple, Adobe, Google, Digg and Facebook. Once they make the switch and start forcing outdated visitors to upgrade their browsers then little guys like me will have a leg to stand on.
Regardless, web developers are in for another stand-off. Sorry, Dean, my answer to your second question is an emphatic shrug – I have no idea how long this will last, but you'll probably hear a lot of complaints about it.