As you’ve probably read, here and elsewhere, Windows Phone 7 constituted a dramatic shift for Microsoft. For this release, we decided that the core principle would be about delivering outstanding phone based experiences to end users. This principle guided everything we did, and was the basis for all the prioritization decisions that were made. It meant in many cases we had to focus, and not do as much as we’ve historically done in a single release, (focus has not been a strength of ours), but the things we did, we wanted to be outstanding.
Now all of this might seem incredibly obvious to the outside observer; but you should know, it really isn’t. In previous years, Windows Mobile was really about delivering a completely customizable operating system environment to our OEM and MO partners. As a result, Microsoft could not have a very strong connection to what end users actually received.
One of the notions that fueled this work in Windows Phone 7 was a single clear idea: the phone is not a desktop computer. If you have Silverlight and C# experience, you are significantly prepared to build applications on Windows Phone 7, but the fact of the matter is, the phone is very different device from the PC, with limited battery life, poor network connectivity, different performance characteristics, smaller screens, and wildly different input mechanisms like touch and accelerometer. All of these factors need to be considerations in phone software development from the very beginning, when designing your end user experience.
These principles were at the front of people’s minds here while designing and building Windows Phone 7. They were also in the front of the minds of the folks who built the new Windows Phone 7 version of Silverlight. In order for you to build outstanding, high performance applications in Silverlight, you’ll need to understand the steps that were taken to optimize the Silverlight runtime on Windows Phone, and take advantage of defined characteristics like the discrete GPU, (required on every Windows Phone 7 device). To better do so, we’ve published the following resources:
- A video interview with Shane Guillet, Test Lead of the Silverlight team, available on Channel 9 at: http://channel9.msdn.com/shows/Inside+Windows+Phone/Inside-Windows-Phone-03-Optimizing-Windows-Phone-Silverlight-applications/
- A full white paper, complete with code samples, documenting strategies and best practices, available for download at: http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=3a8636bf-185f-449a-a0ce-83502b9ec0ec. Rohan Thakkar, a PM on the Silverlight team, has also posted the full text of this paper on his blog at: http://blogs.msdn.com/b/rohantha/archive/2010/09/09/optimizing-silverlight-applications-for-windows-phone-7.aspx. The entire article will be online in the MSDN Library shortly.
Larry Lieberman, Product Manager, Windows Phone 7 Application Platform