Hacker News new | comments | ask | show | jobs | submit login
The innovations of Internet Explorer (nczonline.net)
174 points by kalyanganjam on Aug 23, 2012 | hide | past | web | favorite | 72 comments

Say what you want about Microsoft and IE (I'm expecting Microsoft to be bashed as usual in this thread), but for those of us who were developing for the web in the early 2000s IE was way richer in features that any other browser. The event model and the styling capabilities were better and best of all MSDN actually had documentation. There's a reason why IE6 was adopted so much. It "was" good.

Others with better ideas came along and made the web development experience better, but I agree that IE started it all. I have no idea if the web would be better or worst without IE. I would expect that someone else (Netscape??) would have played the role of IE if it didn't exist and we would be stuck in a similar situation. Remember that in the early 2000s developers that called themselves web developers had ZERO experience.

There weren't any standards back then and since many of us had to start writing intranets and websites, and since you could do more with IE6 we used it.

IE6 was actually just an incremental improvement on IE5 and IE4 before it. IE4 was the really important leap.

Story time:

IE3 and NN3 both had small amounts of programmability via JavaScript - you could change the src of an image, you could inspect and modify form values, you could navigate the page, or completely clear its contents and rewrite it as a string. Oh, and also alert(), confirm(), and prompt().

IE4 and NN4 came out at roughly the same time. But in IE4, they took this idea of small amounts of programmability, and generalized it to the entire document. IE4 introduced the idea that every HTML node should be programmable and interactive in a generalized way. If you knew the HTML properties for an element, you already knew its programmatic interface. It was a simple, powerful idea that hasn't been improved dramatically since.

NN4, on the other hand, introduced this ridiculous hack called 'layers'. You could create these floating layers, and write into them using document.write(). That was the only dynamic mechanism in NN4 above what NN3 had.

So IE4 introduced a powerful and simple generalization of the platform, and NN4 introduced an ugly hack. Surprisingly, developers preferred IE. On top of that IE4, was rock solid and NN4 was crashy.

It's true that Microsoft abused their monolopy position, but the part of the story everyone forgets is that they also more or less invented the modern web in IE4.


Yup. You toss it off as a short comment, but the stability and performance aspects of IE4 and Netscape 4 shouldn't be ignored. Netscape was super-crashy, and bloated, and slow, and development pace had slowed to a crawl. This was the age of Netscape Communicator suite version 4.2b preview release candidate 3 Gold (you think I'm kidding but this is hardly an embellishment of the reality). IE4 was solid, less bloated, and faster. And better maintained.

Microsoft abused its monopolies in various ways, that's for sure, but it won the browser war by hitting Netscape when stumbled right where it hurt the most, with a higher quality competing product.

Yea, with IE6, MS finally began focusing on complying with standards instead of adding vendor-specific features.

I'd been developing for the web for almost 6 years and making my living on the web for almost 4 years when IE6 came out (August 27, 2001) and I certainly wasn't a pioneer. It was very primitive compared to now, but standards-based development was important to a lot of us waaaaaaaay before IE6 came out.

Things had been improving at a decent if not exceptional pace back in the late 1990s. IE6 was important but only as the latest of a series of browsers (from several vendors) that added better and better standards-support, it was that Microsoft kept IE6 in stasis for years was the problem not that IE6 wasn't an improvement over IE 5.

Think about it, WaSP (the Web Standards Group) was founded in 1998, back when IE4 was around (and was one of the pioneering browsers support CSS1 with Opera 3 being the other big one I remember). Zeldman started A List Apart in 1998 which was the same year Acid1 was created to test for CSS1 support in browsers.

Eric Meyer covered support for CSS in browsers in a 1999 article:

CSS: If Not Now, When? http://meyerweb.com/eric/articles/webrev/199906.html

Here's one from him in April 2000 on O'Reilly asking "For literally years now, authors have been faced with a difficult dilemma: should we write pages to conform to the W3C standards, or write them to account for browser bugs?"


By the time IE6 came out, some web standards supporters pretty much thought the battle was won in terms of convincing browser makers about the importance of the standards-based web. We were looking forward to vastly better browser support every couple of years. And then IE6 froze a huge part of the market for a long long time.

