Application Compatibility in Windows Phone "Mango"

Microsoft is getting close to being done with the OS portion of the development cycle for the upcoming Windows Phone release, codenamed 'Mango!', which comes with significant new functionality for developers, blogged Larry Lieberman, Windows Phone developers blog.This evolution of the application platform means that there are some cases in which existing APIs do not […]

Microsoft is getting close to being done with the OS portion of the development cycle for the upcoming Windows Phone release, codenamed 'Mango!', which comes with significant new functionality for developers, blogged Larry Lieberman, Windows Phone developers blog.

This evolution of the application platform means that there are some cases in which existing APIs do not operate in the same way.

Thus it is important that developers who have published applications in Windows Phone 7.0 test those applications in Windows Phone Mango.

"We've made this easy. You can download the latest tools for Windows Phone Mango here, and if you are a Marketplace registered developer, you will have received an invitation to update your personal retail device with a pre-release build of Windows Phone 'Mango,' (more info here)," informs Lieberman.

"We will be documenting all of the key API and platform changes in depth on the MSDN Library, (Windows Phone and Silverlight for Windows Phone sections). The Silverlight team is also posting today about application compatibility, here," said Lieberman.

Lieberman emphasize the following three key points:

  1. Memory usage. We've a certification requirement that states that your app must not consume more than 90 MB of RAM, on devices that've 256 MB of RAM or less, (Sec. 5.2.5, available here). We've seen cases where people are checking on the amount of total RAM, and using memory in a wildly unrestricted way if the number is > 256.

    In 'Mango,' the memory profile of the device will be augmented by changes in (a) how we tombstone, and (b) the enablement of background agents. It's important that your memory usage be thoughtful and judicious. Our new graphical profiler is perfect for helping you accomplish this.

  2. Web Browser Control. Developers love our Web Browser Control; our static analysis suggests that > 60% of our developers are using the Web Browser Control in their Windows Phone apps as a display layer at some point.

    In Mango, we're shifting from IE7 to IE9. This impacts the core HTML, JS, and CSS handling across the entire OS. It'll also impact you in the usage of the Web Browser Control. We've seen some apps experience difficulty in situations where assumptions were made about the order in which events get fired.

  3. Silverlight Listbox and WebClient Controls. Both Listbox and WebClient have been reworked and enhanced in Mango to drastically improve the developer and end user experience associated with these controls. The Silverlight Performance team has written eloquently about these changes on their blog here, (ListBox) and here, (WebClient), and these changes have impacts on existing apps. If you've used these classes, please check out these articles for more information.

[Source:Windows Phone Developers blog]