Lost in the past few years of IE6 based stagnation (and ensuing developer angst) is the fact that the Internet Explorer team have come up with some pretty cool enhancements to the way we build web sites over the past ten plus years.
So, while we’re cheering on Firefox’s growing market share, hesitantly eying IE8 and waiting for the ugly stepchild of the browser landscape, IE6, to finally die a painful (and hopefully immediate) death, I thought I’d lay out some of the innovations introduced by Internet Explorer to remind us of relatively positive days gone by*.
As a fun exercise, while you’re reading this, compare these innovations to the black hole left in the web development world by the long and terrible reign of IE6. It’s an interesting juxtaposition of help vs. harm. Here’s hoping future versions of the browser continue to trend closer to the “help” line as IE7 has and IE8 appears to be doing**
XMLHttpRequest
For those that don’t know, XMLHttpRequest (XHR) is an API used by JavaScript to transfer XML (and other text formats like JSON and plain text) data between a browser and the web server.
This one is obviously pretty big. While “Ajax” the phrase coined by Jesse James Garret of Adaptive Path, didn’t spring directly from Redmond, a large part of it, and therefore much of the recent innovation in the way web interfaces are programmed, does spring from the creation of the XMLHttpRequest (XHR) object. Originally an ActiveX object, XHR is so far entrenched into the way web works right now it’s not even funny.
Personally, without Ajax making JavaScript the hot language it is today, I wouldn’t be half as marketable as I currently am.
Introduced in Internet Explorer 5.0
innerHTML
This JavaScript property is a read/write interface to the HTML markup and content within a given element.
All day, every day I use the innerHTML property. Faster than the DOM methods for object creation and insertion setting innerHTML is normally my first choice whenever I do DOM manipulations.
Introduced in Internet Explorer 4.01
iFrame
Like a frame, an iframe (“inline frame”) is an HTML element that allows you to embed a HTML document inside another HTML document. The iframe is the earliest innovation this list, appearing all the way back in 1996.
Humorously (or tragically depending on where your allegiance lies- Mountain View or Redmond,) a good portion of the GOOG empire is built on the iframe as the search giant uses an iframe to deliver its advertising on non-Google properties (you can see one in action on this very page.)
Introduced in Internet Explorer 3
The favicon
A favicon (favorites icon) is an icon associated with a particular website or webpage. The favicon not be the innovation that affects me the most on a day to day basis, but judging by the chatter generated by Google’s new favicon, I think a lot of people notice that little browser accessory.
Introduced in Internet Explorer 4
overflow-x, oveflow-y
Maybe not the biggest impact, being able to set the overflow property in one dimension is an immensely handy thing to be able to do and I’m happy to have it in my list of tricks.
*This is 100% focused on only technology. Anti-competitive practices and killing Netscape are definitely NOT positive.
**it should be added that while I’m pleased to develop for IE7 in comparison to IE6, it still falls short of what I’d like to see in terms of standards support. Hopefully IE8 will knock it out of the park, but until that time, I’d much rather everyone just go with Firefox, Safari or Opera 🙂
Excellent summary. This was quite needed.
Despite making (thus far) shitty browsers.. they certainly have innovated with their features. Many times in good ways.
I’m not sure what this post is trying to accomplish. I appreciate that you’re trying to be the Voice of Clear Vision here, but, first off, none of the listed innovations are IE6-specific.
And, as someone who has just spent his last twelve development hours debugging IE6-specific *bugs*, and who still isn’t finished doing so — because 27% of the slack-jawed morons who frequent the Web site I’m working on *still* use IE6, despite the easy and free availability of superior software — this whole thing is a little like trying to be positive in the face of one of the crappiest moments of Internet history.
It feels like saying, “Hey, you know, Hitler was a bad guy and all, and I’m against him, you bet, but let’s not forget that he actually was a pretty talented artist and helped start Volkswagen!” Um, okay.
I put this information in the same category. Interesting from a perverse standpoint, but, I swear to God, if I knew which bunker IE6 was cowering in, I’d bomb it myself. If I were a Gypsy, I’d curse the thing, its makers, and its remaining users.
I consider this a restrained, low-key response in comparison to how I actually feel.
i’m not trying to accomplish much of anything and I definitely wasn’t trying to connect any of these features to IE6, hence the versions clealry stated in each description. all I’m really trying to do is share some trivia. when talking about this stuff with folks i’m working with I find they’re often interested/surprised at the origin of certain html/css/javascript language features.
i’m not trying to accomplish much of anything and I definitely wasn’t trying to connect any of these features to IE6, hence the versions clealry stated in each description. all I’m really trying to do is share some trivia.
Yep. There was a time when IE6 was top-notch and developers kept struggling with Netscape 4.7 and even Mozilla 0.9.x.
Another interesting fact is that IE5/Mac was one of the first browsers who supported tabbed browsing…
http://en.wikipedia.org/wiki/Internet_Explorer_for_Mac#Internet_Explorer_5_for_Mac_Distinguishing_features
Godwin’s Law in only two comments? Impressive!
I knew about XMLHttpRequest but I didn’t realise the others had originated in IE. Hopefully now that there’s some competition will see more innovation from them as all those features came out when battling against Netscape 🙂
Also noteworthy:
The box-model the IE supported (and you get in quirks mode) that is wayyy more sensible than the w3c standard.
And the datasrc attribute which is basically databinding, and it’s been there since IE4.
http://msdn.microsoft.com/en-us/library/bb264006(VS.85).aspx
+1 on the ie box-model. I’ve never liked the w3c box model, it doesn’t actually describe a box.