Jon Watson, Linux-fan and almost my neighbor in Kentucky, writes an interesting complaint about the state of web browsing on Linux.
What grabbed my eye was that he blames it on Microsoft:
“Microsoft introduced a whole bunch of ‘IE only’ html tags a couple of years ago. I say predictable because Microsoft is absolutely famous for not following set standards. Take a look at their proposal for their XML ’standard’ or their javascript document model or their…hell…anything you can think of. Open standards are not a friend to Microsoft – they want you locked in to their technology with no way out.”
“…the point of this is to state that these non-standard IE only tags became the norm because of the popularity of IE. Now that arrogance has been extended even further and Google has bought into it. A non-standard Java(-script) call is at the heart of GMail. Now other browsers have to make the choice between being standards compliant, or being MS compliant. A hard decision. To pick the former is responsible, but to pick the latter will deter end users from using the browser.”
About the specific XML/XSL and DOM examples, those simply weren’t yet standardized when they were implemented in IE. The W3C is notorious for being slow to adopt new standards. So rather than “follow the standard”, Microsoft tries to “set the standard”. In practice, this means Microsoft often implements their new ideas at the same time they propose them as standards. As a developer, I think that’s how technological progress is made. Formal committees suck at innovation.
Among IE‘s particular contributions are the XMLHTTPRequest object (which GMail uses), wysiwyg editing in the browser, and IFRAMEs. All 3 features are now either officially standardized or just de facto standards supported by most browsers. This mass adoption isn’t “lock in”, it’s open, and it’s good for both developers and users.
(As an aside, I have no idea how choosing “MS Compliance” could “deter end users from using a browser”. …That makes no sense to me. If a website doesn’t work in a certain web browser, isn’t that the biggest deterrent from using that web browser? Isn’t that in fact the very problem Jon and other Linux folks have with Konqueror??)
What matters to me as a web developer is that I have the best tools available for the job. Otherwise, we’d still be coding “lowest common denominator” — meaning circa 1999. Remember Netscape 4? I do, with chills.
There are also many great IE technologies which have not become standards, nor made it to other browsers: CSS Visual Filters, CSS Expressions, and DHTML Behaviors. As a developer, I wish they would!
By the way, it’s not just Microsoft who takes the “build it and they will come” approach. For instance, Apple’s Safari (Konqueror’s sister browser, which sprung from the same codebase) has been pushing the envelope lately with its (currently non-standard) canvas extensions. Developers and other browsers are taking note, simply because it’s a Good idea. So this may too become standard some day.
No, I don’t credit IE for all the web browser tech progress in the last 5 years. If anything, Mozilla/Gecko/Firefox has appropriated Microsoft’s “embrace and extend” strategy, and done it better. Firefox has embraced both standards and also IE‘s best ideas, and extended with their own extensions (google on CSS “-moz-“ sometime). Following that strategy has made Firefox top dog in the developer world right now They’re the ones setting the standard, and IE7 is now the one playing catch up.
If some browsers choose not to catch up, it seems to me like that’s their own fault.