[quote author=“acdc1174”]
The decision to not have background applications on the iPhone seems to be a decision about battery life more so than a technical limitation of the iPhone OS. WinMo has had multitasking for quite some time. The problem is (and I speak from experience here) that multiple apps running eat up processes and the user who may not realize they accidentally left apps running in the background will get the unpleasant surprise of a dead phone when they go to make a call.
Absolutely, the iPhone OS is already a multitasking OS (it is OS X). It is simply that Apple chose that the running application would quit -saving current state- when another will launch. This way only one application is running simultaneously which gives better performance and responsiveness. When another app is chosen, it recalls its previous state thus looking to the user as if it had been running unaltered in the background. Also, with this approach the user is relieved from managing a task monitor, which would be a geeky thing. To allow developers some flexibility, Apple provides a specific Push service (a single process actually running in the background) so that applications that need to be notified of some external change have a way to inform the user even when these apps are not running, the effect to the user is as if the apps would have been running in the background, waiting for that change to occur.
From my point of view this is a very smart implementation, which has (almost) all the possibilities of letting the apps running simultaneously (and sucking all the CPU and memory) without of course doing so. Perfect for a device with constrained resources which is meant to respond quickly to immediate user actions.