Microsoft begs Web devs not to make WebKit the new IE6

Internet Explorer 10 is a fast browser with good standards compliance, and the version of Internet Explorer 10 included with Windows Phone 8 is no exception, as it's almost identical to its desktop sibling. But Internet Explorer 10 has a problem: Web developers don't expect to see it on the mobile Web. The mobile Web is dominated by WebKit-based browsers, and mobile sites tend to be developed exclusively for, and tested exclusively on, WebKit browsers. A similar problem exists for tablets.

Often the development is even narrower; although both Android and iOS sport WebKit-based browsers, iOS is the one that dominates mobile browser usage, and dominates testing as a result.

This situation is all rather familiar; WebKit, especially on iOS, is occupying a similar position to that once held by Internet Explorer 6 on the desktop, where Web content was "best viewed in Internet Explorer 6" and was prone to breaking in Netscape or Firefox.

Keen to avoid being left out, Microsoft is imploring Web developers to adapt their sites. In a recent blog post, the software giant explains a variety of ways in which devs can update their sites to work well in browsers other than WebKit. Key to this was proper handling of incompatible features.

There are several sources of incompatibility. The hardest case is features that are simply proprietary to WebKit; these need to be worked around in some way or other.

Most other cases are a result of the standardization process used for Web specifications. When a CSS or JavaScript specification is under development and still subject to change, browsers implementing it are supposed to add a browser-specific prefix to the pieces of CSS or JavaScript they use. So for example, while still in development, WebKit's implementation of CSS rounded borders should use properties like -webkit-border-radius. Once the standard is stable and a browser is implementing that stable standard, the property should be renamed to simply border-radius.

For some standards, both browsers implement the stable version, without any prefix required. However, developers often fail to update their pages to accommodate this improving standard conformance, leaving their pages using prefixed properties, but not including equivalent unprefixed code. In this case, the solution is typically to remove the prefixes. Sometimes, the spec still isn't stable and the different browsers implement mutually incompatible versions of the spec, each with their own prefixes. In this case, the properties must be translated from one dialect to the other.

