Wednesday, January 12, 2011
« TFS extensibility | Main | CSLA .NET training in Feb 2011 »

Anyone who expected HTML5 to be more standard or consistent than previous HTML standards hasn’t been paying attention to the web over the past 13+ years.

Google’s decision to drop H.264 may be surprising as a specific item, but the idea of supporting and not supporting various parts of HTML5 (or what vendors hope might be in HTML5 as it becomes a standard over the next several years) is something everyone should expect.

I have held out exactly zero hope for a consistent HTML5 implementation across the various browser vendors. Why? It is simple economics.

If IE, Chrome, FF and other browsers on Windows were completely standards complaint in all respects there would be no reason for all those browsers. The only browser that would exist is IE because it ships with Windows.

The same is true on the Mac and any other platform. If the browsers implement exactly the same behaviors, they can’t differentiate, so nobody would use anything except the browser shipping with the OS.

But the browser vendors have their own agendas and goals, which have nothing to do with standards compliance or consistency. Every browser vendor is motivated by economics – whether that’s mindshare for other products or web properties, data mining, advertising, or other factors. These vendors want you to use their browser more than other browsers.

So in a “standards-based world” how do you convince people to use your product when it is (in theory) identical to every other product?

When products have a price you could try to compete on that price. That’s a losing game though, because when you undercut the average price you have less money to innovate or even keep up. So even in the 1990’s with Unix standards vendors didn’t play the pricing game – it is just a slow death.

But browsers are free, so even if you wanted the slow death of the price-war strategy you can’t play it in the browser world. So you are left with “embrace and extend” or “deviate from the standard” as your options. And every browser vendor must play this game or just give up and die.

This happened to Unix in the 1990’s too – the various vendors didn’t want to play on price, so they added features beyond any standard with the intent of doing two things:

  1. Lure users to their version of Unix because it is “better”
  2. Lock them into your version of Unix because as soon as they use your cool features they are stuck on your version

The same is true with browsers and HTML5. All browser vendors are jockeying now (before the standard is set) to differentiate and shape the standard. But even once there is a “standard” they’ll continue to support the various features they’ve added that didn’t make it into the standard.

This is necessary, because it is the only way any given browser can lure users away from the other browsers, thereby meeting the vendors’ long term goals.

People often say they don’t want a homogenous computing world. That they want a lot of variation and variety in the development platforms used across the industry. Over the past 13+ years HTML has proven that variation is absolutely possible, and that it is very expensive and frustrating.

Working for consulting companies during all this time, I can say that HTML is a great thing. Consultants charge by the hour, and any scenario where the same app must be rebuilt, or at least tweaked, for every browser and every new version of every browser is just a way to generate more revenue.

Is HTML a drag on the world economy overall? Sure it is. Anything that automatically increases the cost of software development like HTML is an economic drag by definition. The inefficiency is built-in.

The only place (today) with more inefficiency is the mobile space, where every mobile platform has a unique development environment, tools, languages and technologies. I love the mobile space – any app you want to build must be created for 2-5 different platforms, all paid for at an hourly rate. (this is sarcasm btw – I really dislike this sort of blatant inefficiency and waste)

But I digress. Ultimately what I’m saying is that expecting HTML5 to provide more consistency than previous versions of HTML is unrealistic, and moves like Google just took are something we should all expect to happen on a continuing basis.

Wednesday, January 12, 2011 1:23:28 PM (Central Standard Time, UTC-06:00)
I don't agree that vendors need to differentiate in supporting or not certain specs. In fact, that's the less aspect why a user chooses the browser.

IE: Perfect Windows integration
Firefox: Big plug-in ecosystem
Chrome: Fast
Safari: Apple style

Eduardo
Wednesday, January 12, 2011 1:28:21 PM (Central Standard Time, UTC-06:00)
I'm going to respectively disagree with this post - I'm not so sure it will be the "standards" support that differentiate browsers. I believe it will be the browser speed, the user experience, the extensions, security and branding that differentiate.

It's not in the browsers best interests to have vendor extensions that aren't fully integrated into the "HTML5" suite of specs. This is because web designers will eventually shoot for the lowest common denominator to ensure their designs just work (which it is all really about). There will be definitely some politics played when it comes to which standards a browser embraces - and Google's decision to drop h.264 is a perfect example of this.

HTML might still be a "drag", but the stack has come along way in the past 5-8 years (especially outside of the walled garden of Microsoft). It can now be remarkably efficient to build web applications (even when stacked up against my favorite technologies of WPF/Silverlight).

Maybe my perspective is skewed though, I am not a consultant looking for a way to gain an extra "quick buck", but are simply a developer who wants to develop high quality, cost effective software..
Brad
Wednesday, January 12, 2011 8:17:57 PM (Central Standard Time, UTC-06:00)
I agree with Eduardo. I didn't switch from Firefox to Chrome because they rendered html any differently or supported some standard/format better. It was purely for speed.

