Slashdot Mirror


Microsoft Complains That WebKit Breaks Web Standards

Billly Gates writes "In a bizarre, yet funny and ironic move, Microsoft warned web developers that using WebKit stagnates open standards and innovation on the Web. According to the call to action in its Windows Phone Developer Blog, Microsoft is especially concerned about the mobile market, where many mobile sites only work with Android or iOS with WebKit-specific extensions. Their examples include W3C code such as radius-border, which is being written as -WebKit-radius-border instead on websites. In the mobile market WebKit has a 90% marketshare, while website masters feel it is not worth the development effort to test against browsers such as IE. Microsoft's solution to the problem of course is to use IE 10 for standard compliance and not use the proprietary (yet open source) WebKit."

16 of 373 comments (clear)

  1. Microsoft is right by GoogleFan1 · · Score: 5, Insightful

    WebKit is doing exactly what Microsoft accuses it of. They are developing their own extensions and putting them out as webkit- prefixed. Of course Microsoft shouldn't try to implement these non-standard extensions but use the standard ones. This is why I see nothing "funny" or "bizarre" about it, other than for the fact that WebKit is now doing exactly what everyone hated IE doing years ago.

    1. Re:Microsoft is right by SJHillman · · Score: 5, Insightful

      The funny and bizarre part is that this is exactly what Microsoft did for a long, long time. It's only with IE7 they made the first steps towards standardization (thus why so many apps are stuck using IE6) and later versions of IE have made standardization even more of a priority. It's toeing a thin line of hypocrisy and the only thing keeping them from crossing is it the fact that they stopped doing exactly this just a few years ago.

    2. Re:Microsoft is right by ewanm89 · · Score: 5, Informative

      And webkit prefix is supposed to be either not yet ratified in the standard features, or for internal rendering, opera and firefox have similar prefixed extensions. What Microsoft did in the past is even more heinous and used already ratified statements in ways contrary to the specifications, requiring IE comment hacks so other browsers don't see corrections needed to get IE to display properly.

      Oh, and before anything gets ratified by W3C there needs to be a reference implementation, this is why prefixes are a good thing, now web developers using them without understanding the repercussions, that needs to stop.

    3. Re:Microsoft is right by dingen · · Score: 5, Insightful

      The webkit-prefixes is exactly what Microsoft never did. By prefixing attributes, it is clear for everyone these are platform-specific features in need of a cross-platform solution. Microsoft instead always tried to obfuscate what is standard and what is IE-specific by interpreting standard code intentionally different and adding their own attributes and elements without providing any clues to developers that this stuff was not actually part of any standard specification.

      There is absolutely nothing wrong with prefixing attributes. Mozilla does it, Opera does it, Webkit does it and it makes it perfectly clear to the world which features are standard and which features are not.

      --
      Pretty good is actually pretty bad.
    4. Re:Microsoft is right by Anonymous Coward · · Score: 5, Informative

      WebKit is doing exactly what Microsoft accuses it of. They are developing their own extensions and putting them out as webkit- prefixed. Of course Microsoft shouldn't try to implement these non-standard extensions but use the standard ones. This is why I see nothing "funny" or "bizarre" about it, other than for the fact that WebKit is now doing exactly what everyone hated IE doing years ago.

      No that is not what webkit is doing. The dominance of webkit AND the reluctance of web developers to include and update the various STANDARD extensions on their websites is what is causing the situation Microsoft is complaining about. And to be clear, it isn't only Microsoft complaining, Opera complained about the exact situation months ago. And there is no web company more standards compliant than Opera. The situation is so bad that Opera has gone to include in its own renderer support for webkit-options because the web developers are too fucking lazy to include the -o- prefix and later update the prefix. So in this battle Microsoft is correct, regardless of what they have done in the past.
      Saying "just code to webkit" is preposterous and it negates the benefit of have a standard at all. Having and supporting a standard means you can have different implementations that support that standard. And it doesn't really matter wether the standard is open or closed. Standard means standard. So fucking lazy web developers start updating your websites to respect the STANDARD.

    5. Re:Microsoft is right by Gadget27 · · Score: 5, Informative

      For what its worth, I'm on Windows 8, thus I have IE10. I ran acidtest3, and believe it or not, it did score 100. I may not be the reputable source you are looking for... but I was just as surprised as you may be with the result. IE's been off my radar for too long for me to care either way though.

    6. Re:Microsoft is right by erroneus · · Score: 5, Insightful

      No, this isn't exactly what Microsoft did. The meaning and purpose behind putting "webkit-" in there is to prevent it from being misunderstood as a standard.

      Unfortunately, as developers did with Microsoft, was that they deployed techniques which were not standards. In Microsoft's case, they did not announce in any way that "this is Microsoft only." In the case of Webkit, it's pretty darned obvious.

      Webkit did what they could while also allowing developers to test and play with the added features. It is the developers who broke the rules by using the Webkit extensions.

      Of course, the irony is delicious. This is a reversal of something which Microsoft took heavy advantage for many, many years. It doesn't make it right, but the blame isn't on Webkit for implementing those things. It did, in my opinion, the best thing to ensure that developers were aware that the things they were doing were webkit specific. Additionally, if there were any web development tools which deployed webkit specific functions without informing the developer in some way (such as "enable webkit specific functions? (y/n)") then they share some of the blame.

      Microsoft did the same, but worse. Webkit remains obvious and open. Once a feature becomes a standard, the webkit- is removed and simply given the name. I have seen this already. But the process is really, really slow. And that's a big part of the problem. Developers don't want really really slow adoption of standards. They want to make the best, most eye-popping and exciting pages for their clients and for users to experience.

    7. Re:Microsoft is right by nahdude812 · · Score: 5, Interesting

      And nothing says that Microsoft can't translate -webkit- specific prefixes in a compatible manner. Just because it's -webkit-something doesn't mean only Webkit is allowed to use it, but rather that it should be compatible with the Webkit implementation.

      A lot of these -webkit- prefixes exist because these are CSS 2 or CSS 3 properties that predated finalization of these standards, and most of them are largely compatible with the final standard if the prefix is removed. Webkit was complying with standards by adding features not yet finalized and prefixing them so there would be no conflict with the final standard. MS is essentially upset that Webkit's presence is sufficiently strong that developers for the first time in many years, don't feel the need to test against Microsoft's platform.

    8. Re:Microsoft is right by AmiMoJo · · Score: 5, Informative

      Let's also remind ourselves how Microsoft continues to hurt itself. It continues to have the web browser integrated with its OS and UI.

      Actually that hasn't been true since Vista. The OS does include a HTML rendering component but it is separate from IE and only supports a subset of the full HTML standard. Partly it was for security reasons, partly because trying to keep the two together would have held IE back. It is that engine that other applications can access and that the OS uses for things like displaying .chm help files. Windows Update no long uses it at all.

      MS Office hasn't used the IE renderer for a long time either. There is a separate one that was developed for Word's HTML support and that is now used in Outlook and other apps as well.

      So integrated isn't quite the right word. Bundled might be better.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    9. Re:Microsoft is right by 93+Escort+Wagon · · Score: 5, Informative

      I've got mod points, and would mod the comment "Informative" since most of the statement deserves it - but that "OK, you're a moron" comment you chose to include at the beginning really has no place in intelligent discourse.

      --
      #DeleteChrome
    10. Re:Microsoft is right by Carewolf · · Score: 5, Informative

      What Microsoft did in the past is even more heinous and used already ratified statements in ways contrary to the specifications, requiring IE comment hacks so other browsers don't see corrections needed to get IE to display properly.

      Actually some of the early and major differences started because Microsoft was the first to implement certain standards (CSS1, IE4 days), but Netscape being bigger at the time implemented the standard differently, and had W3C clarify the standard effectively making the original Microsoft implementation incorrect (the NS shenanigans is why width and height in CSS now specifies the content size and not the border-box which would be more useful)

      Later things reversed and MS really did what you accuse them of, but this stuff goes back longer, and with the bad guy changing more times than you think.

  2. Open Platform by Nerdfest · · Score: 5, Insightful

    Don't blame Android as a platform, it actually allows non-WebKit browsers.

  3. Biased much? by Redbaran · · Score: 5, Insightful

    It shouldn't come as a surprise that a summary written by "Billy Gates" would be this slanted... I read the MS blog and I didn't see anything that ruffled my feathers. Don't get me wrong, I still have a bad taste in my mouth from the IE6 days, but all the blog post is doing is saying is "don't make your site webkit specific". This is good advice not because of IE, but because there are still other browsers out there such as Opera Mobile.

    In fact, MS blog post specifically states: "Now, it’s very easy to adapt a WebKit-optimized site to also support IE10." See that keyword I emphasized, it means they aren't telling people to abandon webkit. The examples they provide back that up as they leave webkit support in place and add either the non-prefixed standards compliant property or when that's not available, add the IE specific property alongside the webkit one.

    As a side note, I take a site like this much less seriously when it stoops to the same level of bipartisan drivel and mud slinging that we all had to endure for the last six months with the US elections.

  4. Misinforming, as usual by gaspyy · · Score: 5, Informative

    Man, I don't know why I even bother to visit Slashdot these days. Everything is so much misinformation that you're wiser not reading anything.

    If anything, this post is like the one from yesterday about rooting the Nexus 4 phone.

    Here's the deal: Some CSS properties, before becoming standard, have vendor-specific prefixes, like -moz, -webkit, -ms and -o. Sometimes their syntax is different (for example with gradients), or things like border-radius-top-left vs border-top-left-radius. As they become standardized. the prefix is dropped.

    Now, MS is advising developers to include the W3C-standard property name instead of (or in addition to) the vendor-specific one.

    To give a simple example, MS supports the W3C standard border-radius, but if the developer only targets -webkit-border-radius, it will work only in webkit. BTW, webkit also supports W3C border-radius, so there's currently no reason to use the prefix, at least on this property.

  5. Re:This should come as no surprise by Anonymous Coward · · Score: 5, Informative

    It still doesn't change that for mobile web we are in process of repeating the "only works right in IE6" disaster

    Bullshit. The webkit prefix is to test proposed parts of CSS that haven't been fully ratified yet. With IE6, Microsoft took the standard and designed internet explorer to exhibit non-standard behavior. With webkit, things are working the way they should, with the yarn MS is spinning here, you get the former bully with fresh egg on its face being the consummate hypocrite.

  6. Re:Glacial pace by theedgeofoblivious · · Score: 5, Informative

    Mod parent way up.

    CSS3 prefixes are something that's added to a CSS property if support for the final standard isn't complete, so you end up with things like

    border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    -webkit-border-radius: 15px;

    Vendor prefixes are something that's done by every vendor for testing. That includes Microsoft. Here's a page from MSDN with a Microsoft representative explaining that:

    As you may know, all browsers have a set of CSS features that are either considered a vendor extension (e.g. -ms-interpolation-mode), are partial implementations of properties that are fully defined in the CSS specifications, or are implementation of properties that exist in the CSS specifications, but aren’t completely defined. According to the CSS 2.1 Specification, any of the properties that fall under the categories listed previously must have a vendor specific prefix, such as '-ms-' for Microsoft, '-moz-' for Mozilla, '-o-' for Opera, and so on.

    As part of our plan to reach full CSS 2.1 compliance with Internet Explorer 8, we have decided to place all properties that fulfill one of the following conditions behind the '-ms-' prefix:

    If the property is a Microsoft extension (not defined in a CSS specification/module)
    If the property is part of a CSS specification or module that hasn’t received Candidate Recommendation status from the W3C
    If the property is a partial implementation of a property that is defined in a CSS specification or module
    This change applies to the following properties, and therefore they should all be prefixed with '-ms-' when writing pages for Internet Explorer 8 (please note that if Internet Explorer 8 users are viewing your site in Compatibility View, they will see your page exactly as it would have been rendered in Internet Explorer 7, and in that case the prefix is neither needed nor acknowledged by the parser):

    If a site designer doesn't code things correctly by also including the CSS property *without* vendor-specific prefixes that's a problem with the quality of the site designer and not with Safari.