It took Microsoft 5 years to update IE6 to IE 7. 5 years previous to IE6, IE3 was so primitive that it had just added support for HTML tables and barebones CSS1 features.

Two additional bits of data in my quest to prove IE6 (released August 2001) wasn't what started it all and disprove the idea that there weren't any standards back then.

From way back in Feb 16, 2001:

From Table Hacks to CSS Layout: A Web Designer’s Journey http://www.alistapart.com/articles/journey/

And from that same day, long before the "Internet Explorer 6 Countdown" WaSP had the "Browser Upgrade Initiative":


This reminds me that the use of the word "standard-compliance" as a synonym for boat anchor has irritated me for a while now.

The WaSP was the one who was responsible for petitioning Netscape to cancel Mariner, leaving Netscape with nothing to compete with IE5.

Richer in features, poorer in vision. It was already apparent as the first browser wars were drawing to a close that Microsoft would not play ball on standards (the new 'fad') and interop and had no interest whatsoever in cross-platform web development. Even developing for IE5 across Windows and Mac was a hair-raising experience. Mozilla (the avenger) had to reverse engineer XMLHttpRequest to get it into Fire*/Phoenix.

But there's been a lot of rough-and-tumble and a lot of assaults on standards-as-process from all directions (Apple, Google, take a bow). That's why the WHAT-WG was formed, right? The browser makers who want to push the web forward as a platform. The big names like M..ozilla, Mi..Opera, Mmmi. Apple, Mgoo.. hey, has anyone seen Microsoft? Try their mobile, maybe they took a wrong turn.

BTW, the standards process is faltering again[1] (and I don't just mean the W3C's petrify-ray). If they're serious about the web, there's never been a better time for Microsoft to join the WHATWG.

[1] http://the-pastry-box-project.net/bruce-lawson/2012-august-4...

Fair point. You can look back at a number of features added to the HTML spec, and note that they were first implemented off-the-cuff in IE6. XHR, contentEditable, to name two I can think of straight away.

We can give them as much shit as we like for letting the ecosystem stagnate while they had control, which Firefox thankfully set out to fix, but would we have had AJAX if there wasn't an existing XHR implementation, or anything else implemented outside of the standard?

It's so hard to say: maybe it'd have taken a while longer. On the other hand, maybe the alternative solution would have been simpler, allowing later developments to progress more quickly. It certainly took years to clean up IE-specific html mess. Who can know if it's a net positive...

If IE hadn't gone out and done something, we'd be stuck with cleaning up a Netscape-specific html mess.

Or are you suggesting a standards body would have come up with something elegant and widely adopted? I... doubt that.

Yes, I think it's important to point out to people that perhaps weren't active in web development back then that IE6 was a huge leap forward, and at the time was a great browser.

The only reason we hate it now is because it stuck around too long, and arguably that isn't even Microsoft's fault.

>and arguably that isn't even Microsoft's fault.

Yes it is. Microsoft disbanded the ie team after the release of ie6. This coupled with Longhorn/Vista's delays entrenched Windows XP and by extension ie6 stronger than it otherwise would have.

Vista's delays didn't do much to entrench IE6. IE7 was available on XP, and companies just flat out didn't want to upgrade from XP or IE6, even though there were more superior options available.

Why? Because of the huge amount of legacy code that relied on IE6, and would not run on IE7. Microsoft could have kept in ActiveX support and all the insecure bits that these applications relied on, but instead they did the right thing, deprecated their proprietary interfaces, and released a more secure and all-round better browser. And people didn't switch to it.

>Vista's delays didn't do much to entrench IE6.

It did in that Microsoft did not originally plan to release an update to ie for Windows XP. The idea was that next gen OS would come with next gen browser.

>IE7 was available on XP, and companies just flat out didn't want to upgrade from XP or IE6 ...

Do you not think that that has something to do with the fact that there was a 5 year window, in a pivotal time for the internet (2001-2006), that allowed ie6 to build up massive mindshare and massive web-app dependency?

Worse, when ie6 came out it was the best browser out there, and the default choice on an operating system that dominated the industry. There was no Firefox, or Chrome or Safari or open source WebKit. So it easily became entrenched quickly. After that, inertia carried ie6.

