Web developers have been complaining for years about having to fix their websites to handle non-standard versions of Microsoft's Internet Explorer. Now the boot is on the other foot. Microsoft is having to change its standards-based IE11 browser to make the mobile version work better with non-standard websites.
And it's not just Microsoft's problem: Mozilla's Firefox is in a similar position. Both have to cope with websites developed not to follow standards but to suit the Webkit browser engine, and some features in Apple's Safari browser that are not standards at all. As Microsoft says in a blog post: "Unlike the mostly standards-based ‘desktop' web, many modern mobile web pages were designed and built for iOS and the iPhone. This results in users of other devices often receiving a degraded experience."
As a result, Microsoft says it is collaborating with Mozilla to support its web-compatibility site: Bug reporting for the internet. The idea is to get users to report broken websites so that Mozilla can approach the developers to fix them.
In a blog post, The Mobile Web should just work for everyone, Microsoft says it has "pursued a web experience for IE users consistent with what is available on iOS and Android devices – even where this meant we would be adding non-standard web platform features. We believe that this is a more pragmatic approach to running today's less-standardised mobile web."
Microsoft says it tested "more than 500 of the top mobile web sites" when developing the Windows Phone 8.1 Update, and it has improved about 40 percent of them, including Twitter.
It found that the main issues were (quote):
Faulty browser detection not recognising IE as a mobile browser and giving the desktop experience
Using only old webkit-prefixed features that have been replaced by standards
Using proprietary webkit-prefixed features for which there is no standard
Using features that IE does not support with no graceful fall-back
Running into interoperability bugs and implementation differences in IE
Microsoft had to add support for some standards "that are used infrequently on desktop sites, but are in common use in the mobile web. Once we made IE11 receive more mobile content we determined that we would need to add these features," it says.
An incidental problem is that some websites support either touch or a mouse, but Windows 8 and Windows Phone 8 users can use both at the same time.
Microsoft says: "If you are a web developer, run your site through the scanner tool on http://modern.ie. This tool will identify common coding problems including issues with vendor prefixes and help you fix your code."
Obviously, it would be better if mobile web developers could actually follow web standards. However, there's nothing new about that sort of failure: the same thing was happening with "looks best in Netscape" in the 1990s. Today's "looks best on iOS" or "only works in webkit" is just a repeat of the same sort of stupidity. Short-term gain: long-term pain.