Just To Put Things In Perspective…

Ever since Apple announced their new iPad, I’ve been reading a whole lot about how HTML5 will replace (I believe “kill” is the preferred term) Flash. Most arguments state that the emerging HTML5 spec includes such things as <canvas> and <video> which effectively renders the need for Flash a thing of the past… seriously? I wonder when the last time these commentators have read up on the vast capabilities of the platform; Flash is much more than any simple animation and video playback mechanism as these people seem to believe it to be.

I did a little research. HTML5 has the following new features (proposed, mind you) that share some similarity with what Flash can do:

Audio Playback -> Flash 4 [1999]
Video Playback -> Flash MX [2002]
Canvas (2D Drawing) -> Flash 1 [1996](Timeline) / Flash MX [2002](API)
Offline Storage -> Flash MX [2002] (Local Shared Objects)

So… far as I can tell, HTML5 will share some capabilities with Flash MX circa 2002.

Understand that I’m not trying to in any way bash HTML5 here. I remember when I was first learning HTML and the frustration I had upon the realization that there was no video or audio tag to simply playback a piece of media. I welcome such innovations and truly hope that after the video codec battle and other disputes are over that we have a truly ubiquitous solution for marking up text and media content for the Web.

In fact, I do a lot of development in HTML/CSS/JavaScript currently and would love to be able to use some of the innovations presented in the HTML5 spec along with some of the CSS3 elements I’m adding into my work. Yeah, my main deal is Flash/Flex/AIR – but that’s the thing; these technologies work well together; they complement/complete one another. It would be absurd for me to state that I want HTML to “die” — just as absurd as it is for others to say the same regarding Flash.

So I have no opposition whatsoever for HTML to evolve and mature as the Web itself grows richer in data and presentation- but Flash is not HTML and HTML is not Flash. I know this is nothing new to a lot of you but apparently a lot of others have trouble with this concept. For a simple example: Flash has some trouble rendering any HTML but for the simplest tags. Do I fault Flash for this? No! HTML for years has not been able to render native video or provide any of the rich application experiences that the Flash Platform enables. Do I fault HTML for this? Equally, no! The purpose of Flash is not to render or replace HTML in what it does best and the purpose of HTML5 should not be to replace Flash in all that it is capable of.

Let’s look some basic facts. HTML 4.01 was finalized and published in December of 1999. At this time, Flash was at version 4 which included the capability to do much of what is now proposed in draft form for HTML5. When will HTML5 be finalized? The editor of HTML5 specification, Ian Hickson of Google, outlines the timeline as such:

  • First W3C Working Draft in October 2007.
  • Last Call Working Draft in October 2009.
  • Call for contributions for the test suite in 2011.
  • Candidate Recommendation in 2012.
  • First draft of test suite in 2012.
  • Second draft of test suite in 2015.
  • Final version of test suite in 2019.
  • Reissued Last Call Working Draft in 2020.
  • Proposed Recommendation in 2022.

2022. I kid you not.

Granted, much of the spec is considered stable and certain items can be used in web browsers today. Just as with the browser wars of the late 1990′s there are many different interpretations and implementations of the specs with multiple vendors all vying for their specific interpretation to emerge as dominant. History does repeat itself, doesn’t it?

Think on this… if HTML5 is going to be a work in progress until 2022… where will Flash, Sliverlight, Unity, and others be at this time? Given the present release cycle for Flash Player, one could assume that 2022 will see the release of Flash Player 17 or so, if Flash is even still a viable platform at that time.

Food for thought.