Principles and Legality

Published 16 years, 2 weeks past

I woke up this morning (duh DAAAH dah DUH) and yesterday’s announcement was the first thing on my mind.  No doubt it’ll be a recurrent topic, at least for a little while.

One of the takeaways is what this change demonstrates about the IE team:  standards is and was their preferred default.  If it weren’t, they just would have found a way to square the IE7-default behavior with the Interoperability Principles announced late last month (slightly tricky but entirely possible).  That they initially chose otherwise speaks volumes about the pressures they face internally, and their willingness to publicly change direction speaks volumes about their commitment to supporting standards.  While I’m sure community feedback informed their decision, they pretty much knew what the reaction would be from the get-go.  If that was going to be the deciding factor, they would’ve chosen differently up front.

So what drove that change?  I keep coming back to two things, both of which were explicitly mentioned in yesterday’s announcement.

The first is, perhaps obviously, the previously mentioned Interoperability Principles.  Head on over there and read Principle II, “Support for Standards”.  If that isn’t a solid foundation on which to build an internal case for change, I don’t know what is.  I’m wryly amused by the idea that the IE team used the Interoperability Principles as a way to batter their way out of the grip of those internal pressures I mentioned.  The former aikido student in me finds that very satisfying.  True, the Principles came under fire for being just another set of empty words, but it would seem that they can be used for at least some concrete good.

As for the second, there’s a phrase repeated between the two announcements that I didn’t quote yesterday because I was still pondering its meaning.  I’m still not certain about it, but having had a chance to sleep on it, my initial reading hasn’t changed, so I’m going to quote and comment on it now.  First, from the press release:

“While we do not believe there are currently any legal requirements that would dictate which rendering mode must be chosen as the default for a given browser, this step clearly removes this question as a potential legal and regulatory issue,” said Brad Smith, Microsoft senior vice president and general counsel.

And then in Dean’s IEblog post:

While we do not believe any current legal requirements would dictate which rendering mode a browser must use, this step clearly removes this question as a potential legal and regulatory issue.

Okay, so they’re on message.  And the message seems to be this: that Opera’s move to link IE development to the larger EU anti-trust investigation bore fruit.  I was highly critical of that move, and unless I’m seriously misreading what I see here, I was wrong.  I’m still no fan of the tone that was used in announcing the move, but that’s window dressing.  Results matter most.

Speaking of Opera, there’s another side to all this that I find quite interesting.  So far, the reaction to Microsoft’s announcement has been overwhelmingly positive.  The sense I’ve picked up is, “Hooray! IE will act like browsers always have, and the problem is solved!”.

But is it?  The primary objection raised by Opera and several members of the community was that version targeting is an anti-competitive move, one which will force browser makers like Opera and authors of JavaScript libraries to support an ever-increasing and complex web (sorry) of rendering-engine behaviors in the market leader.  So far as I can tell, the change in default behavior does next to nothing to address that objection.  The various versions will still be there and still invoke-able by any page author who so chooses.  Yes, the default will be better for authors, but I don’t see how things get any better for Opera, Firefox, Safari, jQuery, Prototype, et. al.

Perhaps I’ve missed something basic (“Again!” shouts the chorus).  If so, what?  If not, then why all the hosannas?


