In February Microsoft unveiled its next generation phone—Windows Phone 7 Series—at the Mobile World Congress (MWC) in Barcelona. Although "Phone" is in its title, making calls seems to play a smaller part in the mobile experience with each successive generation. Expectations were huge, and it appears that Microsoft may have delivered. Microsoft created a completely new device with several major functional areas called "hubs." One hub mirrors the Zune functionality. The hub strategy allows flexibility to integrate other functional themes, such as Xbox Live and Microsoft Office. The Bing search engine is integrated into the Windows Phone 7 Series experience, getting its own mandatory hardware button on the device (of which there will be several flavors built by a selection of hardware partners).
So, how do you build apps for Windows Phone 7 Series? The full details won't be released until the MIX conference in mid-March (after press time for April DevConnections magazine), but enough information has been released to make some educated guesses.
It's a no-brainer that Silverlight will play a big part on Windows Phone 7 Series. I hope it will become a first-class citizen by default on the device, so developers won't need to build an out-of-browser app. As such, developers would be able to hook into the data streams that power the hub-centric model of the new device's OS. The demo at MWC showed a separate Apps-type area from which standalone (aka iPhone-esque) apps can be launched. I hope third-party apps can tie directly into the hubs. Otherwise, Microsoft will foster a negative ecosystem in which some apps (like Facebook) get higher privileges and a greater chance to succeed than other (perhaps equally innovative) apps.
The Live Tiles feature enables you to place a widget on the home screen of the phone that can dynamically update itself. I assume that pull will be available. I hope that push updates will also be available. Microsoft was vague when asked about the availability of background processing for applications (the key feature that’s missing from non-core iPhone apps). My thought is that Live Tiles will update in the background, but true background processing may be blocked in order to preserve the stability of the phone. We shall see.
Given the built-in Zune functionality and the mention of Xbox Live integration, it’s pretty safe to assume that XNA will be available for building applications. I assume that most XNA apps would be games, but there could be other specialized apps for the platform, such as real-time processing or simulation engines. Many existing Xbox Live games should port over easily and most Zune apps/games should work right out of the box.
If you're an experienced Silverlight and/or XNA developer, it's a pretty safe bet that you'll be at home with Windows Phone 7 Series development. The waters are murkier if you're in the Compact Framework camp. Silverlight and XNA are geared toward sandbox-type runtime environments. Microsoft will probably steer clear of supporting Compact Framework, and backward compatibility for existing applications won’t happen. My company sells software that runs on Compact Framework, so it’s sad to hear that we’ll need to re-write it (most likely in Silverlight). However, I’ve long been a supporter of the clean-slate approach to the next generation of Microsoft mobile devices, so that they’re agile enough to keep up with competitors. Most people get a new phone every two years or so, making backward compatibility less critical than with PC OSs.
We know there’s a marketplace built into the device. However, it remains to be seen how easy it will be to deploy applications to the phone outside of that marketplace. In enterprise deployment scenarios this will be a big deal, so Microsoft will mostly likely adopt a model similar to Apple’s with enterprise deployments.
I’m concerned about the lack of any mention of a Classic version of Windows Phone 7 Series (e.g., with no phone). That would leave developers of enterprise applications that aren't tethered to a wireless plan tethered to Windows Mobile 6/6.5 and Compact Framework, missing out on the Silverlight/Zune goodness. I’d hate to see that happen, so I'm hoping for some answers soon.
We're heading into to some very exciting times for mobile; and for the first time in a very long time, Microsoft has a legitimate contribution to that story. But the best technology doesn’t always win; there are other factors in play, not least of which is the massive head start Microsoft spotted competitors like Apple, Android, Blackberry, and Palm. I hope the compelling developer experience that Microsoft surely has in store for us will jump start the application eco-system. This is what can help convince people to buy into Windows Phone 7 Series.
Jonathan Goodyear ([email protected]) is president of APSOFT, an Internet consulting firm in Orlando. He is Microsoft Regional Director for Florida, an ASP.NET MVP, a Microsoft Certified Solution Developer, and a contributing editor for DevProConnections.