Multitasking, Multitasking, Multitasking…
June 27, 2010 Leave a comment
Update (19/07) – If you follow me on Twitter, you would’ve seen this when it was first posted, but for those coming to this post now, you may be interested in the ‘tombstone’ process. Essentially, this is what happens to your application when the user opens another application.
Well, I’ve seen many comments and repeat comments regarding multitasking on WP7. However, a lot of the responses are ignored so I thought the best thing to do is to write a quick post about multitasking on WP7 (based on information available so far).
Will Windows Phone 7 have multitasking? Yes and No. I hope that’s cleared the matter up :D.
Multitasking will be available for certain built in features, such as listening to music while checking emails. You’ll also be able to control the music via the hard buttons on the phone, for example, without having to go back into the music app. However, third party developers won’t have the same level of capabilities when it comes to multitasking. Their applications can be placed in the background (paused) and then returned to the foreground. Whilst in the background, the applications can’t receive input or process any data (officially – more on this in a bit). So, you can switch between first party applications and a third party (contrary to some people’s belief that you’re stuck in one app at a time), but that doesn’t mean that it’s true multitasking. When a first party application is launched, the third party application is ‘paused’. From this state, the third party application may well be placed in a ‘suspended’ state if the device requires more resources. In the suspended state, the application may become terminated. Therefore, as a developer, if your program goes into suspended mode, you may want to save settings and other data in case your app is the next to be closed by the OS.
Now, developers can still have some sort of interaction with the user, even if the app is in the background or not running. This is done via the Push Notification Service which pushes information to the user’s phone in the form of a Toast or a Live Tile update. (If you’re a developer, check out this great post). Although this gives the user a feeling that the application is running in the background, it’s not the same technology and relies on server communication.
The above information seems to be the official line on multitasking in the current version of WP7. Over time, when battery technology improves for example, true multitasking may be introduced. However, unofficially, third party developers may still be able to get a truer form of multitasking than what it stated as available. Check out this post. Although it’s theoretically possible, I would add that using unsupported features like this could cause your application to break at any time or be unstable. It may also prevent your application to be approved when submitting to the marketplace. I say ‘may’ as there’s no official word on this workaround, but if an app could cause problems, it’s unlikely to be approved.
So, in conclusion, true multitasking won’t be officially available to third party developers. On the other hand, there will be multitasking support for a select set of features built into the OS such as listening to music in the background.
If you have any thoughts on this (or would like to correct something I’ve said), feel free to post a comment or message me @keyboardP.