Comments (31)

  1. Meyer–

    You are on of the few people in this business who actually think prior to hitting that ‘submit/publish’ button.

    As the markets adjust, e.g. Intranets, version targeting within IE will fall to wayside, I believe. The issues and concerns of other browser manufacturers will become moot. In the short term, I don’t believe they have that much to concern themselves with IE’s ‘temporary’ version targeting.

  2. I still worry that in the future Microsoft will require Silverlight on microsoft.com just to increase its adoption and userbase. Then they can start selling their IDE or development tools for it. Another thing they could do is bundle it with IE8. I’m sure one of those two options will happen though.

  3. I had similar htoughts about hte bundled in ‘old versions of IE’. I think that you are half right in that it won’t fix that issue.

    The thing is, by taking the standards route as default there’s going to be a lot more pressure for developers to learn their trade properly (or whack in an IE7 render-mode tag). If people _do_ opt into it with the tag, that tag means MS can scrape the web to see exactly how many people are relying on the IE7 engine. They can then make a far more informed decision about whether to drop IE7 from the core of IE9.

    As it had stood they would not have known who was relying on it and who wasnt. The new way means a bias toward standards and gives a concrete measurable indicator of how many, and who, are needing the IE7 render behaviour.

    I reckon they’ve pulled a smart move. I don’t think IE8 is going to break anything like as badly as IE7 did when it dropped, and in a couple of years the IE team are going to have statistical ammo to argue for not including older render engines. They’re making their work easier in the long run.

  4. Do you believe that IE’s decision to default to “the most standards compliant way it can” is mostly due to being scared of potential legal problems? It would seem that they are trying to be more focused on the the feedback they have gotten from people, but have they done that in the past? What sparked the change in attitude?

  5. I stated in my comments on your last article that I feel that IE8 rendering as IE8 as the default behavior is a good move in supporting the progress of the web. I still stand by that comment. Here is the rest of my view.

    You stated:

    The primary objection raised by Opera and several members of the community was that version targeting is an anti-competitive move, one which will force browser makers like Opera and authors of JavaScript libraries to support an ever-increasing and complex web (sorry) of rendering-engine behaviors in the market leader.

    I don’t consider the “ever increasing” rendering behaviors to be a result (purely) of version targeting being implemented. “Ever increasing” rendering behaviors are a result of inadequate implementation of pages and sites (according to standards). The desire to make them continue to appear or behave the way that did previously in an older browser version (any popular browser) will be the catalyst to upholding various quirks.

    As long as “the unenlightened” are able to develop websites inadequately (which should be forever), this will be the result.

  6. Eric,

    I tried to write a succinct explanation of why this default behaviour is less anti-competitive but failed. Matt’s characterisation of a “bias toward standards” captures the situation well — if an uniformed developer has to consciously opt-in to IE7-era support, he’s effectively admitting that his code isn’t standards-compliant. The previous proposal allowed him to pretend there was nothing wrong with coding to IE.

    Now people who use no meta-tags (and a doctype) will be getting “edge”, which is a moving target — as we’ve been arguing for. This is greatly preferable from an anti-trust perspective to “IE7 forever”, as MS was proposing.

  7. Oh dear — please substitute “uninformed” for “uniformed” in my previous comment!

  8. The interesting thing that I see in the new default behavior is what many people (Eric included, I believe) noted when justifying the first default behavior: most people who are making websites that will break in IE8 won’t be aware that they can target IE7. They won’t see the Microsoft press releases; they’ll just see their random JavaScript snippets and a few of their random CSS snippets break, and they’ll remember that all of their random CSS snippets broke when IE7 came out.

    My feeling is that the IE team is hoping, as Matt says, that the need for version targeting will be reduced by this new default behavior. We’ll see some sites break when IE8 is released, and I suspect Microsoft will encourage people who reach out to them to learn how to fix issues properly, if we can use Ray Ozzie’s statement as a guidepost.

    My hope is that all of this won’t backfire against the IE team too much and cause an internal problem, but if it doesn’t I think it will prove to, at least in the long term, eliminate the need for this version targeting. As an aside, I suspect that there will be a decent number of .NET sites that have been coded to various IE quirks, that will encounter problems in IE8. Because of this, I think that along with things like the ASP.NET MVC framework, this kind of change will also influence the way that Visual Studio and the .NET development stack produce front end code. That can only help eliminate this need.

  9. No doubt there are various reasons for Microsoft to have made this decision. Internal pressure from their own Interoperability Principles and (most likely) IE Dev team, external pressure from the developer community and (again most likely) the EU.

    Whatever their reasons may be, the outcome is what will be best for everyone. Does this mean that I think the end has justified the means? I don’t think so. Microsoft weighed their options and thankfully chose the better path.

  10. Version targeting is only an anti-competitive move if it’s used to such a significant degree that other browsers start to feel they have no choice but to emulate the version which was targeted.

    Yes, it still sucks that it’s present at all, but with the shift of default, the ball is now in our court as web developers to not use version targeting (so there’s nothing for people to copy/paste and pick up bad habits from), to not recommend it (or better yet, to actively recommend against it), and to help other web developers to find the right solutions, rather than the easy ones. Basically the same thing as we’ve already been doing as part of the web standards movement.

  11. If this is solely a move by Microsoft to appease the EU commission then this victory may end up being a Pyrrhic one. However, I don’t think it’s as straightforward as that. Microsoft has been under pressure from a number of fronts. EU commission, open source, online services, web browser market share and Vista’s shaky start all seems to have put Microsoft mind set towards interoperability. I’m getting the impression Microsoft is realising that fighting each and every battle it will hurt them in the long run. They have more to gain by complying with standards then desperately holding on to their current status quo.

    With all this in mind it’s clear that version targeting should be relegated to an emergency solution. The question is: Will Microsoft also see it as last resort and that it should be discouraged at every opportunity? To me it, naive as it may sound, looks like that Microsoft is moving web standards front and centre so that it can compete with Google without being shackled by the past.

  12. I don’t know if this is the right answer, but here’s how I think edge rendering by default is less anti-competative:

    As the market leader, Microsoft has the ability to dictate where the bar is placed in terms of standards support for the majority of web users. If Microsoft sets that bar low (IE7 default rendering) they (as the market leader) are, in effect, encouraging content publishers to code for that level of support. To put it another way, they would be declaring that IE7 *IS* the new standard. Opera and others have software that is already incompatible (by nature of being more advanced) and they can’t make their software less advanced just to meet a standard defined by IE7.

    By using edge rendering as the default, the IE team is committing to working toward standards support for their software and the whole web. That places them on a level playing field with all other browser makers.

    As I mentioned, I’m not sure that’s the answer to your question, but if I were trying to justify the move to internal stakeholders at Microsoft or antitrust investigators, that’s probably the angle I’d approach from.

  13. I took the polar opposite view regarding the EU anti-trust complaint by Opera for pragmatic reasons; not because I thought things should be settled that way (in fact, the opposite,) but from a degree of familiarity with the positive pressure such action can bring to bear. In this case, the action would even seem to be supporting the interoperability aims of the IE team.

    It seems to me that optional version targeting is a way of including Microsoft’s own commitment to backwards compatibility in an interoperable future as I mentioned today, and as described by Nigel Parker in a follow-up post to discussions at Kiwi BaaCamp. It may be possible that, instead of countering Opera’s complaint before the EU Commission, if IE8 is released Microsoft could tacitly acknowledge it, yet also argue that they’re are moving away from competitive exclusion towards interoperability. At the same time they can argue the strong need to meet their responsibilities to legacy software vendors to provide backwards compatibility. They could also argue that not to do so may leave them open to further liability. Of course, the fact that IE is embedded in Windows would still be an issue.

    Something that always surprises me is coming across local authorities in the UK who are still running IE5 on their machines for legacy applications to function. However, I doubt that any serious vendor is not moving towards interoperability themselves. At least this way progress is not arrested for the sake of either competitive advantage or backwards compatibility as applications are refactored.

  14. I’m still not convinced that the original proposed default behaviour was such a bad idea. Although it will still be possible for lazy developers to set their sites to render as IE7 there will still be a massive chunk of unmaintained web that will appear “broken”. The effect of this will be to slow the uptake of IE8 amongst ordinary users which means those of us wanting to use web standards will still have to wrestle with the old engine.

    Opera and others argument of this causing a “web” of different engine behaviours to fight doesn’t stand up. There’s always a web of different engines, because there are different browsers out there. I still see more than a few hits from IE4.

    By having the original default more people will upgrade to IE8 sooner and it gives the site developer the choice of what rendering engine the majority use rather than having no say.

  15. Pingback ::

    IE8 meta switch switch! — onenaught.com

    […] Principles and Legality, by Eric Meyer (see also the interesting comment by Matt Wilcox in the comments thread) […]

  16. You’re right that this doesn’t address the issue I and several others raised. It’s slightly better than what we had before though.

  17. Currently, standards-conscious designers will test their webpages in a browser such as Firefox or Opera, then tweak them so they look the same in IE. The others test first in IE and fix (or not) for other browsers. If both IE and the other browsers render webpages in the same way, what’s the difference?

    The one loophole here is that designers could add in the meta tag *before* starting on a webpage (and I’m sure some will) but I can’t imagine that most will go that extra step to make their lives harder.

  18. Let’s be honest with ourselves. It will still require all the usual tweaking and head banging to get all browsers to work the same – but this is a huge positive step forward for MS (whatever the motivation).

    Any they do say not to look a gift horse in the mouth …

  19. Anne, I think we can (almost) all agree it’s better to some degree, slight or great. So is that good enough? And if not, do you have thoughts as to why so many people seem to think that it is?

  20. Eric, I understand this as a clear message to developers that they should support standards for continued interoperability, and that supporting IE7 indefinitely will lead to an unwanted burden for developers. So, with the default now set to IE8, and once most users have IE8 … IE7 support can be dropped from libraries. Thus, those developers still wishing to support IE7 indefinitely can then do so on their own time.

  21. do you have thoughts as to why so many people seem to think that it is [good enough]?

    I do, although they might be a bit disingenuous. I think most of the hostile reactions were based on emotion. I know I get pretty attached to my code, and I think the idea of having to include a meta tag to get standards-y behaviour made some folks feel like Microsoft was encroaching on their territory.

    This is all just ill-informed armchair psychology, of course.

  22. Any improvement is great when compared with the worst scenario: ‘opt-in’ or IE7 forever. That IE’ default now is for progress, will have a positive effect on the work of more designers then if the default was “stuck in the past for ever”.

    That we’ll still have to code our way through the same growing number of versions and modes for ages, is bad. However, it has become “the norm” now and there’s nothing we can do to change it.

    “Good” would be if we could code to spec without having to test in UAs and worry about versions or modes. Won’t happen in my life-time, so I’m (conditionally) happy for any minor improvement I can find.

  23. I’d think that many people think it’s good enough because it is good enough — for them.

    For the Web and other browser vendors it remains to be seen, however. It all depends on how much authors code only for IE and how they go about that. If we get various large blocks of sites each coded towards a specific IE version (5, 7, 8, 9, etc.) we’re in trouble.

  24. If the only allowed and processed tag would be the IE=7 tag, it would be part of the solution.

    If IE8 is as standard compliant as MS wants it to be, i.e. like Opera and FF, there shouldn’t be a need for IE9 to render pages like it’s IE8. Let it render IE=whatever like IE7, and let those sites slowly fall away as ppl become aware of the advantages of new code in HTML5 and beyond that is not supported in the IE7 engine.
    If ppl want to be stuck in 2006, let them.

    Another point ppl made is the broken DOCTYPE thing cause editors put it in willy nilly so that it lost all meaning. IE=* has that same potential. Again only recognizing IE=7 would solve that, eventually the newer programs will want to use new standards that are not compatible with IE7 and they’d stop using it.
    New versions will have to be made anyway to put it in their current broken programs, they will be forced to take a good look at their next version.

    This way there’s no need to include an ever increasing set of API’s.

    Any disadvantages to this approach I’m not seeing?

    perhaps an intermediate step could be used to only support IE=edge,standard,old – a shifting model, giving developers more time to move along with the times. haven’t thought this out though.

    I’ve come to this late, apologies if this idea is unoriginal, i’ve not read all the blogs yet. The more I read on the various comments on ALA and some other blogs, the more I felt there was something ppl were missing. Besides, the ALA comments were closed :)

  25. If web page creators continue to work around bugs by either using standard-compliant markup which can render correctly by itself in standard-compliant browsers, or using mechanisms like conditional comments, then version targeting should only affect the targeted browser (IE). Should creators start deliberately using IE version targeting instead of conditional comments or other safe ways of feeding IE-specific instructions to IE browsers only, then there could be a decrease in standards-compliant sites. Hopefully Microsoft and others will continue to push the message on how to safely workaround any bugs, and version targeting will simply be the method of last resort to catch any lingering issues.

  26. Regarding the “hosannas”, an option that isn’t default will be MUCH less used. Rather all new pages on the web adapting themselves to IE7’s frozen quirks only those that are explicitly marked X-UA-Compatible will do so, and we hope that this tag/header won’t be all that common and actually die a slow death.

  27. Hallvord: But I would think the multiple-profile support issues would still arise, and so I don’t see why this is substantiatively different for Opera, Safari, Gecko, etc. in terms of engineering effort and competitive pressures. Sure, maybe in five years it will have died a slow death, but what about the demands it places on IE’s competitors in the meantime? And if those are still in place and therefore just as onerous, shouldn’t there still be widespread opposition to the idea? If not, why not?

  28. While you’re correct and version targetting will still be a problem, at least now lazy developers will often be forced to choose between standards and actively opting in to IE7 behavior. The alternative might have been continuing to exist blissfully unaware that their site sucks in standards-based browsers.

  29. So this was all about forcing “lazy” developers to act the way we think they should, to have them conform to our way of thinking instead of the other way around? Is that what drove the outcry? Not concern for the future of browsers or the web, but merely concern for our own convenience and sense of superiority?

  30. Perhaps some of us agree then, that this is better because 1) it sends a clear message to developers that standards are the path to the future web (so we do not break the future), and 2) less than or equal to IE7 will hopefully die a slow death in at most five years. However (and this is a big However), now that we all see the Beta, where is the full W3C DOM support that we were told would catastrophically break the limited old web while enabling the unlimited future web?

    But, let me end with this thought. How would we all feel about fully supporting NN4? Would requiring full NN4 support for an eternity move the web forwards or backwards?

  31. Pingback ::

    Bruce Lawson’s personal site  : Announcing a career change and life change

    […] to complain to the E.U. about Microsoft’s abuse of web standards, but in hindsight, many see a link between Opera’s complaint and Microsoft’s change of heart over IE8’s standards compliance. To me, that’s a proven track record that is a good […]

Add Your Thoughts

Meyerweb dot com reserves the right to edit or remove any comment, especially when abusive or irrelevant to the topic at hand.

HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <em> <i> <q cite=""> <s> <strong> <pre class=""> <kbd>


if you’re satisfied with it.

Comment Preview