Follow-up to WebKit for IE… hint: I was wrong

My post from a few days ago about how Microsoft should give up on their own rendering engine for IE and adopt WebKit got a lot of attention. This was thanks in large part to Mary Jo Foley of ZDNet tweeting about my post. Thanks Mary Jo, as you told me later when I was getting a lot of negative feedback, at least it caused people to think about the issue. It also led to a lot of very knowledgeable feedback, and based on that I’ve been convinced I was wrong.

Please understand that whenever I post to my blog, I strongly believe in what I posted at the time. It’s not link bait, or trolling, or whatever you want to call it, and I’ve been accused of all of these in the past. That being said I’m more than willing to be convinced and the longer I spend in the computer industry the more I know that there are many many people more knowledgeable than I am on any topic. So I only hope that my posts can spur some discussion and I am more than willing, and even eager, to be convinced of the opposing viewpoint.

What drove the original post was a frustration of Windows Phone getting slammed left and right and mostly because of the fact that IE isn’t WebKit and many mobile web developers take the easy path and make sure their stuff runs good on WebKit. This is very understandable since WebKit probably accounts for over 90 percent of mobile web traffic. This being the reality, it’s frustrating to see sites like The Verge give negative reviews to Windows Phone because of the fact that IE doesn’t render the non-standard CSS on their site properly.

It seemed like the obvious solution to this is if Microsoft was to adopt WebKit and contribute back to it to make it better, and overall WebKit’s implementation of HTML5 would get better. The main opposing viewpoints were that by Microsoft adopting WebKit there wouldn’t be a strong opposing implementation of HTML5 to keep WebKit honest and work harder to properly support the standard, and since the IE rendering engine, Trident, is so core to Windows 8 Store apps and other apps via the web browser control, it would be very hard to swap it out.

So back to my original frustration about Windows Phone and having a default non-WebKit browser. This is a real issue and I feel now that I recommended the wrong solution. The better solution is to add the capability to Windows Phone 8 to choose an alternative default browser. This would leave it open to the browser providers such as Google, Mozilla, Opera, etc. to provide a better option on the platform. Specifying a different default browser is something you can’t do on the iPhone, and Windows Phone could easily turn it into some positive publicity. After all, Windows 8 lets you pick your default browser, so why not enable this in Windows Phone.

