Did IE6 Make Web 2.0 Possible?

One of the cornerstones of Web 2.0 is the XMLHttpRequest object. It allows JavaScript to call back to a web server without incurring a traditional HTTP postback. It's the heart and soul of AJAX, and it's a completely proprietary feature Microsoft introduced along with IE 5.0 in March 1999. Supposedly it was introduced so the Exchange team could build Outlook Web Access.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2006/06/did-ie6-make-web-20-possible.html

Die Netscape die.

Yes, MS did invent the whole AJAX shiznit. That recent Web 2.0 conference even acknowledged that in one of their presentations.

For all the internet rookies that spout BS about how MS killed browser development, if they ever had to use that garbage that was Netscape 4, they’d quickly realize just why IE took off like it did.

I’m not sure I agree that having a stable browser enabled innovation. Back in 1996-98 Netscape was releasing new browsers quite frequently, but there was a lot of innovation. The key is that Netscape remained backward-compatible. So although you couldn’t depend on all users having the latest version, you could depend on tables continuing to work, or SSL, or frames.

The real problem with web development began when AOL began supporting IE. At that point IE 3.0 was a piece of crap which didn’t support anything, which was incompatible, and buggy. However because AOL’s share was growing by leaps and bounds and because many people got their very first browser from AOL, it was necessary to support IE 3.0 in addition to Netscape. That made innovation very difficult.

Later, as MS released IE 4 and 5, which were also incompatible with Netscape, as well as with IE 3, the situation just got worse. And in parallel Netscape stopped developing new browsers when they could have simply adopted new things MS introduced (like iframes).

So my reading is that MS actually screwed things up for a long time between the heyday of Netscape and the time they got bored with IE and stopped introducing new versions. When they stopped, things took off again. Even today we have Firefox and Opera and Safari, and they’re taking share from IE, but it isn’t slowing down innovation because they are (more or less) compatible with each other on the things that matter.

Final note: today if you’re a web developer you have two cases you have to test against, MS IE and everything else. It is still the case that MS IE is incompatible, but because of its share, you have to support it.

FF has somewhat better CSS support than IE. There are still horribly stupid CSS bugs in FF, but, oh well.

Look, both browsers are so far away from even full CSS 2.0 implementation, it’s a battle of the turds as far as I’m concerned.

To me, the FF group implemented just enough extra CSS so that they could boast that they’re better than IE, rather than looking out for developers. Whee…

Do a google search for Mozilla CSS problems. It’s a pot kettle black situation, IMHO.

Correlations is not causation.

“The super-saturation and monoculture of IE6 from 2002 to 2004 created an incredibly rich, vibrant development platform where developers were free to push the capabilities of the browser to its limits.”

Maybe. But who tried to push the browser to its limits? Nested tables and spacer gifs, just like in 199x.
Even CSS usage didn’t take off till late 2003…

So the big news is that Microsoft actually invented technology that are being used for something else then Microsoft products? :slight_smile:

I don’t know what have happened between Microsoft and W3, but as I remember they have had their discussions. But what would have happened if Microsoft had showed good leadership and setting good examples for the growth of the Internet and not just Microsoft. They probably could have set themselves in a position, where they could set global standards instead of Microsoft standards. As I see it, they tried to force HttpRequest to the Web on only IE and failed, but others saw the light in the technology and used it. On the other hand, the InnerHTML html tag attribute is Microsoft forced and almost success I believe? If you compare to Java, they created as far as I remember the fastest JVM, but sadly they where a little too creative and made some Microsoft only features.

What is it that Microsoft want, is it World domination? … well they already have that…

I know it is a clich, but to quote from the movie spiderman. :slight_smile:

 Uncle Ben: “Remember, with great power. comes great responsibility.”

I am actually not pro or against Microsoft, and I have a lot of respect for what they have done, so many talented people. But I am not sure Microsoft is as company that I admire and look up, but more a company that I in some cases have no other choice then but to obey.

But maybe they change… Vista is free for download and in a recently Microsoft presentation I say, they said(admitted) that IE7 had taken a lot of features from Firefox. I am not asking(and I have absolutely no skill to do so) that Microsoft should be saints, when no other company is, but instead they could strive a little harder to set good examples.

And about the Netscape stuff, yes Microsoft used some dirty tricks, but Netscape became a pile of junk. Netscape replaced my favourite browser Mosasic and I loved it, and then Microsoft comes along and Netscape starts to implement all sorts of stuff that make it slow, memory consuming and almost forgets that it is a browser. But again that is another discussion.

I think the main cause behind the appearance of JavaScript rich web-based applications (not all of which actually use AJAX) is the rise of a mature JavaScript API and the subsequent death of Java Applets. Once people realized that you could do everyting in Javascript without dealing with slow, unstable and bloated Applets, we started to see real innovative cases like Google Maps. Of course you could also have done all this stuff back then in Flash, but at the expense of customizability and being stuck with a proprietary API.

And while Navigator 4.0 had its flaws, it was the debacle that was Netscape 6 that really did them in. In one fell swoop they undid everything that was good about Netscape and replaced it with a buggy, unstable, bloated piece of crap. People would have been willing to go back had Netscape released something worthy of competing with IE 5.5 (whose biggest new feature was print preview).