The right thing for Microsoft to do was to NOT disband the ie team and release ie7, ie8, ie9, ie10 at reasonable release cycles (annually for example).

People also forget that Microsoft decided to tightly couple their browser to their operating system, not for any technical reason but so that they could fight the antitrust charges levelled by the U.S. DOJ due to their bundling practices and misuse of market power.

Consequently, I'm of the opinion that they made a rod for their own back and it became very costly to maintain and enhance their browser. Truly, they were hoist on their own petar!

Just in case people get confused (because there were multiple antitrust actions against Microsoft), the antitrust charges you mentioned were from 1991 (when Microsoft was investigated by both the FTC and DoJ), see:


MS disbanded the IE dev team for one reason: fear. The mostly unwarranted legal harassment that MS faced for defeating Netscape fare and square with a superior product (which largely served as a proxy for punishing MS for other, admittedly bad, behavior) caused them a lot of grief. So they gave up, and as a result we were saddled with a lack of innovation in web browsers for about a decade.

Yes. IE was "small" (being closely tied to the OS) and fast.

But the only reason MS gave it to us was to destroy Netscape.

Over the years there's no doubt been countless conveniences and innovations that MS could have introduced but didn't. They do just fine without having to share the products of their extensive research. That's the beauty of a monopoly. You do not need to innovate. You only need to keep delivering (just change the version number and some UI stuff) and you need to stifle any competition, early and often.

But those days are slowly coming to an end...

Having been involved in something like web development around 99-2001, then living under a rock for some years, then coming back around the time mozilla "phoenix" thing started rolling, i remember how odd it sounded that people would hate IE and love the others, it was exactly the opposite of my expectations...

I can remember when IE was the best browser around as well. Sadly they capitalized on it's success in the worst possible way for the open web and it eventually cost them in certain courts of opinion. But they definitely pushed the web farther than any other browser at the time.

Just like steel tools revolutionized hunting and gathering, i'm glad I don't have to go hunt for my steak and salad! Nor do i reminisce about the days working with IE!

I remember asking the web-devs at the company I used to work for several years ago why do they support IE only, and their reaction was that they will not be able to pull off all the neat tricks they can pull off in IE in any other browser. Their reaction to any suggestion of standards was "I don't care about standards, if that means I can't do whatever IE enables me to do".

Is that innovation? Some would say yes. I think that most of these only became innovative once they began to be available to larger audiences, which coincides with the rise of Firefox and later on Chrome. Also, most of the conception of IE as non-innovative and stagnant came from the 5 years gap between IE6 and IE7 (and the added 3 years between IE7 and the real "new IE", IE8), during which Opera and Firefox carried the innovation torch. Most of IE's innovations came when it was fighting the browser wars, pre IE5.

IE5 was amazing in corporate environments. I was involved in many projects where we migrated old desktop software or mainframe software to new web based applications.

You could have client-side data sets and manipulate them all in the browser. When a standard HTML control didn't meet your usability requirement you would drop-in an ActiveX control (I did this for better drop-downs and selection boxes that would autocomplete). You had XML parsing (XML finally living up to the hype - a lot of server software supported XML API's). For security you had domain policies and groups as well as client certificates for those on the road.

This was an inflection point in the entire history of the web. For years you would read op-ed pieces about how the web would replace the old computing model, about ASP's (application service providers), about apps on the web, etc. but it simply wasn't possible until IE5.

Further, IE was the only browser where it was possible for a long time. It may be hard to imagine now but in the late 90s and early 2000's most web developers would lean towards 'IE only' and not have to deal with Netscape (which was considered 'broken' at the time - and was going through its own rough patch with the rewrite - Netscape 6/7)

It was a completely new paradigm. Lower development costs, easier rollouts, much lower administration costs. As a plus being a Microsoft developer was a great experience - boatloads of software, seminars, conferences, speaking to real developers from the company on the phone when you needed something.

> Is that innovation? Some would say yes. I think that most of these only became innovative once they began to be available to larger audiences, which coincides with the rise of Firefox and later on Chrome.