There are also some cases where the translation is more complex still, particularly when it comes to handling touch input. Apple pioneered work in this field in Safari, and a specification called Touch Events based on Safari (but created without Apple's involvement) is currently a Candidate Recommendation from the World Wide Web Consortium (W3C), the body that works on producing Web standards. Microsoft has proposed an alternative system called Pointer Events which would handle not just touch but also mouse and pen input in a consistent way. For both technical and legal reasons, W3C has decided that rather than work on Touch Events version 2, all future development in this area will be to Pointer Events.

The problem for developers is that WebKit supports Touch Events; Internet Explorer 10 supports a prefixed version of Pointer Events. Translating between the two should be broadly possible, but there are nuances to this; it's not simply a case of doing a quick search and replace.

For those who remember the Internet Explorer of the late 1990s and early 2000s, Microsoft's stance may seem a little amusing—the company wasn't so bullish on following standards back when it commanded more than 90 percent of the browser market share. Redmond has been banging the "use standards" drum for some years now, and has been actively participating in standard development and stabilization.

Developers need to code to standards and browsers need to hold up their end and support those standards.

As a developer it's pretty obnoxious having to do tons of -webkit-whatever, -moz-whatever, -opera-whatever and then often really weird ass shit for IE.

But it's nowhere close to the bad old days of IE6 and Netscape. If you're aware of the features that only work due to the per browser "hacks", you can choose to use them or not and deal with the fallout.

I'd be happy if Microsoft would at least follow the way Mozilla, Webkit and Opera are implementing the browser specific stuff rather than requiring seriously obnoxious levels of kludge to accomplish simple effects like text shadow.

Developers need to code to standards and browsers need to hold up their end and support those standards.

As a developer it's pretty obnoxious having to do tons of -webkit-whatever, -moz-whatever, -opera-whatever and then often really weird ass shit for IE.

But it's nowhere close to the bad old days of IE6 and Netscape. If you're aware of the features that only work due to the per browser "hacks", you can choose to use them or not and deal with the fallout.

I'd be happy if Microsoft would at least follow the way Mozilla, Webkit and Opera are implementing the browser specific stuff rather than requiring seriously obnoxious levels of kludge to accomplish simple effects like text shadow.

So which is more obnoxious: developers that use non-standard prefixes on production websites, or a browser that doesn't support said non-standard code?

Microsoft's point (at least regarding browser-specific prefixes) is moot. Any developer worth his salt is already using a CSS prepocessor like LESS or SASS. With SASS, for example, you can do something like this:

Btw Ars, since you seem to pride yourself of your new comment system, how about adding Markdown to the comments? I wanted to format this code now

Meta: the comments use BBCode, so you can mark things as code by wrapping them in code tags:

Code:

[​code] ... [​/code]

(Edit: although the comments pages don't seem to have formatting for code yet. Nevertheless, you can use them, and when the appropriate CSS is added, your code will be readable in all its monospaced glory )

You weren't parading around saying "Just use IE6" in the bad old days. If it was right to ask for websites to offer standards conformance then, it's still right today. The whole point in having a standard is to not have to use the same browser engine.

Just use webkit Microsoft, problem solved. I wasted hundreds of hours coding to your piece of shit browsers so I have no sympathy.

This is exactly the wrong attitude. Standards are standards, and should work everywhere. Competition in the browser space isn't exactly lacking right now, but if a renderer like webkit gains supremacy on the backs of code-hacks that don't work in other standard-compliant browsers, we've screwed the pooch. Opera has been ahead of the curve with features since its inception, but if it gets crippled on render compatibility because you can't be bothered to write standard-compliant code... why should we blame MS?

So which is more obnoxious: developers that use non-standard prefixes on production websites, or a browser that doesn't support said non-standard code?

Whether using non-standard prefixes is a bad thing or good thing is a decision each developer has to make based on the problem at hand.

Browsers ideally should support all standards fully, I personally think really useful/powerful things should be supported with the non-standard prefix until they are standardized. At least IMHO, it's better than it not being available. At least then developers can choose whether using them is worth it or not.

With regards to LESS/SASS, yes everybody knows about them. They only make the issue marginally less annoying, though.

Would you mind doing a short article about this, Peter? I've heard a lot about IE10's speed (I'm on it right now and holy cow, it is fast), but I can't find any information- good or bad- about whether it truly is the almost-fully-compliant browser Microsoft claims.

Also, please let someone know that Ars on IE10 is broken: when you use the search feature, the search results definitely aren't right

They're right about coding to standards, of course, but I can't help but feel a heap of schadenfreude that it's Microsoft complaining about this, considering what those bastards did with IE4-6 and standards of the day.

The problem are not web developers. The problem is IE. IE is always late to the party to support standards, and web designers will not wait months or years to this come in Explorer. They will just design for "everything" else and suggest their users to use this browsers instead of IE.

Microsoft lead IE slowly die for years, and one of the reason is they are just to slow to supporting what everybody else supports months ahead.

Also, IE 10 is absolutely terrible, almost all websites show terrible. I know allot of people that where hard fan Explorer users that switched to Chrome when IE10 was released. I asked some why? And they told me that most websites did not worked, their banking sites, and the things they use daily just showed weird with Explorer. So there you have it. IE 10 displays websites even worst than IE9. And don´t expect web developers to fix their websites. Microsoft should fix their browser and adapt to Webkit, which is what everyone is designing this days. IE is by no way the standard browser anymore, and now they need to adapt to the rest of the world or they will truly drop to almost none % share in the future.

Users and web developers want the same. Websites that display fine and work. And if this works in Safari, Firefox, Chrome and even Opera but they don´t in IE, don´t expect web developers to custom code just for IE. Not today because they are not the major browser anymore.

Its nice what they are doing with IE9 and IE10, but its little to late, now they need to adapt to the web, and the web and mobile has adapted to Webkit, even if you like this, its true. So Microsoft should adapt their IE to work with content or they will lose even more market share. And even while IE 10 supports more standard today, there are just to many features missing or which they still don´t support.

Kinda surprised at all the comments suggesting Microsoft use webkit... I mean l, really? The point of a standard is to make sure people can choose the engine that is right for them, without loosing compatibility.

Technical people like chrome because of the fast releases and new features, enterprises love IE because it stays the same over a support period and apps keep working without need for modifications.

Someone else said it already l, but ill say it again. If asking for standards was right when IE didn't have them, it is still right today. Switching to webkit is no only not going to happen, but even if it did, it would be bad for competition in the browser space.

Would you mind doing a short article about this, Peter? I've heard a lot about IE10's speed (I'm on it right now and holy cow, it is fast), but I can't find any information- good or bad- about whether it truly is the almost-fully-compliant browser Microsoft claims.

Also, please let someone know that Ars on IE10 is broken: when you use the search feature, the search results definitely aren't right

IE10 is standards-compliant, just as other modern browsers are. But it doesn't support some things that the competition does, WebGL springs to mind. On the other hand, it has better support for some things than the competition.

Any developer worth their weight in salt isn't developing for only WebKit. The only stuff made by people who know what they are doing that is WebKit only is stuff that is basically tech demos (example: WebGL games that only fully work in Chrome ATM since it's the only browser that fully supports it).

Also, Microsoft releases a browser that is up to date 3 weeks ago and they get to start talking about standards all of a sudden? O HECK NO

I'd be happy if Microsoft would at least follow the way Mozilla, Webkit and Opera are implementing the browser specific stuff rather than requiring seriously obnoxious levels of kludge to accomplish simple effects like text shadow.

I would be happy if you even knew what you were talking about, because last I checked "text-shadow: 1px 3px #87CEEB;" implemented by Trident was exactly like Webkit and Gecko. If you are going to knock something down at least do it while being right, not spreading FUD. I don't even use IE because it's not on Linux but even I know you were full of it.

I'd be happy if Microsoft would at least follow the way Mozilla, Webkit and Opera are implementing the browser specific stuff rather than requiring seriously obnoxious levels of kludge to accomplish simple effects like text shadow.

I would be happy if you even knew what you were talking about, because last I checked "text-shadow: 1px 3px #87CEEB;" implemented by Trident was exactly like Webkit and Gecko. If you are going to knock something down at least do it while being right, not spreading FUD. I don't even use IE because it's not on Linux but even I know you were full of it.

I'm guessing ebbv was talking about IE9, which DOES NOT support text-shadow. Calm down.

I appreciate the irony of the creator of IE6 complaining about standards (or lack thereof) but I think it is important to recognise this stance independently of that.

Remember that MS isn't exactly proud of IE6 and later problems, I also think that it is important to remember that IE6 is very old.

Anyway, MS are on the right idea here, we don't want to have a bunch of sites to be only really usable in Webkit the same we didn't enjoy IE-only sites when Firefox and later Webkit-based browsers became more popular. With IE, this was due to the fact that they didn't follow standards and the relative superiority of the other browsers (MS got kinda caught off guard there), the next step could certainly be our (developers) fault. If we start coding specifically for Webkit, then we are just as guilty of not following standards as MS were.

Developers need to code to standards and browsers need to hold up their end and support those standards.

As a developer it's pretty obnoxious having to do tons of -webkit-whatever, -moz-whatever, -opera-whatever and then often really weird ass shit for IE.

But it's nowhere close to the bad old days of IE6 and Netscape. If you're aware of the features that only work due to the per browser "hacks", you can choose to use them or not and deal with the fallout.

I'd be happy if Microsoft would at least follow the way Mozilla, Webkit and Opera are implementing the browser specific stuff rather than requiring seriously obnoxious levels of kludge to accomplish simple effects like text shadow.

This is absolutely what I came here to say. The article says Microsoft wants us to upgrade or adapt our sites but the most confounding problems we all have are ALWAYS with IE and that points to Microsoft and IE as the problem and they should quit blaming us developers.

Quote:

Internet Explorer 10 is a fast browser with good standards compliance

I don't think Mr. Bright is drinking the Microsoft Kool-Aid but I do know, by that statement, he is no web developer. While IE10 is better than IE9, being better than crap does not make you "good".

When everybody else is working together (hell, Google AND Apple AND anyone else who wants to join in), but MS is going it alone... well, that's on MS to make it all work right.

Microsoft could, and I'm just spitballing here, try joining with everyone, build IE around Webkit and help improve the spec with contributions. Instead, they want the fringe benefit of going their own way, but without any of the cost.

Alas, MS, it just don't work that way. Sorry. You shoulda learned that back with IE6.

The problem are not web developers. The problem is IE. IE is always late to the party to support standards, and web designers will not wait months or years to this come in Explorer. They will just design for "everything" else and suggest their users to use this browsers instead of IE.

Microsoft lead IE slowly die for years, and one of the reason is they are just to slow to supporting what everybody else supports months ahead.

Also, IE 10 is absolutely terrible, almost all websites show terrible. I know allot of people that where hard fan Explorer users that switched to Chrome when IE10 was released. I asked some why? And they told me that most websites did not worked, their banking sites, and the things they use daily just showed weird with Explorer. So there you have it. IE 10 displays websites even worst than IE9. And don´t expect web developers to fix their websites. Microsoft should fix their browser and adapt to Webkit, which is what everyone is designing this days. IE is by no way the standard browser anymore, and now they need to adapt to the rest of the world or they will truly drop to almost none % share in the future.

Users and web developers want the same. Websites that display fine and work. And if this works in Safari, Firefox, Chrome and even Opera but they don´t in IE, don´t expect web developers to custom code just for IE. Not today because they are not the major browser anymore.

Its nice what they are doing with IE9 and IE10, but its little to late, now they need to adapt to the web, and the web and mobile has adapted to Webkit, even if you like this, its true. So Microsoft should adapt their IE to work with content or they will lose even more market share. And even while IE 10 supports more standard today, there are just to many features missing or which they still don´t support.

Pretty sure you're full of bullshit, considering there's only two ways to get IE10: buy Windows 8, or upgrade from IE9 on Windows 7, and since IE10 for Win7 was only released a few days ago and you actually have to download the installer from the website to get it, so pretty much the only people upgrading to IE10 are those who do so on purpose. And then you compound that bullshit with a variant of the stupid "MS should just switch to WebKit" bullshit. So it's an all around smorgasbord of bullshit that you've served up for us.

So which is more obnoxious: developers that use non-standard prefixes on production websites, or a browser that doesn't support said non-standard code?

Vendor prefixes, -moz -webkit -o etc, are standard and supposed to be used for usage before the spec has settled in. Should the spec change, then it's only the vendor prefix that will stop working.

That only works if developers actually switch to using unprefxed code. Which as experience has shown, they don't, which ends up causing the dominant vendor spec to become the defacto standard. Gee, where have we seen that situation before?

Yeah, the problem with IE6 was never its market share. It was being left to rot for years and years. Microsoft is feeling left out because they did a stupid thing and now it's coming back to bite them.