Windows Blue: Why IE 11 is taking a leaf from BlackBerry's book

Windows Blue: Why IE 11 is taking a leaf from BlackBerry's book

Summary: IE 11 isn't pretending to be Firefox - it's showing up the sites that treat IE as a second-class browser.

SHARE:

For years, web developers have complained that Internet Explorer didn't follow standards.

Starting in IE8, Microsoft made a huge effort to turn IE into a standards-compliant browser. With the notable exception of WebGL, a graphics standard that runs code directly on your graphics card which Microsoft has rejected for security worries, IE10 does a great job on standards that are actually part of HTML5 and mature enough to not need developers to keep rewriting their sites. It doesn't have all the experimental prefixes that testing sites that focus on WebKit give points for (but then neither do many of the websites you actually use).

The problem is that even though IE10 (and the version of IE10 on Windows Phone 8) can render pretty much everything WebKit based browsers can, it often doesn't get the chance. Web developers who've mistaken WebKit for the open web don't bother coding the advanced features of their site for anything but WebKit and they send IE users to 'downlevel' versions of the site intended for IE8 and 9.

In some cases, they do their sums so badly that they mistake IE 10 for IE 6. In others, they declare that the site won't work in IE at all. It's always instructive in those cases to use the developer tools in IE to fool the site into thinking you're using Chrome or Firefox to see how much site actually works.

The version of IE 11 in the leaked build of Windows Blue doesn't do quite that, which is a good thing: browsers trying to interpret prefixes marked for other browsers is not the way to get well-built web pages that take advantage of standards.

What is seems to do (remember, this is an unofficial leaked build), is to use a brand new user agent string: IE instead of MSIE. Developers can still target IE specifically, but IE 11 won't be hampered by being sent to versions of pages designed for old builds of IE with bugs long since fixed.

BlackBerry's approach

It's a smart idea. So smart, that it's what BlackBerry is doing in the browser in BlackBerry 10 - and for the exact same reason.

"We changed our user agent so it doesn't say BlackBerry but just BB," app platform product manager Tim Neil told me at the BlackBerry Jam event earlier this year. That avoids BlackBerry 10 users getting routed to sites designed for older BlackBerry browsers, or to a generic mobile site with fewer features when the BlackBerry 10 browser - which has the highest score on the HTML5 test site because it uses a very recent version of the WebKit engine - can actually load the WebKit-optimised sites usually reserved for iOS and Android.

"If you don't recognise us, at least give us the desktop site," says Neil. "Maybe the site you're visiting has a great mobile jQuery view; we can use the new user agent to get that to you."

It would be nice if more web developers didn't limit their worldview to WebKit (which isn't the de facto standard many assume it to be; see quite how different the different browsers using WebKit actually are at the useful Quirks Mode site). But changing the browser user agent is quite a creative way of shaking off the browser hacks and workarounds of the past.

Topics: Microsoft, Browser, Windows, Web development

Mary Branscombe

About Mary Branscombe

Mary Branscombe is a freelance tech journalist. Mary has been a technology writer for nearly two decades, covering everything from early versions of Windows and Office to the first smartphones, the arrival of the web and most things inbetween.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

