At Microsoft's MIX10 web developer conference, a series of presentations, question-and-answer exchanges and briefings are pulling into the light more and more details of Windows Phone 7 and the development environment.
Here's some of the news that emerged.
1. If you're already using Microsoft's core Windows and web development tools and frameworks, you're qualified to start creating Windows Phone applications
Microsoft has just released for Windows Phone free versions of the newest releases of its primary developer tools: Silverlight 4 toolset for graphical, event-driven, media-rich web applications; Visual Studio 2010; the beta version of the Expression Blend 4 visual design toolset; and XNA Game Studio for games.
With that announcement, "Overnight, a half million Silverlight developers became Windows Phone developers," says Brian Goldfarb, Microsoft user experience platform manager.
Microsoft's intent is to enable most of its existing Windows and web development communities to have the capacity to start building Windows Phone applications at once. Whether they will actually build Windows Phone software remains to be seen. But if the Windows desktop and web communities decide to leverage their existing expertise to build or adapt applications for Windows Phone, it could dramatically reverse the fast declining mobile market share of the previous Windows Phone releases.
Expression Blend 4 beta release is separately downloaded at present.
All the other tools are available in a single download.
2. Though Windows Phone 7 supports multitasking, due to the underlying Windows Embedded CE R3 kernel, developers won't have access to it in the initial release
Microsoft itself makes use of multitasking in the operating system. For users and developers, an application pauses when the user switches to another program, and the first one could be shut down by the operating system to reclaim CPU or memory resources.
"This was not a quick decision," says Charlie Kindel, partner group program manager for the Windows Phone 7 Developer Experience. Microsoft looked at what it could take to create and use background processing on the phone for developers and users, and the potential impact on the all-important user experience. The conclusion: A lot of infrastructure would have to be built and a lot of added complexity would result.
At the same time, Microsoft executives say the Windows Phone 7 platform provides a range of integrations and services for applications that provide the kind of multitasking users want. For example, if you start a music track on the WP7 device, it will continue playing if you switch from the music application to another one. The "live tiles" in the UI, the intelligent rectangles and squares that can be linked to phone or cloud-based services and applications, coupled with Microsoft's free push notification service for Windows Phone provide a way for developers, their apps and services to continually notify and update phone-based programs, for example, with the latest scores from the NCAA tournament.
The goal, Kindel says, is to ensure "We control the quality of the overall user experience."
"We'll address multitasking when we do the next turn of the crank [the next release of the OS]," he says. But that probably won't mean unfettered access to multitasking features.
Kindel mentions he bought his daughter a "rival smartphone" and after a few days she told him "we need to take it back, the battery only runs for three hours." Kindle concluded that she had downloaded a social networking app that multitasked: it opened and maintained a constant connection, and data exchange, which rapidly ran down the battery. To his daughter, he says, this wasn't a "bad application" but a "bad phone."
Microsoft doesn't want there to be bad Windows Phone 7 phones.
In broad terms, the argument is similar to that made by Apple, whose iPhone OS also has multitasking and also restricts its use by developers.
3. Native applications are not permitted on Windows Phone 7 devices
All Windows Phone applications are what Microsoft calls "managed code" and will execute within one of two runtime environments: XNA Game Studio for games, or Silverlight for all other applications.
With Windows Phone 7, Microsoft is resolved to provide users and phone developers with a highly consistent operating system. One part of that consistency is a standard, unchangeable hardware specification, jointly developed with handset and mobile carrier partners. A second element is the overall design of the primary user interface, the way the user interacts with his phone, its content and applications.
The third part is a variety of "limitations" (some of these may change in future Windows Phone releases) that serve Microsoft's overriding priority of ensuring a fluid, highly personal, reliable, problem free user experience of Windows Phone devices. The banishment of native applications is one. Another is that applications can be installed only via the Windows Marketplace service: there is as yet no "demand loading" of software.
For some developers on the older versions of Windows Mobile (now called Windows Phone Classic), the managed code environment will chafe. One developer commenting on the official Microsoft Windows Phone Developer Blog noted that it seems likely he will no longer now be able to use unmanaged or "unsafe" features in .NET where doing so yields performance benefits. (See the blog here and scroll down to the "Posted on: March 15, 2010 at 9:05PM" by Pavel Minaev.)