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
Well if multi tasking is implemented as a series of call backs so that any process that is waiting on data is not consuming clock cycles then there should be no more drain when "multitasking" then when running one application. I have never written anything in objective C but with most of my embedded c programming I am able to put any processes that is not doing anything to sleep, so it does not consume extra power.
As far as I can tell using the backgrounder on my jail broken iphone when not actively working most programs still consume cycles. So almost all of this could be fixed if the wait() call is not properly implemented in the lib.
As an iPhone developer, I can tell you this just isn't coming. Apple has lots of (NDA'd) guidelines about how much CPU juice you get (since iPod etc can work through your app) and this would seriously topsy turvey the existing software base. They have gone out of their way to make a UI that works well without multitasking, and stuff like APNS was engineer specifically not to require it.
Aside from having my SSH sessions die when I want to goto an email or phone call, multi tasking has never actually been lacking.
Backgrounder's probably the single biggest reason I have mine jailbroken. I'm always amazed at the people freaking out like multitasking would cause the thing to explode. People have been multitasking on it for years now. I've had a couple issues with backgrounding and sound, but that's about it. For the most part it's worked great for me.
Everything will be taken away from you.
For some time now, I have been able to listen to music and browse the web, text, chat, etc. by just switching apps.
Uh, you do know you can do that with a non-jailbroken iPhone, right? You didn't mention anything that a stock iPhone is incapable of doing so, if that's why you jailbroke your iPhone, you wasted your time... If there are other apps that you're running with backgrounder, fine, but that was a bad list of example tasks given the iPhone can do that out of the gate.
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.