From: zoara on 13 May 2010 05:50 Note: when I talk about multitasking here I mean in the sense of users being able to do two things at once, which the current iPhone only manages in a minor sense (playing iPod, sending and receiving mail and SMS in the background etc) rather than the sense of the OS running several tasks at once. ---- Apple seem to have "faked" multitasking on the iPhone et al in such a way that users don't have to worry about what apps are running. When you start a new app the app you were just running is "frozen", consuming no CPU and just the RAM that it was using; apps should "tidy up" (saving state or whatever) in the same way they currently do when the home button is pressed. This is so that if the system needs more RAM then the frozen apps are removed from memory without warning, oldest first. The user doesn't need to manually "quit" apps, and will not see out of memory messages, CPU slowdowns or battery drains. Tapping on a frozen app restores state from memory, giving the impression that it's been waiting in the background (ie no loading time, no "back to the beginning" etc). The concessions Apple has made to multitasking are: - task completion: an app can have a few minutes to finish that upload, download, thumb-twiddle or whatever before being frozen. - background music: an app can play music in the background. Presumably (as Pandor was demoed, and it's a is a streaming service) it can also pull data down from the network? - background VOIP: an app can listen for incoming VOIP calls - background GPS: this comes in two forms. One is that the app gets alerted when the phone has moved more than a certain distance, something like 1km? I'm not sure how; I guess the entire app is unfrozen and informed. This uses cell tower positioning so doesn't eat through battery life. The other form is that the background app is continuously told the exact position, using the GPS chip. This is for sat nav apps - presumably the can also do voice prompts from the background. Now, with all these concessions, battery life, CPU and memory are all impacted, but in most cases it isn't much - certainly not enough for the user to have to get involved. Task completion is potentially high-resource but is restricted in time. Background music and VOIP are low-resource so leaving those running forever is probably not a big deal (though if the app is streaming that is different; perhaps Apple will disallow background streaming and enforce caching (through task completion?). But the biggie is the background sat nav. You kick off your TomTom, head off on your journey to the hotel, maybe switch to a music app on the way, get to the hotel, check your email for the reservation number, check in, and collapse on the bed. All that time the GPS chip is running, sapping battery. How does the iPhone avoid this? Will we have to manually quit sat nat apps using a "quit" button in the app? Will users have to have the "double-tap home button" function explained to them, then the "hold finger on running app" gesture, then the "tap minus sign to quit" explained? If this is manual - however it is done - then we end up with two classes of apps; the "just use and don't worry" ones, and the "this one is special and needs special treatment" ones. How will a user know that some apps need to be treated differently? How will a user know *which* apps should be treated differently? Or do users just suffer from random (from their perspective) sudden battery drains until they work out what is going on? -z-
|
Pages: 1 Prev: Mobile broadband review in The Register Next: "Ten free apps to install on every new Mac" |