Mobile IE Updates For Windows Phone
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.