This seems like a definition designed specifically to avoid giving IE any credit for innovation. How can a feature be innovative after it's copied but not when it's created?

If something is so valuable that competitors are compelled to copy it, that seems almost the very definition of innovation.

There's a big downside here too: by publishing lots of very big and crufty (and ill-thought out) API's, they make it very hard to come up with alternate implementations. And once devs are locked into those API's, it's very very hard to port things to a different engine.

So you might respect XmlHttpRequest, but it's also a fairly small API in comparison to some of the other things MS produced.

And it's _those_ things that are "possible" in IE that were precisely the problem. If your API consists of little more than exposing coincidental implementation details, of course lots of things are possible. They're just impossible to maintain afterwards in the face of any change.

that is how things are developed though, people ship them and they become standards or die.

it wasn't just Microsoft, Andreessen invented the image tag by simply shipping it in Mosaic:


TBL was against it, as were others. If he went through the theoretical 'standards' process that you infer is the 'right way' it never would have got done

I am definitely of the view of software first, standards second - because it has been proven throughout history to work

I believe this was the reason the WHAT-WG was started. The discontent of browser developers of the slow moving standardisation process of the W3C.

From the WHAT-WG FAQ:

"The WHATWG was founded by individuals of Apple, the Mozilla Foundation, and Opera Software in 2004, after a W3C workshop. Apple, Mozilla and Opera were becoming increasingly concerned about the W3C’s direction with XHTML, lack of interest in HTML and apparent disregard for the needs of real-world authors. So, in response, these organisations set out with a mission to address these concerns and the Web Hypertext Application Technology Working Group was born."

While praising IE, let us not forget that MS only innovated enough to displace other web browsers, leveraging its Windows near-monopoly to saturate the market with IE. Dominance achieved, competitors obliterated, MS was content to let the world live with IE6 for eternity, and only with the rise of Firefox and Webkit-based browsers did MS finally deign to do something (althought not much) for the web with IE9.

IE had its own innovations like VRML, dHTML+TIME, behaviors, HTML Components. Which could not be found else where.

Guess what, IE6 even supports DirectX called DirectAnimation. And MIDI, vector graphics, etc. IE is far more feature rich than any other remote HTML displayers.

Almost every major browsers had some kind of contributions that we take today for granted.

Also: http://www.slashgeek.net/2012/06/08/5-features-opera-browser...

Even you say Opera did not invent "modern" tabs, so that means they did come up with the precursor. We owe atleast MDI tabs to Opera

About two years ago when trying to make a zoomable interface work in IE some colleagues and I discovered it has a wonderful set of transforms you can apply to any element, with a much easier syntax than CSS. I think they were based on / part of VRML? We were amazed that it was so easy to do any arbitrary 3D rotation, stretch or skew, and even more amazed when we read up and found it had been there since about 1996.