There are a lot of other features in a browser besides the html that it renders.

This wasn't the point of your post, I know, I'm just saying that even if all the browsers implemented the standard the same way, there would still be a market for multiple browsers.
Ben
Wednesday, January 12, 2011 9:45:43 PM (Central Standard Time, UTC-06:00)
I guess I should have been more clear. It doesn't matter at all what browser developers use. It matters what end users use, because ultimately that's what we need to target in the end, no matter what browser we prefer to use as geeks.

This is why such an amazing amount of web development still targets IE6 - many companies still run that browser as a standard (much to everyone's sadness except apparently their IT groups).

So the real question is whether, if all browsers are completely and exactly in support of the standard (a pipe dream by itself), you can convince any sizable number of end users to install your alternative browser (anything that doesn't ship with their OS)?

Some might install something other than IE because they've been told by geeky friends that Microsoft is evil. Some might install something other than Chrome because Google is evil, Apple is evil, Firefox is communist, etc. But that's a minority even today - normal people aren't like us, and don't actually believe any of that BS.

As idealistic as I might have once been, I make my living by building software for the platforms end users really run. That's been, and continues to be, Microsoft - but before that it was the VAX, and in the future who knows...

(still - long live the Amiga - that's really where we should all be right now!! :) )
Thursday, January 13, 2011 3:03:16 AM (Central Standard Time, UTC-06:00)
I agree but browsers can actually support the HTML tags at least so the presentation is the same.

And they can differ in extra features. these features like the current Browser hacks are what creat the market edge and they actually the fource behind the CSS3.
Thursday, January 13, 2011 9:15:00 AM (Central Standard Time, UTC-06:00)
I agree 100% with Rocky. Browser vendors must have a way to distinguish themselves based on the way they present the pages. Speed is not so much a factor anymore as most are using speeds beyond a modem. Plug-ins is great if you are a developer but the user could really care less.
George
Thursday, January 13, 2011 10:01:38 AM (Central Standard Time, UTC-06:00)
I tend to agree with the others that there is more to a browser than rendering. Even for non geeks, my inlaws now use Chrome because they like how quick it loads and how easy it is to use (no bloat with all those icons and features). Even if there are differences between the browsers, there will always be libraries like JQuery and CSS Frameworks that can make the differences go away (for the most part..)
BZ
Thursday, January 13, 2011 3:00:34 PM (Central Standard Time, UTC-06:00)
I think HTML5 is great overall. Most of the new tags can be made to work all the way down to IE6 which is awesome. And there are more and more javascript libraries like modernizr to aid in that.

In my experience Microsoft has by far caused the most pain and expense in web development by not even coming close to following the standards, adding security features that destroy the user experience, being slow to adapt new features (tabs, round corners), and adding propriety extensions (ActiveX). That somewhat backs up your point, but you fail to point the finger at the root cause.

I can easily make a site that looks ~great~ in the latest versions of Chrome, Safari, and Firefox and even a lot of mobile browsers. Once that's done I begin making the site look at least "presentable" in IE6 and higher. After you've done this a lot it becomes fairly routine, but it never ceases to amaze me how inconsistent and quirky each version of IE is. If they just would have fixed simple things like transparent PNGs and adding round corners or fixing how styles like inline-block are handled it would have saved thousands (millions?) of lost development hours.

I also don't agree with browser differentiation being in breaking or adding to the standard (if this is common MS think, no wonder I hate IE). The most innovative differences are outside of HTML. Plugins, tabs, speed, syncing. These are the features that moved me from IE to Firefox to Chrome (potentially to Safari now that Google is dropping H.264).

For the record I'm not a Microsoft hater, just an IE hater. <comic book guy>"Worst browser ever."</comic book guy>
Friday, January 14, 2011 12:47:04 AM (Central Standard Time, UTC-06:00)
Hmmm,

I don't really care about the browser at all (not true I want speed, developer experience ++ ;)
The browser is free, you don't pay for it...

What I do care about is the application... And trust me going forward it will not be written in ActionScript, Flex or C#
Closure anyone?

/Jonas


Jonas
Tuesday, January 18, 2011 8:36:45 AM (Central Standard Time, UTC-06:00)
"If IE, Chrome, FF and other browsers on Windows were completely standards complaint in all respects there would be no reason for all those browsers. The only browser that would exist is IE because it ships with Windows."

This is completely false. All modern web browsers try to be as standard compliant as possible and actually they use standards compliance as a selling point. Facebook, Google, Yahoo, etc.. would not support any browser that's not standards compliant and it would die a quick death.
Modern browser compete on features :
* Availability of useful add-ins (the reason I choose Firefox)
* Security (why most people choose something other than IE)
* Rendering & Javascript engine speed.
Seth
Comments are closed.