It was revealed today by Joe Belfiore, vice president and director of Windows Phone Program Management at Microsoft, that Windows Phone 7 will finally support multitasking. A demo showing Rise of Glory running simultaneously with Fruit Ninja, the mail app and Groupon is available here. As you can see, there is a minimalistic task manager that allows quick switching between tasks. For those who used Task Switcher for iPhone (obtained on an unlocked device from Cydia), it follows the same pattern - the user holds the back button and after a second the quick page preview becomes available that allows switching to any running task.

Multitasking is critical for Windows Phone 7 as a platform because of several important points. First of all, if there is no multitasking, lots of applications simply won't make any sense on the device. And although currently we don't know what the limitations of the multitasking mechanism will be, there is hope that it will attract more developers. It is known that Pandora previously hesitated to jump on the new platform. Even if they would want to, with the current SDK they won't be able to achieve the same performance as, for example, on an Android device - Pandora runs in the background and while the music is playing, the user is able to switch between apps and do whatever he wants on the device. The same doesn't apply to WP7 - a good example of a somewhat unsuccessful attempt is the Last.fm application that doesn't have any background operation support whatsoever. Because of this I often avoided using it - Zune is the only application that currently runs as a background process.

Online audio streaming applications are not the only players here - there are many possible products that require background functioning. For example, apps that track your running performance and position your location on a map. You name it.

Another important point is performance. As it was mentioned in the above mentioned video, the current launch/resume model (also known as tombstoning) is far from efficient and works only under a specific set of conditions. It takes a while to resume the application and this practice forces the developer to manually preserve state components for further re-use. This creates an unnecessary overhead and eventually might be causing various problems (e.g. incorrect data used on app resume). Again, I don't know the detailed requirements for applications that should be able to support multitasking (if any), but tombstoning might become a practice of the past.

Multitasking capabilities are planned to be released as a part of the Mango update, that should introduce IE9 (with HTML5), CDMA support and many more.