I have been aware of HTML 5 for several years now and many people have asked me if I see it as a threat. This question usually is posed in the context of the fact I work for Adobe and Apple has made statements such as “HTML 5 will replace Flash”. I have thought about this hard and long from a number of different angles and felt it may finally be time to speak up. Yeah – it took a while and Steve Jobs has told everyone how lazy we are. You see, I only do around 125 speaking engagements a year (an average of over 2 per week), travel around 300,000 kilometers as well as raise a family, play in a rock band, write books, white papers and technical articles, visit customers, produce episodes of Duane’s World for Adobe TV and more. I am not sure what constitutes lazy but I can’t do any more than I am now without sacrificing my family life so call me lazy or whatever. I don’t really care.
I have already divulged that I work for Adobe and I want to be pragmatic and transparent in this blog post. Some may take this as a slight against Apple. It is not. Adobe doesn’t rant. I rant on my own time to make up for it but this is not one of those times.
In case you haven’t heard, HTML 5 is a successor to HTML 4 and it will carry a set of new features such as native video capabilities, variables and more. The theory some have put forward is that because HTML 5 will have video, this will hurt Flash. To begin, let’s look at what Flash has done. If we had simply let standards bodies decide innovation, many of the top Web 2.0 patterns would not have developed. Microsoft introduced the XMLHTTPRequest objects which lead to the rise of AJAX. Adobe created Flash for rich visual user experiences and PDF for high fidelity documents while other technologies such as microformats and browser plugins to read them have extended the base set of web standards. Several vendors worked on Application Servers and specialized server pages written in PHP, Java Server pages and more. Jeremy Allaire developed ColdFusion, still working so well today I was recently in an account that had CF version 1.1 running. This is the innovation that drives standards. None of this stuff came from standards and most of it used standards whenever possible. Eventually, some of the innovation gets commoditized into standards or browsers. Tha’s life in the tech world. It happens!
If the Video bits get commoditized, so be it. Then we have to place a grand deal of trust into the browser vendors to consistently implement the behaviors and user interface controls so that there is a consistent web experience. It is with this thought that I start to see fractures in the arguments of HTML 5 replacing Flash. Individually, each browser vendor will build and test their own work and generally release good quality products. Open source engines like Webkit and FireFox do well (another example of commoditization – remember when people actually used to charge money for browsers??). Let’s do some simple math to demonstrate the problem facing the web.
There are many browsers on the market (Internet Explorer 8, Chrome 2, Safari 4, Opera 10, Chrome 3, SeaMonkey 2, Camino 2, Firefox 3.5). Many of these run on multiple operating systems (Mac OSX, Windows, Linux, Unix) and have multiple concurrently used versions of each. The matrix is roughly 5 major browsers, times 3 major operating systems, times 3 different concurrent browser versions times 3 different concurrent operating system versions or around 125 major variations. Now factor in the diversity of screen resolutions, bandwidth speeds and several other factors and ask yourself this question – “is it ( highly probable || somewhat probable || probable || not probable ) that all the browser vendors will implement HTML 5 in a consistent manner?” Since this has not been demonstrated with CSS and HTML 4 today, I would think that it is possible, but some details might be a bit rough. Anyone who has developed AJAX applications or rich content that uses CSS knows and has performed cross browser debugging knows this. I am not saying Flash is perfect, but the fact you have a single runtime environment is appealing to many people. To that end, I don’t see Flash dissappearing anytime soon. People who hate Flash may jump all over this statement but I hate peas and they are still being served in restaurants and stores despite my best efforts to rid the planet of those slimy, round green vegetables.
The next consideration is how well people implement the standards, the main choices being full, somewhat or not very well. Take PDF as an example. The PDF format is an ISO standard meaning that it is in the hands of a fully accredited standards development organization. No one vendor controls it. Adobe Acrobat and Reader are the traditional reference implementations however others are completely free to fully implement the specification. Apple has not in Preview. Microsoft has done a much better job with PDF IMO.
Apple itself has done some great stuff to innovate the web. iTunes is certainly a great example and I will publicly state I love OSX. I own an iPhone and recently bought my 7th Mac. I drank the Koolaide and may change when Ubuntu 10.1 comes out. (see – I am really being transparent, even at the cost of looking like a hypocrit).
Innovation will continue as things get commoditized. This will force further innovation on the cutting edge. This is just the nature of the beast. This is not to be feared, it doesn’t mean Flash developers will suddenly drop Flash and only develop in HTML (if they did in a production environment they will probably be using Photoshop, Dreamweaver, Premiere Pro and After Effects anyways so I believe Adobe is well positioned in either case). Flex certainly is not going away any time soon. I don’t see any Web Services wizards being introduced in browsers or the ability to perform advanced data throttling and paging operations running across multiple browser platforms. Flex is there today.
Having said all of this, my final thoughts are that I am really thrilled about HTML 5. Adobe will be there as will everyone else. Let’s wait and see how it goes. I could be wrong. It wouldn’t be the first time and forking the web would be a bad thing. HTML 5 represents a great opportunity for the entire world. It represents a sharing of information, the corner stone to any democracy. it is in our best interests to get this right and work on it together.
Some of this may be flame bait so have at it. I’ve worked in standards for a number of years and base my thoughts off those experiences. If you want to flame me, go ahead. I live in Canada, it’s cold and I this is just my own opinion anyways. I think there are probably around 6.4 billion more opinions on this subject out there somewhere.