they said(admitted) that IE7 had taken a lot of features from Firefox.

Firefox took most of their “innovative” features from Opera, and they still haven’t implemented most of them as well…

I think we need both; monocultures to allow for things to grow and mature, and competition to allow for rapid development and innovation.

Too much competition gives you garbage bells whistles, that competitors use to one-up each other. No one really needs these features, but they look good on marketting literature.

Too much monoculture gives you stagnation; IE was innovating like crazy, and had a fantastic implementation compared to Netscape. Once Netscape was out of the picture though, MS back-burnered the whole thing.

Monoculture’s can be GREAT for developers. Think about how much time you’ve wasted making UNIX apps cross-platform compatible. Think about suppoting all the different GUI’s and desktops and browsers. It doesn’t help achieve the app’s purpose, but it’s often the hardest and least testable part of an application.

Conversely, monoculture makes app development very repetative and boring. As creative people, this can get developers down, and last thing you want are creative people getting bored.

he rise of a mature JavaScript API and the subsequent death of Java Applets

There’s also that whole 100:1 performance increase for interpreted languages in the last ten years…

http://www.codinghorror.com/blog/archives/000509.html

I’ve used Netscape 4, and no question about it… it sucked. Besides it turning into an all singing, all dancing suite, I can think of three things that killed Netscape 4.

  1. The layer tag.
  2. The inability to change tags other than layers after they had been output. (Oh, you want to change the text of that element? Too bad!)
  3. Poor support for CSS.

Ole, I don’t know if Microsoft actually introduced iframe or not, but it became part of the HTML 4 standard in 1998. See Section 16.5, or better yet, look in the HTML 4.01 standard which superceded HTML 4 in 1999.

innerHTML, on the other hand, is a Microsoft invention. Given its usefulness, I’m actually surprised it hasn’t made it into the DOM standard. It outpeforms the DOM methods in every test on almost every browser that implements it.
See Quirksmode: http://www.quirksmode.org/index.html?/dom/innerhtml.html

The problem I have with IE6 deals with security…

Too much competition gives you garbage bells whistles
Too much monoculture gives you stagnation

That’s an interesting observation, and probably true. I think the browser market needed a long cooldown/stagnation period so developers could concentrate on core features and move web apps forward.

So, as much as we (correctly) criticize MS for dropping the ball with the nearly six year gap between IE6 and IE7, it turned out to be a net positive.

Don’t you mean a .NET positive?

Later, as MS released IE 4 and 5, which were also incompatible with Netscape.

What the hell are you talking about? Do you mean incompatible with the non-existent HTML standards back then?

Final note: today if you’re a web developer you have two cases you have to test against, MS IE and everything else.

Whatever. Firefox is just as horrible as IE is in terms of CSS compliance.

Firefox is just as horrible as IE is in terms of CSS compliance

This deserves some clarification.

At the time of its release in Q3 2001, IE6 had groundbreaking support for CSS.

Firefox/Mozilla continued to evolve and enhance their CSS support. As of today, Firefox 1.x has much, much better CSS support than IE6 – particularly the advanced CSS cases we’re getting to after 4 years of beating on CSS.

IE7 does finally rectify most of the CSS complaints, and puts itself roughly on par with Firefox 1.5.

Now, I am no CSS expert, but I have done some research on this:

http://blogs.vertigosoftware.com/jatwood/archive/2006/01/06/Guidelines_and_Tips_for_Pure_CSS_Layouts.aspx

Invalid argument.

I disagree with you Ole on your final note. We are developping advenced web 2.0 applications and in my if…else statements to be cross browser compatible, I see more parallels between IE and Safari than between Safari and Firefox.

Firefox took most of their “innovative” features from Opera, and they still haven’t implemented most of them as well…

It’s a shame Opera is so painful to use.

Yes Microsoft deserves credit for XMLHttpRequest all credit for widespreadm AJAX type capabilities have to go to Google and Google MAP which got managers interested in it.

managers and google Maps should get the credit because google maps provided the first real applications that got mangers to ask why thier web sites did not have capabilities like that. This finally caused the developers to start looking into it and adding capabilities to thier web sites.

Thing is this technology has been around since pre-98 using frames or applets to perform the same type of ability. However that was a royal pain to use and no real set of libraries to make it simple.

However in 2000 JSRS libraries came out http://www.ashleyit.com/rs/main.htm it used CSV(or anything you defined) and supports more browsers then AJAX does.

With the capability being old(ancient in computer time) and it only becoming a force after google maps microsoft just does not get the credit.

I’m not sure how popular AJAX will be in the end. In order for it to really work efficiently in complex applications, you must have fast web servers to handle the asynchronous web requests. I created an intranet web application in ASP.NET 2.0 and I tried to integrate Atlas into it…It worked fine running while testing from my local machine, but once I put in on the production server it was unusable.

Google can create their awesome AJAX application because they have the hardware to make it work. Without lightening fast servers, the app better be pretty simple in design (no ASP.NET, no complex viewstate), or else you will wait forever for asynchronous requests to complete, especially when using the Microsoft ASP.NET server controls.

Also, using AJAX is not profitable because most internet sites make their money off of advertising, and the use of AJAX prevents multiple page hits!!! Only subscription websites will be able to use AJAX without losing money.