Only yesterday Microsoft officially announced the Windows Phone 8.1 Update and today some more details emerged about what is coming as part of the update. Internet Explorer was bumped to version 11 with the release of Windows Phone 8.1 which brought a lot more compatibility and speed over its predecessor IE 10. However this didn’t solve all issues for all users. With the small market share of Windows Phone, many web sites have not tested against the mobile IE browser, nor do many even attempt to detect it. This has resulted in a mobile browsing experience that is quite different than one you would get on Android or iOS.

On the IEBlog, Microsoft outlined some of the changes they are going to begin to implement as part of the 8.1 Update to address the inconsistent mobile web. They outlined the top issues affecting mobile browsing in IE as:

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

The first change they are implementing is changing the User Agent string. For those unfamiliar, browsers send a text string to the web server when connecting, and this string lets the web server know what browser type is connecting, and which features the browser would support. The idea is that if a browser connects that doesn’t support a certain part of the page, it can gracefully fall back to other code. A big issue the IE team found was that web servers were not detecting IE on Windows Phone as a mobile browser, and were therefore offering up the desktop version of the page. This results in a pretty poor browsing experience on a small screened device. While not saying exactly what the new string will be (though it will be trivial to found out once the update ships) they did say that they added “like Gecko” to the desktop IE 11 when it shipped, so it will probably be something similar to this.

The next solution is that the IE team is now adding a mapping for some webkit-prefixed APIs to the standards based APIs that already exist in IE 11. This way, when a website creates content and uses the non-standard webkit prefix, IE 11 will now be able to use that code to provide a page that more correctly portrays what the developer intended. They gave the example of www.macys.com to show how the gradients were not drawn correctly in IE 11 because the web code was not standards compliant.

The IE team also worked to add non-standard features to the mobile IE 11. With the popularity of the iOS ecosystem, many sites have used proprietary APIs provided by Safari. With this update, Microsoft is going to do the right thing and support these, even though they are not a part of web standards. Most users don’t want to know why a site doesn’t work perfectly, they just expect it to. By adding these non-standard features, users will get a better experience.

IE 11 on the desktop went a long way towards being more standards compliant, though it still lags behind other browsers. The time the team did spend on adding standards based features though were based on ones used more on the desktop. Many HTML5 features are seldom used on sites presented as a desktop experience, but they are used on the mobile versions of the site. With this update, the IE team has added more feature compliance to help with mobile site rendering.

Finally, they examined some of the markup used on real pages and found there was some that was coded incorrectly or the documentation for implementation is unclear. Clear or not, they found that other browsers handled this the way the developer intended, so they’ve made changes to Trident to help with some of this as well. They also fixed several bugs within Trident that were more of a sore spot with mobile sites such as location.hash and CSS layout issues.

The irony of these changes is painfully obvious to anyone who lived through the IE6 monopoly days. At that time, many sites coded directly to features that were not part of the HTML standards and were only available in IE6 or even as ActiveX controls. It can still be an issue with business if their internal line of business web apps were written for IE6. However the web in general has moved away from that, but with the dominance of Safari as a mobile browser, a similar situation has occurred where mobile sites are being written to non-standard HTML. Microsoft has worked hard to bring their browsers into standards compliance, and now they are forced to add non-standard features in order to not degrade the user experience. It would be best if all sites were 100% standards compliant, but that day will likely never come so it is encouraging to see the work being done here to provide the end user with an experience more on-par with other mobile browsers. There is of course always more work to do. One of the often requested features that wasn’t mentioned in this blog post is text reflow. We will have to wait until next week to see if this has been added. Windows Phone 8.1 Update will be available to people in the developer preview starting next week.

Post Your Comment

17 Comments

No, webdevs have learned that you have to support the most dominant platforms, no matter what happens. FWIW, developing feature-parity sites for Windows Phone is a pain in the ass. The browser is buggy, behaves oddly, and is miles behind Mobile Safari/Google Chrome. This may help end users but will further make things difficult for devs.Reply

It's unfortunate companies are having to do workarounds like this, but in the end it is the user experience that is important. It is good to see Microsoft taking these steps, and I hope it works well. Reply

Oddly enough I liked IE10 on WP8 better than IE11 on WP8.1. Yes, mobile sites were pretty much broken, but most desktop sites worked well. But the biggest difference was that on IE10 it did not support most advertisements, so it was like having AB+. With IE11 most of the adverts display, but the layout is wrong so there is no way to exit out of the ones that get in your face. Hopefully WP8.1 Update (1) will fix this because I would much rather deal with a slightly off viewing experience where I can get to content rather than a 'better' (or at least more accurate) experience where the content is hidden or inaccessible.Really, enabling add-ons like AB+ or the desktop IE11's tracking protection features would be the best solution to this problem.That said, reading mode in IE11 is pretty slick on the phone and does a good job at stripping out the junk... but it also strips out the related pictures and videos, so it is not a clear win.Reply

Personally though I avoid mobile versions of sites whenever possible. Typically I dislike their formatting, and frequently they're not a true duplication of the real site. They're often missing features/links/etc., sometimes to the point of absurdity. I've had to spend 20 minutes trying to get to part of a real site that I'd typed the direct URL in for, because the site ignores what I typed, and redirects to a crippled mobile site.

I like that mobile IE has a setting to request the desktop version. Seems like maybe Firefox on Android has that too? At any rate I always switch to the desktop version of a site when possible, even on a 4" phone...some extra scrolling beats a broken interface and missing features in my book.Reply

Only just got 8.1 on my phone so don't expect the update to come my way for another 3 months or so. Wife still has got it or a few others I know.Wish that MS would ban dumb phone companies from adding rubbish on the phones that can prevent or slow down the release of updates. Nobody cares about them anyway.Reply

Developer preview is the Microsoft's bypass system for delivering fast updates directly to consumers with no interference from phone companies and carriers, that is why you don't need to be a developer or anything to get Dev. preview, just download an app and login, voila you are enrolled :) Reply