The Microsoft Windows Phone 7 Series, aside from a sadly typical clunky name, is an all-too-rare example of Redmond biting the bullet and abandoning backward compatibility in order to try to regain the future. Programming for the phone was the dominant theme of Microsoft’s MIX10 conference, held in Las Vegas in mid-March.
In marked contrast to the previous Windows Mobile generations of phone operating systems from Microsoft, the Windows Phone has rigid hardware minimums: at least a 1GHz Snapdragon chip and a separate GPU, minimum 800×480 (“Wide VGA” resolution) at launch, 4-point multi-touch, and three (count ‘em, three!) hardware buttons.
Hardware specs are not the only deviation from Windows Mobile. Say goodbye to your current apps; they won’t run on the Windows Phone. And you might as well delete that tool chain you’ve built up over the years. C++ is out and C# is in. Even more dramatically, the native API is out and developers must target either Silverlight or XNA (Microsoft’s gaming platform).
Few will long lament these breaking changes, but Microsoft should still be praised for having the nerve to make the decision. One can only hope they can muster similar courage when it comes to evolving core business units like Windows and Office.
BZ Media’s Editorial Director Alan Zeichick hit the nail on the head in his recent piece predicting a three-way battle for developers between Microsoft’s Windows Phone, Apple’s CocoaTouch and Google’s Android. Apple’s advantages are its head start, its marketing and its emphasis on the user experience. Google’s advantages are in geek cred, an emphasis on FOSS development, a managed Java runtime environment that can be bypassed for ARM native code, and the recent hiring of the widely respected Tim Bray as an Android “Developer Advocate.”
Microsoft’s advantages? Well, the Windows Phone has a striking user interface, based on large tiles organized in “hubs.” The UI is conspicuously 2D, with no drop-shadows, bevels or specular highlights. The hubs can be tied together in “panoramas” that are larger than the actual display. The UX looks fantastic in demonstrations, but will it remain efficient for users navigating built-in applications, a dozen games and domain-specific apps, and a handful of internal enterprise applications? I have my doubts.
Microsoft’s other great advantage is the development stack for the highly branded customer-facing apps that Zeichick identifies as “corporate” mobile development. Blend may not be as familiar and comfortable to designers as Adobe’s tools, but Apple has publicly trashed Flash and Microsoft pointedly would not commit to a Flash runtime on Windows Phones.
So marketing groups and advertising agencies are going to be casting about for a solution that allows them to put snazzy graphics on phones; if they become convinced that the Windows Phone is going to be a success, they won’t be held back by Flash legacy code. As far as the technology side of things, few would deny the power of VS 2010, the quality of C# and the availability of .NET programmers.