Multitasking In For iPhone 4.0?
The latest word on the iPhone is that the 4.0 OS will finally have
honest-to-goodness multitasking. This could hopefully lead to things like a real chat client, and dangerous battery consumption. I still hope it's true.
The iPhone OS has always had real pre-emptive multitasking. The phone, email, iPod, calendar, and other applications run all the time and can do things simultaneously.
Multitasking just hasn't ever been made available to 3rd party developers.
It has never been a technical limitation in the OS. Rather, Apple kept control over it for battery life and security reasons.
First against the wall when the revolution comes
There are real uses for multitasking, which the iPhone already does - like listening to iPod while surfing or the like. Maybe chat as mentioned, but I also hope to set which apps can be multitasking - I don't trust the developers always to make the correct call - there is no reason to leave a game running in the background while I surf, it would be better to save state. I would actually say saving state and resuming again is better the vast majority of times over running in the background.
But oftentimes I try to hang up the phone by hitting the home button instead of the end call button (even though I think I did), and while surfing, I still see that "Return to Call" blinking on top.
To conserve battery life, I already turned off push notifications and other things. And I would turn off multitasking for my parents phones, they hardly can use a computer as it. With this, they'll only be wondering why the phone battery is dying even faster.
This is why Apple should sue the shit out of Google, because once iPhone OS 4 is available, Google will inevitably steal every single idea from it.
As a dedicated Android user (and programmer), I still don't see the value of multitasking in a mobile app. The runtime can automatically clean up and restart the application with all the state information necessary if it ceases to run anyway. It's a lot easier to just assume that it's _always_ going to be cleaned up upon suspension, instead of writing code that accounts for the possibility that the app just may be resuming from a paused, but not terminated state. I haven't used a single Android app, or written any code that I can say honestly benefits from the multitasking aspects of Android. The runtime can shut down my app any time it sees fit. Planning for resumption from an abruptly terminated app is the norm when developing for Android anyway. The way I see it, the apps would have more resources if the platform didn't have to multitask.