From Switches to Targets: A Standardista’s Journey

by Eric Meyer

89 Reader Comments

Back to the Article
  1. @Carsten E:
    “Browser-vendors can make up their own mind if they want to offer rendering for 3 previous versions or 20. But if they do 2 at least most websites won’t break, which was what this whole discussion started about.”

    Using this switch you can specify a version number which means that if IE12 encounters a version switch that defines IE10, it has to render as IE10, otherwise there would be no reason to specify a version.


    “No need to alter, just optional to use in sites to be build in the future.”

    It won’t be optional in the end because once it is implemented IE7 will be the default mode forever! Not really an option in the long run. That’s just the whole problem with this switch: the fact that not the latest version will be the default rendering mode, but that of an old version. This can not be reset later on, other that introducing yet another switch.
    Therefore this switch is not a solution to a problem, but only a temporarily cover up.

    Copy & paste the code below to embed this comment.
  2. From the original Beyond Doctype article:

    “In an ideal world, of course, all specifications would be perfect from the get-go, and their implementation in user agents would be immediate and flawless. In a slightly more down-to-earth version of an ideal world, browser vendors would immediately integrate regularly updated standards into new user agents—and users would have instant access to the latest version of those browsers without having to lift a finger.”

    When I read that I thought “Doesn’t my antivirus software do this every day?” Each day at 2 AM it downloads an updated database of virus information and automatically installs it. Maybe the thing to do for Microsoft (and others) is to create a “standards database” that can be updated every so often automatically by the application.

    In fact this could easily function as an improvement of or extension to the Firefox/IE/Opera update mechanism that alerts me that a new version is available. Just tell me that an updated “DTD entry” is available and tell me to install it. Or even better, have the browser automatically pull it down and install it.

    (yes, this is pretty much a copy of another comment. The more times I say it the better chance someone will see it.)

    Copy & paste the code below to embed this comment.
  3. I’ll second Keri in post 31.  Let the sites break and the users upgrade their browsers.

    I remember that I was expected to upgrade to Netscape 4 when a lot of sites started using frames. We’ve all learned that frames are obnoxious and not a good idea in general, but the point was in order to use the new feature I had to upgrade. I think the same thing applies now just as much as it did when all of the browsers started supporting frames.  If you want to take advantage of new browser features I say you must upgrade. I think standardized rendering is a feature worth upgrading for.

    Of course upgrading will only work if the “new” browsers actually adhere to a common and standard specification.

    I’d also like to take this opportunity to thank Microsoft for making my job as a web developer as difficult as possible, with the likelihood of becoming impossible in the near future.

    Copy & paste the code below to embed this comment.
  4. I can’t imagine that nested engines would lead to anything close to a stable product. Even assuming that somehow developers get the standard browser implementation of IEn running as IE7 to work as expected, there are still the other myriad uses of the IE engine to worry endlessly about.

    Given that this type of support would almost certainly need additional overhead, how would a move like this affect the development of the browser for mobile devices, embedded systems and integrated browsers (like Help sections)? It is surely hard enough to get a browser to function under these conditions, let alone once you add increasing levels of complexity and a fixed hardware platform.

    How would you suggest even approaching things like embedded systems where you know conclusively that an browser will not change versions? ‘lite’ installs with single version support?

    Copy & paste the code below to embed this comment.
  5. Browser switching is probably MS’s response to losing market share to better web-standards-compliant browsers like Mozilla/Firefox.

    The hooks:
    1   For developers: Throw a spanner into the pot so developers need to spend even more time coding to IE’s peculiarities. They might be kept so busy they won’t have time to develop for other browsers.

    2   For the public: Why ever use anything other than IE? It becomes the only browser capable of reaching backward and forward in time.

    Blah. More posturing. More MS complications. More reason for web standards development to keep moving forward.

    Copy & paste the code below to embed this comment.
  6. The most telling aspect of this article is that it reads more like an apology than an endorsement. It’s almost as if Eric Meyer threw up his hands in exasperation and said, “Sorry guys, I know there are a lot of problems with the idea, but this is the best we can do given the circumstances.”

    As much as I respect Mr. Meyer, I’m going to have to disagree. We can and should expect better.

    Copy & paste the code below to embed this comment.
  7. It’d be much more useful if Microsoft and other browsers made better resources available to web developers.. how about the latest versions of the code, e.g. http://nightly.webkit.org/

    How about releasing development versions of OLD browsers that would enable developers to run multiple versions of FF, IE, whatever on the same machine for testing purposes.

    How about some simplified matrices of what features have been updated, how rendering has change from browser to browser, lists of developer friendly info on fixing rendering issues etc.

    Maybe if Microsoft released a developer toolbar that didn’t suck, maybe even a javascript debugger (or at least a good logger) that doesn’t require visual studio.

    That’s the kind of stuff that as a developer, i would find genuinely helpful. There is plenty of room for improvement in other areas without going down this road.

    Copy & paste the code below to embed this comment.
  8. The browser wars may be back if this proposal goes ahead. If so, do battle with words. Let Microsoft know we are NOT happy with this idea, which may well stagnate large parts of the web, locked into IE-only sites designed for out-of-date browser versions.

    I’ve made a range of “t-shirt designs”:http://www.flickr.com/photos/christopherhester/sets/72157603847933333/ suitable for the oncoming battle. Let’s all join forces and combat this growing threat. Don’t let Microsoft control the web and hold back standards!

    Copy & paste the code below to embed this comment.
  9. There are a number of good points made in the responses to this post.  I have a few thoughts of my own:

    My own recommendation would be to use HTML 5 as a breakthrough point.  At this point in time, force the doctype to be strictly HTML 5.  Everything made before this time would be HTML 4 or earlier and would have quirks.  Have no “quirks” mode for HTML 5.  If the markup is wrong, let the browser show a failure. 

    I’d also recommend the doctype for HTML 5 include the numeral “5”.  Should a future standard break HTML 5 rules, browsers would know to use HTML 5.  If you write a faulty program, it’s going to crash.  If you don’t write web page correctly, it shouldn’t display.

    I see no reason to use the meta tag to target specific browsers.  Many users upgrade to the latest browsers.  Some are slower to adopt than others. 

    With the meta tag solution, would subversions be compatible under the major number or separately numbered?  IE5 / IE5.01 / IE5.5 anyone?

    What I truly think would make a better solution is to have pages tagged with standard numbers.  For example:
    <standards>
      <standard name=“HTML” versi >
      <standard name=“CSS” versi >
      <standard name=“ECMAScript” versi >
    </standards>

    That way, the browser would know exactly what versions of each technology were coded into a page.  This would also encourage page writers to think about the standards being used.  Authoring tools would also become more compliant.

    Copy & paste the code below to embed this comment.