And then we found this functionality had been removed in IE8 :(

MS stopped others (Netscape) from innovating. IE only ran on Windows* IE 5 on Mac was crap and maybe antitrust avoiding effort. IE was created at all costs to stop the web browser from becoming an application platform that competed with Windows. MS did everything to keep users from using competing browsers. MS tried to make it impossible to uninstall from Windows. MS tried to keep developers from creating rich applications in the web browser and kept IE6 in stagnant mode for almost a decade until competition arrived. Microsoft won. This stuff should be fact entered in Wikipedia.

Having been there at the time, IE on Mac was the best browser on that system at the time, by far. Netscape 4 looked like a bloated piece of crap that emulated random bits of Appearance Manager, crashed constantly, and had a nasty tendency of not yielding the event loop, which effectively locked the system. IE, by contrast, was fast, stable, used Appearance Manager, looked native and matched the Macs coming out at the time, and had better privacy controls, and other stuff that I don't even remember. Getting IE on our Macs was a big deal when I was in school, and it was pretty much the first thing I downloaded on a new Mac--the second being Outlook Express.

Now, by the time OS X rolled around, IE was aging very quickly, and by the time Safari 1.0 finally came out, anyone who cared about that sort of thing had jumped to Camino. But that was long after the initial IE port, and I don't think you can possibly say that IE 5 on Mac was crap from the antitrust effort.

Not to mention that Netscape 4 never really implemented CSS. There was a CSS-to-JSS (JavaScript Style Sheets) translation level that almost worked most of the time, but it couldn't manage markup that resulted in a deeply-nested native object hierarchy (something that was altogether too easy to do in straightforward HTML). Nor did DIV or IFRAME properly translate to LAYER and ILAYER. Element addressing in NS was pretty much strictly hierarchical; one needed to include a tree search for NS to get something similar to getElementByXXX(). (And I had to support that horrid thing until 2005.)

I can also confirm this. I had one of the first iMacs and I remember Netscape crashing constantly and being way slower than IE (Hell, I think the first time I was really surprised by a browser's speed was when I installed IE on a mac).

Netscape 7 (IIRC) seemed a little better than IE, but it came too late and my machine could barely run it, so I just kept using Internet Explorer.

I think Tantek Celik might disagree with you about IE 5 on the Mac. I seem to remember it had the most advanced CSS support available at the time.

I concur with the responses to my post. NS4 was horrible. Mac IE5 was really nice.

My point was Microsoft advanced and got out in front and won and discouraged the browser market and many web developers. Web applications started to compromise on features.

MS always has/had really great engineers. MSDN is great too.

But we should thank Mozilla developers for overcoming the discouragement and freeing us from that stagnation.

The MS IE team should thank Mozilla and the Chrome team also.

This is the reason why I'm scared of google pushing chrome so hard

I have one word for you, chromium. Feel free to build your own browser using Chromium as the base if you are worried about Google. You don't even have to market it, just use it for your own personal enjoyment!

Google does not have a conflict of interest with better browsers/internet and its main revenue sources, Microsoft had this problem and resulted this mess.

Google does have a conflict of interest. The best case scenario is a better internet, but only for google products for them.

People love google, but it's a for-profit company, not a foundation. Chrome would not be the first abandoned project, either. Anything can happen. Competition is good.

Google may be motivated to attempt things like Dart and NaCl which help drive forward their own products first and foremost, but they have a consistent reputation of making their web-advancing client-side technologies open source too (Dart, NaCl, WebM, SPDY, Chromium, Webkit, etc are all open source). They also have Mozilla, Opera and Apple pushing forwards as well (though I'd argue that IE9/10 isn't putting much competitive pressure on anyone).

If Chrome is abandoned by Google you're free to fork Chromium, acquire licenses for it's restricted plugins and it'll only slow the web's march forward, not actively hinder it. It's entirely possible for another group to carry the Chromium torch, and Google/Chrome has never yet intentionally damaged the quality of standards-compliant competing web products (though they don't offer quirks-mode fixes for crap tailored only to IE).

IE9 and IE10 certainly are putting competitive pressure on others (including Mozilla, my employer). For example, at the time of release IE9's vector graphics performance was far ahead (we're talking on the order of 5x) of any other browser, including Chrome and Firefox, and IE also led the way with background compilation of JavaScript (a very important feature, arguably more important to users than raw JS performance).

> The best case scenario is a better internet, but only for google products for them.

Google operates a search engine, meaning most of the time it points people to other websites. Many of these sites are not under Google's control, but many of them run AdSense. The more pages you visit, the more ads you see. If the internet gets generally faster, Google sites or not, that works in their favor.

This is all true and Microsoft deserves credit where credit is due but here's the thing: just because they spurred innovation long ago doesn't mean they deserve a pass now. That's how this article kind of comes off. Like we should lay off and be thankful for what we have. And we should. But the web is all about innovation and finding better, faster, smarter ways to do things. Your girlfriend doesn't forgive you instantly now when you cheat because you were incredibly loyal in the past. Your boss shouldn't pay you when you don't show up and don't call for work because you had a perfect attendance record in the past. The fact is, IE went to hell and they deserve our scorn. If and when IE10 really does deliver on its promises them we can call be happy with them and start the process of forgiving and forgetting. Though I doubt version 10 will live up to the hype I'll be happy to give them all the praise in the world if they at least catch up to where Firefox and Safari are now. I wish they'd get on Chrome's level but that's a lot to ask right now. What the article says about IE is true but now it's 2012 and what they did in 1999-2001 just isn't enough to give them a pass.

