, Dr Herbie wrote

On the other hand, if MS had stuck to standards, we wouldn't have Ajax which is based on non-standard code MS added to IE.

At the start of the browser wars it was a free-for-all and no-one especially stuck to standards; standards emerged from code that was already written. As the technology matured, standards became more important.

MS seemed to be the last of the players to start taking standards seriously, but I expect that was because they stopped for a while after IE6.

Herbie

That's a suspect argument. They could have submitted it for standardization and provided an experimental proof of concept build. It appears that's how things are done today. It's hard to judge history though - we don't know what would have happened.

@fanbaby 

I don't really remember IE 4 but IE 6 was my favourite browser at the time.

It's hard not to draw some conclusions out of the disbandament of the IE team back then. Clearly Microsoft saw a different future ahead - also based on Markup - but of a new kind. 

In a way one can understand it because at some point this whole tower of W3C standards must collapse under its own weight - one might think - and it's extremely tempting to go back to first principles to establish a sound basis, with lessons learned.

Now we see the stringent adherence to web standards on one one hand and a separate Metro version with deep OS integration on the other - but with the same web standards support - just extended.

I still think the whole standards tower will collapse at some point (an easy prediction given no timestamp) but like the new pragmatic approach as well.

The pressence of jQuery, Coffeescript, Dart and Haxe with their DOM abstraction, not to speak of XAML, is some evidence to that effect.

I would also embrace and extend your statement on malice vs stupidity to:

   never attribute to stupidity what can be adequately explained by ambition and vision

The ideas and software from that time live on healthily and is becomming increasingly mature.

Very much looking forward to Surface and IE vNext.