Inevitably when I read about someone proposing HTML over Flash one of the top arguments is because HTML is standards based. I wonder what people think that means. They say it like standards based is a decree from some spiritually evolved being who has blessed their way of writing code.
But of course that isn’t the case. The creation of the HTML standard has much in common with how a governing body creates it’s laws. And as Bismark said, “There are two things that you don’t ever want to see being made: laws and sausage.” Remember, Bismark said this back in the 1800s when sausage was really the crud left around after the good, bad and ugly parts had been packaged.
Everyone in the know realizes that the HTML standard is dominated by a handful of corporations - Microsoft, Google, Apple, Adobe, etc. – who all have their own agendas in mind for what is added and what isn’t. What this creates is a slow moving process with lots of politicking between corporations and even internecine battles going on within each corporation. Don’t be fooled into thinking that each corporation sends forth their most revered employees to represent them in some council of elders type meeting. It’s more like the U.S. House of Representatives in action and we all know how that’s working out – or not working to be more accurate.
On the other hand the Flash Player and AIR runtime are completely managed by one company: Adobe. Adobe listens to their community – a little – and to their customers – always. The Flash Player costs the user just as much as the Firefox browser costs – nothing. Why does Adobe put in such a vast amount of work on these runtimes that they give away? Because they make tools to create on these platforms that do bring in money.
However Adobe doesn’t have to do any politicking in order to add features to their runtimes. If they want something they add it. If the HTML standards process is like the U.S. House of Representatives then the process for updating Flash is more like a decree from a benevolent dictator.
That Adobe has absolute control over Flash seems to be a big concern for many people. It is absolutely true that Adobe could completely screw it up. But if we look at the track record then here’s what is clear:
- Adobe has steadfastly made incremental improvements, and sometimes jaw-dropping improvements, to the Flash Player.
- In this age of security vulnerabilities no one can match the speed with which they can get updates out and onto users machines. And I might point out that they own up to their security vulnerabilities and fix them promptly unlike one corporation we all know that lied to their customers and tried to pretend that a vulnerability didn’t exist.
- Adobe has maintained 100% backwards compatibility. A SWF created in 1998 runs just as well today as it did then. ( The only exception to this 100% backwards compatibility is when a security vulnerability is involved. )
The HTML community has much to be thankful to the Flash Player for. Advances to the Flash Player are trickling down into HTML. But there is one feature that the Flash Player has had since it was a beta product that HTML should have adopted: that it is a plugin – let me explain.
When you install a browser it comes with a HTML rendering engine. That’s how it has always been. And that’s a shame. Because a browser is the thing that manages your bookmarks, navigation between sites, tabs, extensions, and of course plugins. If the HTML rendering engine were a plugin instead of baked into the heart of the browser then it would be much easier to update just the rendering engine. Or better yet switch from one to another. How awesome would it be for HTML/Javascript developers if they could create a website and use <meta-tags> to inform the browser of which rendering engine to use?
There would be no need to test websites across multiple browsers and browser versions. Build your website; test it on one single HTML rendering engine and then expect that anyone that comes to your site will either have the correct renderer or can be prompted to easily get it. Just like we do with the Flash Player.
The big bonus would be that that advances to HTML could be made much faster this way. No need to wait until 2024 – as some people have projected – before you can safely utilize HTML5 for the broad audience. You could jump on it today. However, we both know that this will not happen. The HTML renderer is going to remain chained to the browser. At best this will just mean business as usual for HTML development – code, test here, test there, test everywhere…client informs you that his sons, girl friends, cousin reported that the navigation doesn’t work on browser-X.
The worst-case scenario is that the browser will be relegated to the likes of Archie, Gopher, Veronica, etc. as applications become the most popular means of delivering rich content and games. Admittedly the same could happen to Flash as well but seems far less likely given it’s superior ability to roll with the times.




This is all Flash déjà-vu. The HTML rendering engine is way too much ingrained within the core OS to make it a viable proposition. Look at Apple, look at Microsoft, their respective rendering engine are all hardware accelerated.
Those vendors could make a plugin API based on OpenGL, OpenCL, DirectX 2D, 3D etc,… But if history is of any value third party vendors like Abobe would simply chose the lowest and least performing common denominator.
Not even considering this risks that is poses if a single party starts to dominate. IE6, Flash anyone ?
I’m not really suggesting that browsers adopt a plugin model for HTML renderers at this point. Well, I guess I am but realistically it’s just not feasible for the reasons you mentioned. That ship has sailed.
The risk of one renderer dominating isn’t really an issue. As long as there is an infrastructure for users to have options it wouldn’t matter if one renderer had 90% penetration.
Even with the big boys contributing heavily to the html standard, for some reason it seems that they still can’t all consistently build browsers to conform to that standard. As time goes on, there are browsers that I’ve stopped checking (like IE6)…..but between IE7 (which I hate) and IE8, Chrome, FF, Safari….it seems I’m checking more browsers than ever before. While I’m finding less and less problems on the most recent versions of those browsers…I’m still finding differences that aren’t trivial. Luckily most of the differences are between the browsers and (of course with the exception of IE) and not between different versions of the same browsers (e.g. if it works on FF Ver 7 I usually don’t need to check it on FF Ver 3).
I love your idea of a plugin as the rendering engine. That would make our lives so much simpler. I guess if I wanted a simpler life I would have chosen a different profession :)
You nailed it. There must be something wrong with us for seeking out this sort of torture. :-)
Interesting read. HTML5 will certainly have cross browser compatibility problems, even AFTER they finalize the spec. Why call it a “Standard” is beyond me.
Even though HTML5 should replace many basic effects that were previously done in Flash, Beware of what people find fashionable with new buzzwords. It’s leap folds harder to do a fairly complex app in HTML5 than in Flash/Flex and certainly more maintainable. Though some things are currently impossible for HTML5. Like Audio.
Every time we see a fade and swoosh in HTML5 it makes it to the TechCrunch front page, and web developers go crazy over it.
Wanna impress me. Do something Flash can’t.
@underlabs “Wanna impress me. Do something Flash can’t.”
Right on brother!
HTML is standard based… and ActionScript isn’t ? (“To be, or not to be, that is the question:”)
HTML comes from HyperText Markup Language, which, by it’s very name, tells us that is a language. As far as I know, any language has a standard, a set of rules, generally accepted in order to ensure correct encoding and decoding of the information being passed from one entity to another.
Now, ActionScript, being a language, has it’s own standards, isn’t it ?
In my opinion, this kind of debate should honor Flash, for the very reason of competing with Goliath – HTML5 standards will be adopted by every browser.
It’s nice that some people panic and feel the need to flee away from ActionScript (trying to create noise about it – e.g. “we all should flee”), just because they saw another standard that creates competition.
This tells us a couple of things about them : first, how good they are / were in speaking a language which, suddenly is no longer good enough. Secondly, how convinced are they about their saying, since they launched a debate to convince themselves that they are right.
I’m strongly convinced that the world shouldn’t pay attention to this kind of (marketing) games – known being the fact that articles which polarize opinions are bringing a lot of traffic. A good developer won’t go there for the very reason of using the right tool for the right job…
Badu recently posted..Flash Professional CS5 Verify Error #1014
@Badu It isn’t accurate to compare Actionscript to HTML. Actionscript is a programming language and HTML is a markup language. Comparing HTML and Flash is more accurate because what’s really at the heart of the issue is the Document Object Model. The DOM for HTML is supposed to be consistent but is not. The DOM for Actionscript is consistent because there is only one Flash Player.