an elaborate explanation regarding IE, I get this from Q&A site quora.com
Several answers here make the same common but incorrect assertion: That IE’s competition (basically, Netscape) stuck to implementing emerging standards from the W3C, whereas IE went off and pretty much did its own thing, using its popularity to push through new de facto standards which it used to maintain its competitive edge.
This is common rhetoric around the web technology community, but it’s just plain wrong. IE versions 3, 4, 5.x and 6, along with IE/Mac, wereall more standards compliant than the Netscape releases of that era. IE3 was the first mainstream browser to implement CSS at all. IE4 used the standardised CSS-P for layers, whereas Netscape went with its own (doomed) <LAYER> tag. Yes, IE implemented some new additions to those standards, but this is common practice in the industry: see the “-moz”/”-webkit” CSS declarations. One of IE’s additions was XMLHttpRequest, which gave us both AJAX and (if I remember correctly) the now-standard callback design for non-blocking IO APIs.
In addition, IE releases were both faster and less buggy than the equivalent Netscape versions; Netscape 4.0x reached too far with a crusty codebase and suffered greatly as a result. IE6 is buggy as hell by today’s standards, but that’s mainly because most of those bugs were in implementations of bleeding-edge standards that no one was really using at the time, and are now considered fundamental. This has always been the case with all browsers and bleeding edge standards.
One of Microsoft’s strengths has been that if they need to get something right, and it’s an externally defined spec that can be implemented in a contained way, they can throw some top people at it and turn out a market-leader. Microsoft has a lot of incredibly smart engineers, and many of them were assigned to Internet-related projects after Bill Gates’s “Tidal Wave” memo in May ’95. Within 12 months, IE’s original Spyglass codebase had been rewritten from the ground up to create IE3; another MS team had created the fastest JVM on the market.
This work continued on until IE6, but by that time some of the product focus had moved towards supporting the client-side needs of various Microsoft server products – for example XMLHttpRequest was, IIRC, mainly created for Outlook Web Access. IE6 was far enough ahead of any other major browser that there just wasn’t the competitive urgency any more. Bear in mind that Mozilla didn’t go 1.0 until 2002, and it wasn’t until Firefox (November 2004) that really promising competition appeared on Windows, and even that took a couple more years before the numbers were in any way threatening. (Let’s assume that MS didn’t see Safari as a major threat, due to mainly being aimed at Mac users.)
It wasn’t until Firefox and Safari appeared with support for more modern standards that web developers started feeling the pain of IE6’s problems. IE7 took another 5 years to appear and was too little, too late. It had a large number of fixes and updates but not many of them were to the core HTML renderer, so it was still woefully lacking in what was now considered elementary standards support. It reveals a hubristic thinking at MS that didn’t see the looming threat of proper browser competition against IE’s massive market share. The IE team themselves probably wanted to do far more work on it, but it’s clear that they weren’t given nearly enough resources for that. IE8 is considerably better, but it’s only with the current work on IE9 that MS seems to have thrown the kind of weight behind it that brought us the speed and standards-compliance of IE3 & 4.
Even though IE9 can, at last, be considered a worthy contender in the browser market, the team is still going to have a lot of work on its hands for the forseeable future. In contrast to the relatively quiet period of the early 2000’s, browsers and standards are now evolving at a rate unprecedented in the history of the Web. This is where the slowness of IE releases puts it in danger again.