So in conclusion, I’m not afraid to be wrong, and I’m wrong pretty often, but it’s great when it leads to a discussion where a better solution becomes clear. In this case I believe the real solution is for Windows Phone 8 to allow you to pick your default browser.

  • http://blogorama.nerdworks.in/ Raj

    I think a better solution would be for Google to build web apps that work cross browser. For somebody who’s supposed to be a proponent of web standards and is actually a part of the W3C, its fairly silly to claim that one of their prime web properties has been optimized for one particular browser implementation.

  • Braumin

    Yes this entire debate is silly.  If “web standards” are a good thing (which people claim they are) then mobile sites should follow web standards.  Just because 90% of traffic is webkit doesn’t make it a good decision to only focus on webkit.  The exact same notion was forcefully disputed back in the early 2000′s when IE 6 was 90% of the traffic.

    Microsoft has done a lot to get their browsers up to speed on web standards.  Now it’s web developers who need to use these standards that they so begged the industry to get when they had a burning hatred of IE 6.

    • Guest

       This is not “the exact same notion”, because webkit is open source, and Microsoft can either contribute to it upstream or just fork it. But yes, I’d certainly prefer that sites could just follow the web standards…

      • Braumin

        Open source or not, it’s still the same thing.  There are other web rendering engines as well, not just Trident.  Should FireFox also dump Gekko and switch to Webkit because developers can’t support standards?  I think not.

      • guest

        It doesn’t matter if its open source or not, follow the standards period! Webkit sucks at following the standards and you want to defend it. Apple’s recent refusal to help with standards just furthers the argument that Apple doesn’t care about standards or the internet as long as it makes a profit. MS took this position too and look what happened to them. Apple better wake up or it WILL find itself in the same position before very long.

        • Neil Haughton

          Apple is just behaving like any other organisation – you can’t hold it against them. It’s now run by Suits and they have only one interest – profit. They have to be like that or they’re out on their ear. It’s no diffferent to AT&T management in the ’60s fighting tooth and nail (and eventually failing) to subvert and squash the infant packet switching, on the grounds that they weren’t in the business of making their circuit-switched network more efficient for data users (and hence less profitable for them).

    • polloshermanos

       > “Just because 90% of traffic is webkit doesn’t make it a good decision to only focus on webkit” 

      Yes it does and businesses will do this.
      IE6 used to be the best browser out there and it was right to focus in
      it then. If we try to build to documented standards for the sake of it, we
      are shooting ourselves in the foot, especially when we need the standards to evolve rapidly.

      When it comes to universally useful software like browsers and OS’s, I believe the competition should take place within open source communities. I think Git was developed with this in mind: branching is natural and software evolution is shaped naturally by trust relationships.

      I predict that most devices will one day run
      Linux + WebKit (or some evolution of that combo). Commercial vendors will compete for more specialised use cases and will be less interested in taking control of the OS/browser.

      • Dominic Amann

        Not only did developing for ie6 turn out to be an evolutionary dead end, but development focussed solely on it went on for at least 5 years beyond the point where it had any technical merit whatsoever. So will developing for any one browser or OS, especially when there are published standards that work on all platforms.

        You write as though the webkit methods were inherently superior. The fact is they are problematic for a number of reasons, the largest of which is that Apple has deliberately hijacked the specification, and patented their alternative method. This means that others cannot even use the same technique even if they wanted to. We are talking about a private, one company “web standard” here. Anyone really think that “toeing the line” with Apple when they behave like this will produce useful results?

        Allowing, say Safari to run in Windows Mobile will only exacerbate the problem. We need all non-Apple browsers to follow the html5 standard, and agressively push back against the incusion of patent protected language on the web.

        • polloshermanos

           IE became a dead end because MS stopped investing in browser development. Mozilla gradually gained adoption because it did a better job of rendering the “HTML of the day”. Once it had a user base, developers started to focus on it ahead of IE.

          Webkit’s user base is thanks more to touchscreen devices than Safari’s ability to deliver a good user experience. I don’t think we can blame Apple for “hijaking the spec” – they can build whatever they want into Safari and developers will follow because of how many devices are out there.

          I’m no Apple fan… I believe that the law should force them to opensource what they are doing with Webkit and they should not be able to patent anything so universally useful as a browser. I think there is more chance of this happening than the utopian idea that commercial vendors will wait for open standards to be defined and then follow them to the letter.

  • http://twitter.com/markrendle Mark Rendle

    Kudos on an extremely rare post subject. People admitting they were wrong on the internet are few and far between.

    I share your frustration, and have in the past argued that everyone should use WebKit, but the arguments re: competition, innovation and “keeping [other browser] honest” are compelling. The answer is, indeed, that web developers need to start developing to the standards, but one thing that would make this easier would be if the browser developers worked harder to maintain feature parity, and to implement the standards in a timely fashion, so that the -browser prefixes were around for less time. This is one area where Microsoft certainly could change their behaviour: Chrome’s and Firefox’s rapid release cycles allow them to introduce new features on a weekly or monthly basis, whereas feature-bearing releases of Internet Explorer are still many months apart.

    • Edward Kratz

      Mark, the release cycle for FireFox is very rapid, but how is their support for Webkit? Is it really better than IE? And what about for Mobile, which platform is FireFox predominent on?
      Androids default browser is terrible and everyone knows this,( the newer OS is better but millions use Gingerbread or older) so is Windows Phone really that much worse than that?
      As Braumin stated, this conversation was hot and heavy but in reverse, it’s always against Microsoft, when their innovations were superior and their market share of users was overwhelming they were criticized for not following standards, now they are trying very hard to follow the standards, and they’re being asked to conform to webkit’s non standards?
      People hate MS because of how big they are/were, but guess what Apple and Google are using the same bullying tactics MS was scorned for. When are people going to realize that whoever has the market share on their side is going to push for total domination and is going to care less about standards than those that trail.
      I think the author has a great suggestion for allowing the change of the default browser, and if I remember correctly that was one of the big issues with MS’s anti-trust case when they first introduced Win98 and the built in IE browser. Since today’s phones are more computer than phone, that should a requirement not just an option, IMHO.

      • Mark Hayden

        Seems to me this is a rather odd question to ask of Firefox: “how is
        their support for webkit?”.  Would that not be the same as IE (that is,
        most likely zero)?  Webkit is an HTML rendering engine, not a standard!
        Firefox uses Mozilla and MSIE uses Trident, and Google, Apple and GNOME
        use WebKit.  There can be no expectation that ANY of them will support
        each other’s standards, nor SHOULD they becasue that would be harmful to
        web standards that are already at risk from the toxic environment in
        which they have to survive.  The ONLY question that matters is “how is
        their support for THE STANDARDS.

        Lets take the CSS “background” property as an example.  Web designers
        want to implement gradients and it is tiresome and awkward to use
        repeating bitmaps.  Perhaps the web developers are even ones from a
        company that is a leading contributor to an HTML engine, like Apple
        (where the creation of shiny-looking things is paramount and gradients
        are important). So you end up with a background property
        “-webkit-gradient”.  But then Microsoft finds they want to do something
        different with gradients (perhaps as a subtle highlight of one of there
        tiles usually completely devoid of gradients) and the webkit version
        does not have the syntax defined, say, for diagonal or radial gradients,
        thus they have “-ms-radial-gradient” or some such thing.

        Believe it or not, there is a “standard” method to implement
        non-standard CSS, and that is to use the prefix -vendor- in front to
        clearly denote deviant properties in a way that doesn’t require
        exploiting undocumented CSS parser behaviour and indicate clearly to
        content authors what is and isn’t standards compliant.  As such, I would
        say it would be VERY HARMFUL and VERY STUPID for, say, Mozilla to
        recognise ANY “-webkit-” tags.  That is a VERY BAD IDEA that would
        perpetuate the often ill-conceived non-standard features out there.

        The whole point of these “extensions” to standards is (or should be) to
        showcase proposed features and allow vendors to implement them before
        slow-moving committees like the W3C come to a consensus in the REAL
        standard and enough browsers fall into compliance.  That way Apple and
        Google and Microsoft can leverage these extensions in their own
        applications (that target their own products EXCLUSIVELY–perhaps in the
        embedded HTML-based rendering that is more often done in “apps” than
        most people realise) or websites that are of use only the registered
        users of their products.  Then once a standard is agreed upon the utmost
        effort should be made to include them.

        Looking at the gradient example again:  There ARE in fact standards for
        gradients now (linear-gradient function) that are supported by later
        browsers.

        There is a way to handle this situation better, but web designers (AND, i
        might add, the clients that pay their earnings) have to change their
        mindset and take responsibility for their role in damaging the
        internet–they are ALL every bit as responsible as Microsoft was with
        IE6 and Apple and Google are with their WebKit dominance:

        * developers have to stop obsessively worrying about “backwards
        compatibility” and instead redirect effort into “graceful degradation”.
        This insistence on making a site look identical as possible on IE8 and
        earlier or ancient 3.x versions of Firefox is a waste of time and
        hinders progress and perpetuates frustration.  Focus on providing the
        required functionality and stop worrying if the appearance is plain.  If
        a user is “browsing like it’s 1999″ then they bloody well should be
        made to look at a site that LOOKS like it’s from 1999 so long as it
        provides the important content/functionality.

        * developers should update websites not just to bring content up to date
        but also to adopt the latest proposed W3C standards as soon as the
        mainline browsers release support from them, then they should REMOVE the
        old non-standard alternatives as soon as reasonably possible, always
        encouraging users to adopt newer browsers.  Browsers are FREE for cryin’
        out loud, and OSes and apps these days update monthly with patches and
        enhancements these days.  It is not too much to ask to prod a user to
        upgrade his browseronce a YEAR.

        * web designers to less and less code now, and that is a serious
        problem–they have to get re-acquainted with the actual HTML and CSS
        even as they adopt tools that generate that code for them, and they
        should take to task companies like ADOBE when they create tools that put
        out GARBAGE HTML and CSS that appears to be centred on making
        pixel-perfect renderings an all browsers in the past 6+ years (hello
        there Muse).  I do not need 6 or more CSS rules that do the exact same
        thing using the various non-standards if that standard is in the latest
        version of 99 percent of the browsers out there.  Adobe should make the
        default target the latest release browser by default, and make it
        something the user has to override.

        It is indeed interesting that Microsoft has made this call to action by
        web developers to embrace standards, and I totally understand why. After
        taking so much heat in the past that they finally got up off their
        butts and resumed IE development after IE6 to put considerable resources
        into standards adoption the very people who heaped scorn upon them
        aren’t keeping up their part of the bargain.  MSFT sill has a LOT of
        work to do to speed up their IE release cycle of course, but the very
        advice MSFT is giving–to use W3C standards early and often–would
        encourage them to do just that.

        • Guest

          “Browsers are FREE for cryin’ out loud, and OSes and apps these days update monthly with patches and enhancements these days.”

          Yeah, please tell it to my n900.

  • http://twitter.com/devfish Joe Healy (devfish)
  • http://www.facebook.com/profile.php?id=711314165 Dan Colasanti

    Hmmm… I don’t know.  Microsoft’s Bing search & display ad revenue on Windows Phone is likely enhanced by the fact that the WP browser is IE.  If they allow replacing the browser on the phone, they can probably kiss that revenue good-bye.  They might as well write Google a big fat check for no reason.  Any popular site should be standards-compliant with CSS, or should get there post-haste - and it almost seems as if WebKit hinders that needed transition.

  • http://profile.yahoo.com/2YX7HY5JXLDI7LIN4JZZ6EHLDI Wander

    Webkit is open source. IE Trident isn’t. That stems from the ideological battles that Microsoft afforded in the 1990ths.

  • Jr Snow

    The medium is the message.  Marshal McLuhan    People will use whatever they are most exposed to and adopt it.  It’s like radio formats….people begin to like the songs they hear over and over again.  There is an irrational component to this decision as well as rational one.   The rational points are speed and standards-compliance…although the latter seems to be somewhat arguable.   Whether or not IE uses Trident or Webkit is less relevant that whether or not folks will use it out of habit.   To the extent however, that HTML5 web apps fail to work on IE because of breaking differences in their webkit implementations, THAT can and will cause folks to start using other browsers.    The radio format analogy breaks down when the songs start to suck.

  • http://www.facebook.com/people/Jim-Dawkins/100002207329301 Jim Dawkins

    Ok so all these web developers want web standards and yet they cant build web standard compliant websites..

  • http://www.facebook.com/profile.php?id=627876476 Takaz Mutasa

    u still a jerk!

  • http://www.facebook.com/profile.php?id=627876476 Takaz Mutasa

    Its like suggesting that since Apple’s OSx isn’t that popular they should dump it and use windows …Or provide users with an option of Linux to run on MacBook. I mean, really? What have u been smoking?

  • http://twitter.com/instance100500 Савиных Александр

    Couldn’t see the whole “Add Comment” text field from the Opera browser LOL

  • Discit

    Microsoft should just support some WebKit tags. That doesn’t require the replacing their whole rendering engine, to focus on the user experience with other popular standards. For years we’ve recoded websites for not only IE, but the varying versions they locked users in with different OSes, each treating the standards however they felt.
    I don’t buy them crying foul because there are other standards covering 90% mobile market penetration they want to ignore now.
    What about a WebKit hack mode, since WebKit is surely a mobile development standard they shouldn’t get to just ignore.

  • GospelVenice

    Well when will reality set in. When is smacks you in the face. Nobody really cares what Microsoft does or doesn’t do.

  • John

    To not demand that all browsers support the standards is to ignore historical lessons.  I don’t care if individual browsers include proprietary functionality, or if developers use them, as long as the documented standards work the same across all browsers.  Your prescription for Windows Phone to set a default browser is a reasonable compromise…but it won’t lead to cleaner, browser independent code, and it won’t put pressure on Webkit to migrate toward standards.  I therefore, reluctantly, disagree your conclusion.  It would continue to pressure Microsoft to adopt Webkit since WinPh users would simply change browsers, and MS would not be able to leverage IE’s compliance to standards.  As it stands, MS has the high ground on this issue, and it should not acquiesce.

  • http://twitter.com/arbbot Anthony Baker

    Sometimes I feel sad with the whole web development industry. Many of these mistakes were made by native platforms and we have learned a lot of lessons (C, C++,Java, .NET, early networking platforms, etc.). It is unbelievable that so many web devs are trying to reinvent the wheel so often, instead of learning from previous industry mistakes. The web is too trend and market oriented, and technologist should do a better job educating the public to choose and enforce the better tech options, rather than sticking with the most popular, or the most shiny, or the new kid on the block. Browsers need to speak the same language (so to speak), now more than ever. Microsoft has come a long way to understand standards, embrace them, and learn from open source communities. How come, we want to go back, and allow each one to do whatever their market trend, or users want, ignoring such progress!

  • Psionicsin

    This is extremely odd, as I would’ve figured most web designers/developers would push for the move from Trident to Webkit.

    When the birth of the “new browser” happened with the likes of FireFox and so on, we were still having to counter-design if you will for IE. IE, being deeply integrated into Windows actual workings instead of being an individual application for accessing the web, was still being used by corporations that invested in a communication infrastructure built off of .Net I think it was. So it made sense that if we wanted to get those customers, we needed to make sure they could view/work with what we create.

    Today is a different story. Besides large corporations that are still heavily intertwined with custom .Net apps, the number of households that use IE is VERY slight of slim these days. Sure, the move to Webkit would cause current .Net apps to break (would .Net even be needed after the move???), but with “countdown to change”, developers should have no problem porting/converting these things.

    Speaking on security, ok so Webkit is less secure than Trident…RIGHT NOW. But with a mass of developers all working on one standard, those security flaws would be solved/patched in no time. Unless those people don’t believe in themselves enough to solve these issues, in which case then why are they relevant in their current positions?

    The fact of the matter is that change is happening every second of every day. To still be using standards that seem like they haven’t changed since the late 80′s/early 90′s is nothing but a setback to true progress. As technology changes, everything else follows that change. But now a number of you are asking for that change to halt. But halt in favor of what…old web standards? Things are changing and if you’re not on the bandwagon, it stands to reason that you might as well start looking for another career.