I'd also add that though IE did innovate like crazy in their heyday, if they didn't someone else would have.

This reminds me of a coworker who, although generally horrible at his job, despised by his colleagues, and only really concerned about his next pay raise would - on occasion - remind us that HE was the one who wrote a small piece of critical software we still used to this day.

That was refreshing. It's good to remember the good points of anything, especially something we may not like. This lesson applies very well to the computing industry's rapid advancement and tendency to outdate technology.

When I hear IE, I think about it's own way to render pages. Over all websites ever created, IE has cost a huge amount of wasted development hours.

I'm particularly offended by this statement: "we wouldn’t have the web as we know it today if not for its contributions".

In a parallel universe where microsoft never existed, the people who came up with XMLHttpRequest did their innovative work at Netscape and the web today is light years ahead.

Oh brother. Offended?

While it's true that Microsoft has done it's part to hold up progress, the fact is that much of what you love about the web today can be directly traced back to innovation at Redmond. Let's give them credit where credit is due. Hell, they came up with AJAX so people could access Outlook from the web. Do you remember how obnoxious browsing was before XMLHttpRequest?

To be fair, that was kind of an accident. Xmlhttprequest just kind of sat there until somebody else came up with a use for it.

It's an accident of history that's it's primarily used for Json and not Xml, but you can hardly argue that the API itself was an accident.

Frankly, the importance of json in this matter is pretty minor anyhow: if it hadn't been around, you can bet some nice JS library would have come up with a different way to easily decode server data into JS objects. The scripted communication was key.

Why discount Microsoft's contribution just because "if they didn't do it, someone else would have"? If that's how you think, then nobody's contribution to the world is significant, since "somebody else would have done it."

Not really. Not all contributions are equal. For every contribution A there is a likelihood L(A, X) that is the chance of someone else making the same contribution within time X.

It seems completely reasonable to rank contributions with low values for L (for a given X) higher than others. People are claiming that Microsofts contributions have very high values for L, ie. if MS hadn't come up with it, someone else would have in short order. Furthermore, people are claiming the same is not true for other contributions, e.g. TBL "inventing" the web, or what have you.

I am agreed with you but still codeka point is valid. Granted for a given X there would be low values of L that make the contribution irrelevant. What I differ from you is saying that X is static. Einstein might helped to get the atomic bomb working faster, but there are good chances that eventually it would come out anyway.

Anyway, discarding contributions in that way seems disingenuous in the best case. What would happen if Newton wouldn't invent Calculus? Well somebody else would invent it later but we should be thankful that that didn't take 100 years more.

How soon we forget. If TBL hadn't invented the web, we all would have had to wait six months for gopher to come out. Hell, SGML + FTP is practically the same as the web, and that was around for years.

Heh. I knew that whatever example I came up with, someone would come along and bash it.

Just goes to show, there's not much point in identifying "inevitable" innovations. History quickly forgets the also-rans.

In a parallel universe, someone else posted this comment as well.

And Hitler built the Autobahns, shouldn't we say thanks to him for that?

Also the rebels where never able to build something as marvelous as the Death Star :-)

Success, efficiency and morality are three different things. Though many people mix them up all the time. If someone (or something) is efficient and successful that doesn't mean we should overlook the harm (or good) it is doing.

Hitler? That's where you want to go in a thread about web browsers? Maybe it's time to switch to decaff.

Oops, you've gone and invoked Godwin's law:


A cold shower and a drive in a Volkswagen before you can post again.

> A cold shower and a drive in a Volkswagen before you can post again.

What an excellent retort.

So exactly, what harm IE did to your delicate soul?

Me personally is pretty happy it killed the buggiest and shittest browser ever lived - Netscape4

After it killed it's rival, development practically stopped for several years, and the progress of the web stopped with it.

You know how everybody hates AT&T and Verizon for not bothering to make a better service because they essentially have no competition? That's the same reason I dislike IE.

Actually.. Hitler didn't built any Autobahns :)


According to that link, he didn't invent them. They're not claiming he didn't play a role in building them.

Titling the article as a "Myth" smacks of about.com linkbait.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact