Microsoft Confirms IE8 Has 3 Render Modes
Dak RIT writes "In a blog post this week, Microsoft's IE Platform Architect, Chris Wilson, confirmed that IE8 will use three distinct modes to render web pages. The first two modes will render pages the same as IE7, depending on whether or not a DOCTYPE is provided ('Quirks Mode' and 'Standards Mode'). However, in order to take advantage of the improved standards compliance in IE8, Web developers will have to opt-in by adding an additional meta tag to their web pages. This improved standards mode is the same that was recently reported to pass the Acid 2 test, as was discussed here."
I've been developing web pages for more years than I can count, and I (like everyone else in the field) know the annoyances of Internet Explorer. Everything from their faulty implementation of the box model to their poor handling of Javascript has done an unimaginable amount of good for the stock prices of the asprin (and beer) industry.
That being said, IE has come a long was since the days of version 6 (those that came before version 6 are unmentionable), and some credit has to be given to Microsoft for finally trying to do something about their browser. Seeing as how it is the de-facto standard, it's good that they're putting at least some effort into making it better.
I love Firefox, and I love that Mozilla is the reason why Microsoft is being forced to update their browser (competition is everything), but we're going to be stuck with Internet Explorer for the foreseeable future, and progress can only be a good thing.
Nemilar http://www.techthrob.com - Visit Me!
Since this new tag lets them safely break compatibility with the old IE, are they going to fix longstanding javascript issues like moving to the standard event model?
It would be nice to be able to write javascript without a bunch of compatibility hacks; however, the IE team hasn't shown much interest in javascript compatibility in the past and instead has focussed on CSS compatibility. CSS is also an important area, but it alone won't allow for hack free coding.
As it stands there's a lot of incentive to move to a different platform, such as flash or silverlight.
Personally I would like to see developers who shortsightedly developed for a specific browser be punished by having to go back and include a "render in the old broken format" tag in every page instead.
Seriously, where is the benefit to the web devs to turn on this mode?
Gosh, I don't know, being able to save a fuckton of time and effort by writing code to a known and openly-documented standard *and* being able to have things work fairly reliably almost everywhere without having to poke blindly at shit until it works? :P
This always seems to come up, and I'm bewildered by the fact that it does. Here, once again, is the core issue: IE as it stands right now doesn't suck to write code for just because it doesn't follow a particular set of standards, it sucks because there *isn't* a reliable set of standards to use when coding for it. Writing markup etc. for IE isn't a methodical process, but a series of guess-and-test maneuvers and a lot of F5. There's a degree of this to be expected in generating complicated layouts, but it should be towards the end of the process; doing things for IE, this starts way early in the process. It's a time sink. It's akin to, say, getting a kit for building a shed but there not being any instructions -sure you know what a shed looks like, and the pieces themselves -screws, planks of wood, etc. are known to vaguely work in such-and-such a way, and you put it together mostly on trial-and-error, and as long as it stands up and looks approximately correct, it's done. It's stupid, inefficient, and frustrating.
The problem is that Microsoft want to keep compatibility with its own old buggy browsers, and in the same time, they try to kill their old software (Windows 2000 died recently).
Why not simply drop the compatibility now ? This will force people to upgrade much faster...
I've blogged about why I don't think we'll follow this path in Firefox.
http://weblogs.mozillazine.org/roc/archives/2008/01/post_2.html
http://weblogs.mozillazine.org/roc/archives/2008/01/slipping_the_ba.html
One interesting thing is that as far as I can tell, this will become a crushing burden on IE development.
Tweak your pagerank algorithm so it improves the position of pages that are xhtml-strict, (or at least well-formed and don't use nonstandard tags), and publicize the fact. That will provide an incentive for people to start making their pages standards-compliant. Currently there is very little incentive to standardize.
That's absolutely asinine. Just because Microsoft screwed up by not making their browser standards compliant, doesn't mean you should punish a majority of the users of it's browser. A lot of people haven't even heard of other browsers that are better, so why should they be punished?
Meh, it's your loss. When you have fewer customers because only a certain percentage of them can view your website, you'll realize that your OMGWTFBLAMEEVERYONE attitude was truly the one at fault, not MS.
:(){
Browser makers could do a lot of good for standards compliance if they would warn the user (unobnoxiously, of course) when he/she is visiting a web page containing invalid HTML code. You wouldn't purchase from a web site that doesn't cause the little lock icon to show up on your browser, so would you also think twice if you knew the company didn't care enough to produce standards-compliant HTML code?
Since the web browser is used as a development tool, it should alert the developer of any syntax errors instead of attempting to silently recover from them.
Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
I think Microsoft expects that if they announce a change to strict standards compliance in IE8 by default, then they would immediately start losing market share to other browsers. Browser which have strict standards compliance _now_ and can be used by web developers for testing right now.
PS.(OT) If they were able to get away with an "inconvenience" such as Vista (DRM, cutting of XP etc.) then they can get away with forcing strict standards compliance in IE8.
Well, the "problem" they're trying to solve is that IE isn't standards compliant. It was never standards compliant, so why is it suddenly a problem that needs solving? Simply, because everything else (more or less) is compliant, and they realise that IE will become increasingly irrelevant if it refuses to play nicely with the rest of the world.
So the answer as to what else could they do is simple: they could drop IE! Rename the new version to "Windows Intranet Application Host" since that's about all it's good for anyway. There's enough other browsers already, and it's likely more would be created to fill the void left by MSIE. We now have reasonably well defined standards and several implementations of interoperable browsers; we simply don't need IE8.
People could still use IE 6 or 7 for legacy web sites and internal applications until they're no longer needed, at which point they'd just die off gracefully.
Okay, maybe it's not realistic, but it would be nicer than forcing the entire internet community to endure yet another round of Microsoft's ineptitude.
(*) By some defintions it's always been broken, since it doesn't comply with the spec. But users seeing a broken page on a broken browser that looks right doesn't care. And for the users on a compliant browser it will always be broken regardless of tagging. The only thing linking it to a specific implementation would do is to prevent it from suddenly becoming broken because a bug in that implementation was fixed. But I'd say that's pretty important so the developers of the browser can make the necessary changes without getting slammed over breaking existing sites. Don't you?
Live today, because you never know what tomorrow brings
Hrm... browsers could recognize the tag, and display a banner above the page that screams, "THIS WEB PAGE IS NOT STANDARDS COMPLIANT, please ask your vendor to fix it".
That's actually not a bad idea. Although it doesn't seem like something that MS would do. Let's remember that MS is the one who won't drop a single piece of backwards compatibility even if it means their OS will be a steaming pile of crap. They would be better off if they just dropped all the backwards compatibility, and just ran all the old stuff in an emulated version of the old OS.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
Yes. Let them add hacks like . Don't make the standards compliant people have to add .
The box model is actually one of the few cases where Microsoft did it right in the first place, and the w3c did it wrong. Conceiving padding as something that's not internal to a given block is highly non-intuitive and annoying, it actually makes certain things impossible. Want precisely proportional columns, but fixed-width padding? You could do it with a sane box model with no additional markup, but with the w3model, you'll need another div.
I say this as someone who has a burning hatred for the IE product management team -- I'm normally a bleeding-heart compassionate type, but for the thousands of hours of my life they've stolen from not only me but every web developer in the world who has to work around the intentional weaknesses in their product, I'd happily smile as they were methodically flayed in a lemon juice bath between bouts of being shat upon by elephants. But they might deserve an ever so small moment of reprieve from their prolonged suffering for intelligently bucking the weak w3 choice.
Tweet, tweet.
Do you repeat yourself a lot?