Now that the final v1 Windows Phone 7 is available, I performed a few browser tests using http://www.HTML5Test.com (which is a slick and easy way of testing browser support for some upcoming HTML5 features).
Any guesses which is iOS 4.1?
Biggest missing elements from the IE browser on Windows Phone 7:
- Input element types. The browser won’t be able to provide a keyboard/input panel that is appropriate for the data being requested. For example, a number field that automatically switches to a number only input pad. See here for some examples.
- Geo-location. Seriously. The phone has a GPS. Why not expose it? (IE9 doesn’t either unfortunately, but that bothers me less).
- Canvas. IE9 can do it, why not you? There are so many UIs that can be enhanced by use of a canvas,without resorting to server side rendering and other messy hacks.
- Web applications (cache). Then, we could package a web application into an offline application and use the browser to drive the UI rather than SL/XNA. That’d be a win in my book as it would be easier to build cross platform phone solutions.
- Session storage and local storage. See previous point. It also makes using cookies less necessary in some scenarios.
It is a better browser than the CRAP in previous versions of the Windows Phone. But, the bar has been set much higher these days. I’m pleased that typical web sites work well, and that it’s reasonably fast. I can even understand why they stopped where they did – as it seemed sufficient for typical browsing needs on the go, especially given the development team obviously had deadlines.
But with technology moving at such a rapid pace and the adoption of HTML5 proceeding regardless of standards, Microsoft must keep up to survive. This phone will get a lot of “hate” if it can’t adequately browse the web in a few years. Developers are tired of building in hacks to support browser X or Y. This is yet another browser that may need to be supported, if adoption rates are reasonable.
IE9 Beta 1 scores only a 96.
It’s missing Web applications (arrgh), and websockets.