78 comments
Log in or register to join the discussion
  • Checking User-Agent Strings Is Such A Stupid Thing

    All the smart frameworks do more direct checks for specific functionality or behaviour, not user-agent strings. Remember, JavaScript is a dynamic language, you can do that.
    ldo17
    • yes, feature detection is the way to do it

      sadly, not enough sites do. To be really comprehensive, you need to do UA sniffing as well, if you want to handle browsers that don't have JavaScript. For example Microsoft.com uses responsive Web design but has to do UA sniffing as well as feature detection because it needs to support as many browsers as possible.
      mary.branscombe
      • Re: if you want to handle browsers that don't have JavaScript.

        What exactly is the business model to justify the expense in catering to such antiquated browsers?
        ldo17
        • Not necessarily lack of support or old browser

          Users may be on a modern browser with javascript forbidden to run.
          Ndiaz.fuentes
  • Nice idea, but

    Let's not forget "The wolf changes his coat but not his nature."

    Microsoft claims to be "new" today, "good", "do no evil" etc. But can you imagine, that web developers put that "anti-IE" stuff there so that users of IE be able to even see something meaningful. Claiming they intentionally support WebKit is silly.

    Then, what about the many IE-only sites, that you just can't view/use with anything else? Including those who try to send a horde of ActiveX controls your way.

    Anyway, user agent being the sole criteria for the browser's capabilities is silly. Neither will non-IE browsers work on IE-only sites, nor will IE work on other sites properly.
    danbi
    • talk to more mobile web developers

      If you don't think many web developers leave it at supporting webkit, talk to more devs - or try using View Source to see how many -webkit prefixes are in use when the non-vendor prefixes have made it into HTML5 as a standard. Libraries like Modernizr can do it all for you automatically, but most 'mobile' sites are built for iOS and little else.

      IE-specific sites in businesses - which were often tied to forms implementations from Sun that you have to pay Oracle to upgrade to work with anything later than IE6 - are a legacy issue; I'd be surprised if anyone has built an IE-only site in the last five years.
      mary.branscombe
      • IE only sites

        Unfortunately Marry, we still see some such sites, most absurdly many new, just built eGovernment sites. Very sad indeed.

        Whatever we do, we try very hard to avoid any browser specific code, but at the end, I see we have to put a lot of code to support various IE versions, and almost no code to support any other browser. It is good, that IE has recently became more standards compliant and it should work just fine -- but there are lots and lots older IE browsers out there and we just can't stick to the standards and ignore those.

        As for older libraries.. there are of course upgraded, but then there are lots of sites that haven't been redesigned for years. It is their choice of course -- less and less people will visit - unless people are forced to, such as in the case with eGovernment and utilities sites.
        danbi
  • Windows Blue: Why IE 11 is taking a leaf from BlackBerry's book

    Smart move for Microsoft Internet Explorer. I've seen more than a few times where the websites didn't want to display because I was using IE at the time.
    Loverock-Davidson
  • Why not?

    "nor will IE work on other sites properly"

    Can you explain why IE wouldn't work on other sites properly? If those sites are written to be 100% approved web standards compliant, IE should be able to work perfectly well.

    It is only sites that are written to be non-compliant, like if they use a proprietary patent protected touch model that apple refused to submit to the W3C, or use proprietary -webkit CSS properties, that won't work on standards compliant browsers like IE.

    Works best on (insert browser here) was not a good thing in the 90s and it is not a good thing today. Any company that tries to embrace, extend, and extinguish web standards should be fought against. In the 90s, that was Microsoft. Today, this is apple.
    toddbottom3
    • Sorry danbi

      My reply was meant for you. My mistake.
      toddbottom3
    • many cases

      My personal favourite and with which I have direct experience is digital signatures. You can't do that on IE without ActiveX (and a bunch of additional DLLs). Which means that you have to code separate digital signing interfaces for IE and non-IE browsers. The other extreme in Microsoft-only shops is to make it IE-only, which makes any other browser useless. Considering that Microsoft Internet Explorer runs only on Windows, those who use other platforms just can't use these things! Talk about compatibility by Microsoft.

      Another stuff is CSS. You have one CSS section for all other browsers and several other CSS sections for the various IE variants.

      Because if you try to send the standard CSS to an IE browse did not work (care to read, past tense), many web developers were forced to create gigantic CSS libraries to handle just that. Imagine, that people don't redesign their sites when Microsoft releases new version of IE. Nor they rewrite huge libraries of code, because today Microsoft woke up and decided technology XYZ is the best things since sliced bread, which was technology ABC just a day before that.

      Finally, people don't really care about Microsoft. If Microsoft wants their products to sell, they should make them compatible. Just what Apple does, by the way.
      danbi
      • Were you planning on actually answer the question?

        Nice rant. Care to answer the question now?

        "Can you explain why IE wouldn't work on other sites properly? If those sites are written to be 100% approved web standards compliant, IE should be able to work perfectly well."

        I said it was bad that MS went off and did their own thing in the 90s so your little rant was meaningless. However, everything you just wrote applies to apple today. So your rant actually ended up hurting your defense of the hive more than you intended.

        Webkit only websites are such a scourge on today's web standards that good companies that care about standards have had to resort to giving us great tools like:
        http://www.modern.ie/
        toddbottom3
        • nice try Toddy

          I won't bite your Apple bait, either.

          So tell me, fanboy: does the current IE support digital certificates signing without any add-ons? The today's IE please, not that of the "mythical 90s". You have IE10 on your Surface RT, you should know.

          It is not a shame to say you don't know. Nobody was born with knowledge. But when you don't know, it is not wise to pretend you do.
          danbi
          • Is it a web standard?

            "does the current IE support digital certificates signing without any add-ons?"

            Quote the W3C web standard and it is an easy enough thing to check.

            But you dodged the question again. I'll keep repeating it until you answer:

            "Can you explain why IE wouldn't work on other sites properly? If those sites are written to be 100% approved web standards compliant, IE should be able to work perfectly well."

            I'm beginning to think you can't actually explain this which is why you keep dodging the question and bringing up things that are completely unrelated to web standards.
            toddbottom3
          • oh man

            If IE works just fine with all the websites, what is all the fuss about???

            Just use it and be happy. I can't use it, because it does not run on any of the platforms I use. So whether IE renders properly websites for me, as a customer is pretty much irrelevant.

            Unlike you however, I have to deal with IE to support the many customers that use the services of my companies, who happen be told IE is the best things since sliced bread. We do what it takes to support IE, including spending an enormous amount of research, coding and testing time -- compared with any other browser.

            Like I said many times before - I am not here to educate you.
            danbi
          • I'll take that as a no

            Didn't think you could answer the simple question. Thanks danbi.

            "If IE works just fine with all the websites, what is all the fuss about???"

            IE doesn't work with websites that have been coded to only work with apple's proprietary, patent protected browser. This is a big deal today for the exact same reason it was a big deal in the 90s.

            "We do what it takes to support IE, including spending an enormous amount of research, coding and testing time -- compared with any other browser."

            You should talk to your project manager because it would be far easier for you to just code to web standards instead of coding so that your stuff only works on proprietary, patent protected browsers and then have to rewrite your stuff to work on standards compliant browsers like IE.

            "Like I said many times before - I am not here to educate you."

            Considering how much difficulty you have in answering simple questions, you should probably consider convincing someone to educate you before you worry about educating anyone else.

            But you and I both know what you are here for: apple pays you to astro-turf here and make sure your FUD is heard.
            toddbottom3
          • So pathetic, so desperate

            Toddy, you really have no clue what you talk about.

            None of our programmers code anything for Apple browsers. They all code to the standard AND for IE. Such is reality, fanboy.

            As for Apple payments, there is not even an Apple Store in the country where I live. Try better next time.
            danbi
          • Clearly you don't

            "They all code to the standard AND for IE."

            Since IE is a 100% fully standards compliant browser (even more so than webkit) then you clearly have an incompetent architect.

            Put your site through http://modern.ie to find out what you are doing wrong. Then give kudos to Microsoft for helping you do your job properly.

            But I'll give you yet another chance to answer what would be a very simple question for someone telling us the truth, someone who wasn't on apple's payroll:
            Name the W3C standard that you have implemented in your product that you have to rewrite for IE10.

            Should be simple. Unless you are lying.
            toddbottom3
          • kudos to Microsoft

            Yes, it gets even more funny. A month ago, we got "advice" by Microsoft that they started a new project to "help our industry". All kinds of ramblings and generic words. All kinds of examples how to do things if you use Microsoft technology (none of us does). Even the e-mail address where one would subscribe did not work!

            Microsoft apparently still has a lot to learn about the Internet.

            By the way, Toddy -- my day does not depend on your opinion.
            danbi
          • So you were lying all along.

            Todd asked you a simple question and you haven't been able to answer it. Either because you don't know what you're talking about or (probably and) because you're a company shill and your opinion is worthless.
            Pastabake