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."

27 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 poetmatt · · Score: 4, Insightful

      hahahaha "googlefan1". Nice name.

      The reality is webkit is using standard extensions and simply adding their own prefix to identify them, and Microsoft is not. Microsoft breaks the naming conventions entirely. The way IE handles naming conventions is so broken no other browser does so - and it's consistently not well documented. That's not a good thing. So microsoft is accusing them of not following standard extensions? That's beyond hilarious. That's not a pot meet kettle scenario, it's IE complaining that they can't subvert web standards like they have been and continue to attempt to do for years. AKA this is basically them complaining about silverlight not being able to fuck the web more than it has already.

      wah wah the world functions without IE, wah wah. That's what this is.

      If IE was going to focus on actual standards compliance you'd see their HTML5 compliance higher than webkit browsers offer, and it's not.

      Also, why the fuck is this article linking to the comment sections? Slashdot has their own, but usually you'd link to the full article: http://arstechnica.com/information-technology/2012/11/microsoft-begs-web-devs-not-to-make-webkit-the-new-ie6/

    6. Re:Microsoft is right by Anubis+IV · · Score: 4, Interesting

      For all of our very valid gripes about IE breaking standards back in the day, their proprietary tags did not directly lead to a stagnation of innovation (the stagnation came from their overwhelming market share), which is what Microsoft has claimed here. Standards weren't moving fast enough, and the back-and-forth between IE and Netscape in the early days led to a lot of innovation and forward movement. The standards just had to catch up afterwards, but it really was better for everyone that the standards were dragged forward, rather than being allowed to hold up progress.

      A similar issue is at play here today. The standards aren't moving fast enough to adapt to the growing needs of web developers, so browser developers are being forced to put in ways to do those things as they work together to create a standard. But as most of us who have used -webkit- prefixed CSS know, the prefixed attributes should be treated as betas, since they are designed to be obsolesced after a standard implementation of that feature exists. That's why any developer worth their salt who wanted to use these features has been writing code like...

      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      -o-border-radius: 4px;
      border-radius: 4px;

      ...for the last few years, such that they could enjoy the border-radius feature immediately in the browsers where it was available, but their code would gracefully upgrade to newer browsers that implemented the standard version later (quick note: I intentionally chose a simple example, but there are more complicated examples where not all of them would use "4px" or whatever, but that doesn't change the point).

      Microsoft is complaining about the lazy developers who only ever wrote -webkit-prefixed code, or else they're complaining about the fact that they never got around to implementing a stand-in feature like this in the meantime, meaning that it's only with their most recent versions that they're finally starting to support features that have been in the other major browsers for a number of years.

    7. Re:Microsoft is right by LordThyGod · · Score: 4, Insightful

      Informative? GMAFB. They are not "developing their own extensions", they coming out ahead of the curve in implementing new features that MS can't be bothered with most of the time. The vendor extensions are an established method of doing this. In fact, MS has the ms- extension they use for just the same situations (its just they don't have as many opportunities to use it since they continually lag so far behind all the competition). And MS never did anything like this years ago. Never. What they did was either outright ignore standards, create their own standards, and implement deliberately buggy implementations that saddled their ignorant user base with for years. What MS was doing was deliberately disrupting web tehchologies in a negative way to slow the adaption of new technologies since their income was all tied to desktops. And deliberately so. What -webkit is doing, is advancing technology. Two ends of the spectrum.

    8. 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.

    9. 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.

    10. Re:Microsoft is right by erroneus · · Score: 4, Interesting

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

      Here's a similar complaint I have about GNOME.

      Many here love and use GNOME2 because GNOME3 with its GNOME Shell just draws anger and rage from users. In order to stay with GNOME2, I elected to go with CentOS because it is stable and mature. But that's when I was faced with a huge problem with GNOME that I couldn't believe. The utter stupidity and betrayal I felt when I came to realize what happened made me lose what little respect for GNOME developers I had at the time. "What's he talking about?!" This:

      GNOME2 on CentOS 6.3 cannot run GiMP 2.8.x or above. Why not? Well, it turns out that GTK (Gimp toolkit) was used as part of GNOME2's dependencies. So no matter what a person does to compiled and reconfigure GiMP, he will never get a good user experience under GiMP while using CentOS 6.x. And the fault lies with GNOME2. The application toolkit which was put together and maintained by another project (GIMP in this case) was being used to support a desktop user interface. This means the desktop environment can only support GNOME apps which are 'compatible' with its selection of GTK libraries. This, of course, doesn't happen under Windows or other DEs under Linux or under Mac OS X. Thank you SO frikken much GNOME developers for your little timebomb that was GNOME2. You shat in the corner of the room and moved away to develop GNOME3. People moved away from GNOME3 only to find that they just stepped in the GNOME2 turd you left behind.

      Okay, so what does that have to do with Microsoft and HTML and all that? Well, it turns out that by integrating an application (and all its dependent libraries) in the with desktop environment, they have blurred the lines between OS and Application even further and they maintain this behavior even with their new OSes. Why? Well, it served them well in the past though they knew it was anticompetitive. But when they are starting out at the bottom, they need to realize they aren't doing themselves any favors. They need to pull the browser out of the OS to enable people to use multiple versions of Microsoft's own browsers.

      The rule which I don't think has ever been stated, where OS and User Interface development is concerned is "DO NOT USE APPLICATIONS LIBRARIES IN YOUR USER INTERFACE CODE!!!" This inherently limits the applications which can run in your OS/UI. The two ways to fix the CentOS/GNOME2 problem is for GiMP to change their code or for CentOS (and Redhat) to update their GNOME2. Neither party is interested in this large task and even if they did, the problem is the same. Microsoft can update their browsers all day long but the problem remains the same so long as you can only have one.

    11. 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.

    12. 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
    13. Re:Microsoft is right by ericloewe · · Score: 4, Informative

      Acid 3 was remade a few months ago so that all then modern browsers (Specifically FF and IE9 which "only" got 96 or so) would get 100%. So until Acid 4, all browsers pass all Acid tests.

    14. 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
    15. 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.

    16. Re:Microsoft is right by Alex+Zepeda · · Score: 4, Insightful

      That's not a bug, that's a feature. CentOS is saving you from that god awful interface redesign featured prominently in GIMP 2.8.

      --
      The revolution will be mocked
  2. Open Platform by Nerdfest · · Score: 5, Insightful

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

  3. I have an idea... by MickyTheIdiot · · Score: 4, Interesting

    Why don't they use webkit themselves? Then they can spend their time, money, and energy on putting their crappy microsoft experience on top of it?

    Sorry... using logic again.

  4. This should come as no surprise by Arancaytar · · Score: 4, Funny

    Because if there is one company that really stands up for standards, it's Microsoft.

    In fact, sometimes they pay millions to get them through the ISO.

    1. 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.

  5. 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.

  6. 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.

  7. Not sure if this is a problem by fermion · · Score: 4, Interesting
    So, how much does this effect things overall? There has often been specific tags that can cause a problem. For instance, there is HTML editing interfaces that only work fully in firefox, but works ok on everything else.

    The funny thing is that MS pushed this type of non standard HTML by convincing web developers that it was more important to HTML to create consistant application interfaces rather than flexible content delivery and sales interface technology. So they pushed the idea of fixed screen sizes, fixed elements, and the like that only IE could, at the time, deliver. CSS and HTML5 depreciated the IE technology, but the damage was done. A generation of web developers were trained to look at web pages as fixed entities, not flexible markups. Even today I have to use some web pages that will only on IE because MS has convinced the MBAs that this is the most efficient way to do things.

    So now we are at a place where Webkit and Gecko rule the world. Designers are writing web pages to work well on Chrome, Firefox, and Android, which fortunately for apple will make it work on Mac and iOS as well. MS, being the entitled rich kid, is whining that consumers are ignoring IE. Of course IE is being ignored. It is doesn't run on anything that consumers choose to use. The only people who use IE are corporate types that are forced to use IE. If I have a new social app, am I going to cate that it does not run on IE. No, I am going to care that it does not run Android. If MS wants it to run on IE, they have the resources to add the functionality to IE. Otherwise who cares?

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  8. Don't blame the browsers by FyberOptic · · Score: 4, Interesting

    I wish people would stop offering the "well Microsoft used to do this so who are they to complain" excuse. Not only is the internet a different place, but so is Microsoft. They tried very hard to become as standards-compliant as they are now, and it took the risk of breaking existing websites along the way, despite the compatibility mode they offered. But the fact is, they made that decision. I still don't care about using IE, but I still give credit where credit is due.

    Where the problem lies is mostly with the W3C. This is who we should be blaming. This is 2012, and all that ever happens with these people is bickering and squabbling, while the web still stagnates with a technology level of five years ago, and couldn't even decide on a standard for something as basic as rounded corners. This is the Achilles' Heel of the free software world, where everything is treated far too much as a democracy, so every nerd with an over-inflated ego has an idea for how something should be done and they're absolutely certain that theirs is the best way to do it. It not only results in the dozens and dozens of forks of major pieces of software in the free software community, but also results in any kind of standards decisions being delayed for literally years while everyone acts like babies instead of ratifying something already.

    I can remember almost ten years ago when I was developing a very graphics-oriented website, and part of what I was being asked to do was to rotate a section of the page by 90 degrees. Except the content on this area was dynamic, containing an avatar and the user's name and stuff. There was no web standard for doing something like this at all, and my only option was going to be using Flash. But since Flash was prone to not line up perfectly among every browser (and I needed pixel-perfect alignment), not to mention was overkill for what I needed, even that was a problem. So eventually, after looking at our statistics, a good 98+% of the users used IE. The rest was Opera or Safari. So I made the decision to implement IE's proprietary DirectX filter extension, which allowed rotation of any HTML object in the page, and would apply this to any content normally inside of this object as well. The resulting effect was excellent.

    Over time, I wasn't entirely satisfied with this single-browser solution (which had something to do with the fact that I'd switched to Opera myself!). But web technology still never caught up. So my way around this was to generate this section of the website on the server itself, using Perl and the GD library. I cached the resulting image for every user, only regenerating it when they changed their icon or any of their information. I was able to recreate the original DirectX filter version with 99% accuracy this way. But this was all only because our web host had been kind enough to install GD for me to begin with, since this was before we were running our own server.

    The point of this story is, the ability to rotate components in a DOM tree has only recently become possible in HTML5. And HTML5 is still unfinished! Expect to see plenty more browser-dependent extensions over the decade, just like what happened last decade, all because the organization we rely on to give us these standards is dragging its heels and arguing every detail along the way.

  9. Glacial pace by tepples · · Score: 4, Insightful

    And webkit prefix is supposed to be either not yet ratified in the standard features

    But for how many years should one reasonably expect web developers to include -webkit-, -moz-, -o-, and -ms- in all their pages while they wait for W3C to operate at its glacial pace? Some browser makers have even threatened to implement other browsers' prefixes (compatibly, I hope).

    1. 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.