Why are standards such a good thing?

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.

Tags: