The thing about IE, one thing anyway, is that it's CSS support, box model, etc, was broken and non standard. So you would need to exploit CSS parser bugs to give IE a separate CSS, use DXImageTransformFilter to make png transparency work, etc.
Maybe by WebKit you mean Blink and by Blink you mean V8, because when somebody does a "Show HN: something that doesn't work in Safari or FireFox" it's usually a javascript problem not a CSS or rendering problem. And every 6 months someone complains that Safari is literally worse than IE 5 because it doesn't support some non-standard privacy nightmare API that Google added last week.
I came to hate IE with every fiber of my being, but let's call a spade a spade here: IE basically invented modern CSS. Netscape 3/4 and IE 3/4 had very different views on how web pages should be dynamic and how they should be styled.
IE championed CSS and the DOM. Netscape was fixated on bgcolor, font tags, etc. Netscape introduced the <layer> tag. IE just made every tag a potential layer. Remember AJAX? Loading content from a script and injecting it into a page? That was 100% IE.
The issue wasn't that IE 5, 5.5, and 6 were bad when they came out. They weren't. Not one bit. They were absolutely the cutting edge. Then Netscape died, Microsoft had no more competition in the field, and so they basically just stopped. For years.
Mozilla (and shortly after, Firefox) prompted an eventual response, which was IE7: I minor update to an otherwise abandoned codebase. Once it was clear folks were seriously looking at dumping IE, IE8 followed shortly after. The CSS Acid Test showed how far IE had fallen behind, so IE9 and IE10 moved to stop the bleeding. IE 11 was the final release before Microsoft finally dropped the legacy IE baggage, aka the Trident engine. By that time Chrome had stormed the field, and Edge's renderer just couldn't keep up relative to the amount of money Microsoft was willing to pay. So they dumped their own engine and moved to Blink. (If you can't beat em…)
But let's be clear, between 1998 and 2003, IE was at the forefront. Its CSS support wasn't broken. It was the best and only. Its box model wasn't broken. There were no other box models to compare it to. You didn't need to give it separate CSS, because it was the only one around really to parse it. It didn't have non-standard AJAX support. It WAS the standard since no XMLHttpRequest object existed at the time.
You could write VBScript on a web page instead of JavaScript and have a >90% chance that client could run it. Flash didn't have to be bundled or installed separately, ActiveX just took care of it in the middle of your browsing session.
It was the Bronze Age of the web. IE was the one that moved us beyond stone tools. Later supplanted by Firefox and Safari's Iron Age, but still an important and arguably necessary step toward the modern web we know today, including the box model.
What was bad about IE, more than anything else, was how tightly integrated to the OS it was. Running windows 2000? You can only run IE6. Running windows XP? IE8 is your limit.
This was particularly problematic because MS struggled MIGHTILY to get Vista out the door. It was a decade of really terrible IE which was pushed out longer due to Vista's poor performance and stability.
Meanwhile, you could install firefox and later chrome and get a relatively modern internet browsing experience.
Ironically, I think the thing that hurt firefox adoption was the switch to the evergreen model. The era of firefox 3->~33 was quiet painful, updating was simply far too intrusive. "You are out of date, click here to download the latest version!". Chrome from the get go was pretty good at making that seamless.
My memory may be failing me but I think Firefox 3 was also where it started to feel less like the snappy minimal utilitarian “just a browser” it was in versions prior and started to feel more clunky, branded, and product-y, which also didn’t help its adoption in my opinion.
If nothing else it primed users for adopting Chrome, which originally had a less branded, more utilitarian feel not unlike early Firefox.
This cycle is somewhat repeating itself though as Chrome has become very branded and product-y. Would love to see something similarly functionally-minded as early FF/Chrome come out and take a big bite out of Chrome’s marketshare.
I think the update experience was a small part of it, but for me the process model of Chrome was the main thing that made me eventually switch. Crappy javascript on one tab would lock up the entire browser -- a thing that just simply doesn't happen in Chrome.
> IE championed CSS and the DOM. Netscape was fixated on bgcolor, font tags, etc.
Netscape championed its own alternate to CSS: JSSS. Javascript-based Style Sheets.[1] But the W3C went for CSS, so the CSS implementation in Netscape 4 (1997) was very rushed, and poor quality.
This is what led to the @import hack being possible, which used different style sheets for IE and Netscape.[2][3]
Yup. When it was released, IE6 was the thing. It was fast and worked very well. Speaking of bronze age, people forget how slow js was then. I remember writing server code that generated js code of pre-populated arrays to push down to the client to use for interactivity. Sending json and populating on the client was slow enough I could count in my head while watching the screen. Array look ups though were fast enough.
> But let's be clear, between 1998 and 2003, IE was at the forefront. Its CSS support wasn't broken. It was the best and only. Its box model wasn't broken. There were no other box models to compare it to. You didn't need to give it separate CSS, because it was the only one around really to parse it. It didn't have non-standard AJAX support. It WAS the standard since no XMLHttpRequest object existed at the time.
They should have done what Chrome does - write the standards to match what you've implemented.
You're completely correct that IE 4.0 - 6.0 was kicking Netscape's butt in terms of CSS support (not difficult as Netscape 4.x was truly awful). But not quite right that it was the best or only until 2003.
Opera could probably claim best CSS in the late 90s. And by 2003, Netscape 6.0 & 7.0 and Mozilla Suite 1.0 would have better CSS 2 support than IE 6.
I remember those days well. IE was really the only usable browser for a long time. Netscape was incredibly unstable, didn't support any modern standards. Mozilla (before Firefox) was too new, also unstable until roughly 2005.
> Mozilla (before Firefox) was too new, also unstable until roughly 2005.
That doesn't match my memory at all, unless you include Phoenix under the Firefox umbrella. I switched … I don't remember exactly when, probably in late 2003, but certainly when it was called Phoenix, and it was such a breath of fresh air coming from IE. I'm sure there were breakages, because it was the early noughties and that's what the internet was like, but I don't remember a single time wishing for something that IE provided that Phoenix didn't.
But I was just coming to it as a user, not as a dev—maybe you're referring to the dev perspective.
I was including all "Mozilla" browsers (Phoenix, Firebird, whatever) under that umbrella. I didn't start using Firefox seriously until roughly 1.5. Maybe it was just me!
I was there too. Actually ever since Mozilla M1 or M2 I think. Things were pretty rough back then (so much blue!). Then the browser-only Phoenix followed by the rename.
I (and presumably others) hated the notion of a Microsoft/Windows-only web. Younger folks just don't realize how close we came and the debt owed to those Mozilla devs.
And maybe peaked at 3% marketshare between 2000 and 2003 during Apple's early resurgence. Remember that Apple almost died in the late 90s. It wasn't the juggernaut it is today by a long shot.
Mac IE became its own albatross for web development for a while once Safari hit its stride and supplanted it.
Prior to somewhere between 2003 and 2005, "web standards" were aspirational rather than the reality on the ground. There was Internet Explorer for Windows at 85-90% and all the bit players scrambling for a percentage point or two.
For the bit players, the standards were their only bid for survival since no one would tolerate putting extra dev time into an extra 1%. Together, you could make a case for a 10-15% target.
For Microsoft's part, "IE is the standard" had an extremely long tail.
That DirectX filter hack for PNG transparency haunts me.
What makes it so much worse is that Tasman, the engine used in IE for Mac, had awesome support for CSS, transparent PNGs, and more years earlier, but for some reason it got dumpstered when IE for Mac was discontinued while the inferior Trident lived on in Windows.
Microsoft did a lot of weird things like that - also with Outlook, which used to use Trident to render emails, when IE was finally getting a bit better the Office team decided to switch Outlook to use the far, far worse Word HTML rendering engine instead...
Even thinking of that makes me very happy I haven't had to worry about formatting email newsletters for more than 10 years now, brings back bad memories...
Safari has been a huge pain for me as a web dev for its nonstandard parsing/implementation of basic CSS and requiring special cases made for it for things like modal focus/scrolling, nothing to do with Google or privacy whatsoever.
> The thing about IE, one thing anyway, is that it's CSS support, box model, etc, was broken and non standard.
Box model in particular was because they used the much saner border-box instead of the official spec's content-box, which was what everyone else used. You could make the other browsers act like IE by specifying it with box-sizing in the CSS, or from IE8 onwards you could make IE act like the others.
Maybe by WebKit you mean Blink and by Blink you mean V8, because when somebody does a "Show HN: something that doesn't work in Safari or FireFox" it's usually a javascript problem not a CSS or rendering problem. And every 6 months someone complains that Safari is literally worse than IE 5 because it doesn't support some non-standard privacy nightmare API that Google added last week.