Nokia, Microsoft, and the death of HTML5 for faking native apps
So, Nokia and Microsoft, eh? My take, double-quick:
- This looks weirder than it is: a great hardware manufacturer that's struggled with high-end software, and a software manufacturer that's just delivered a decent mobile OS from scratch. It only wrenches your guts when you consider who the two players are. Nokia becomes a box-shifter to a great degree. It's as unfashionable as being a bit pipe, but there's still money and dignity to be had there. Clearly the folks running the business felt it had no alternative;
- Symbian's getting a lot of attention as it's right excised from the product line. Series 40, an underappreciated workhorse of an OS, lives on at the low end - hooray;
- WP7 is a solid OS, particularly for a first version. Personally, I quite like it - it's fresh, bold, not as app-focused as iPhone and Android, more about supporting the lives of real people (through deep Facebook integration, good syncing, and so on). In this way it seems a worthy successor to Symbian, particularly for the mid-to-high-end devices. I can see it competing well here and bringing a modern smartphone experience to an audience lagging just behind iPhone and Android purchasers;
- This is good news for app developers (whose voice, particularly online, is perhaps overrepresented). Nokia have floundered with developer tools, giving too many options: J2ME, C++, Python, Qt, WebSDK, probably others. The WP7 tools are good, and there's only one set of them: it's much clearer where to go and what to do;
- The WP7 Market has a superior UI to Ovi. For app developers, this is very important. MS' experience with XBox Live has helped here - I hope they start talking more about app success stories;
- WP7 has a single reference hardware design, so far differentiated minimally (by physical screen size, say; or the existence of a foldaway stand). It'll be interesting to see whether Nokia drop a few successful and iconic form factors (E71, Communicator), or work to bring WP7 to them, and handle resulting fragmentation;
Risks aren't hard to see: two former competitors, in different time zones and cultures, collaborating for the first time and as fast as possible on a highly visible first product on which they will both be judged... ow. And they need to deliver devices - good ones - fast.
But the wider issue for me is: where does this leave the web? Consider that content providers supporting iPhone are currently more likely to produce an app than a web site, if they want to make money from selling content or if they want the best possible user experience. This trend doesn't appear to be slowing down, if anything iPad and the surge of Android devices has sped it up.
At the same time Google are improving the Android Marketplace and adding in better billing options, which will distract content providers from distributing via the web.
WP7 has a quite different web browser to most other mobile devices.
If WP7 achieves any market share, I think this is the last nail in the coffin of the notion of web apps being used to provide a native level of experience across all mobile platforms. WP7 UI is very different, I think to the point of being infeasible to "emulate" using web technologies. And whilst the web provides a good standard means of providing (usually free) content across devices, even with JQTouch or Sencha the experiences it provides when pretending to be a native app are, shall we say, sub-optimal. It's tough or impossible to fake the level of polish (animations, transitions, responsiveness) that native apps give; you end up balancing your application on top of a precarious stack of browser variants, JavaScript libraries and native UI toolkits; and performance is usually noticeably poor, even with the demo apps shipping with some of these toolkits.
Browsers and processor speeds will improve, of course. But as they do, native UI will take advantage of them to improve too - so I don't think the gap between native and web will narrow as fast as we might wish it will. Which leaves us musing on how we might deliver native app experiences across different OS platforms...