Apple was late to the multitasking party with the iPhone. The reason Steve Jobs kept giving is that multitasking allows apps to run in the background and drain the battery and that nobody really has come up with a good way to fix that. For iOS 4, Apple defined a strict set of criteria for apps to multitask according to a set of profiles (music, VOIP, mapping, etc). This should have helped, but it doesn’t. Apps are, of course, written by people, and some of those people are not great programmers or lazy or just haven’t been taught these things, so apps that use multitasking often cause huge battery drain.
Skype is the worst offender on my iPhone. It is so bad that I am tempted to delete it. There really needs to be an option to disable multitasking for some poorly written apps, like Skype (and AIM isn’t that good either). I have been using Skype more often recently, as the number is on my business cards, so it is nice to have Skype handy on the iPhone. I noticed that the battery tends to drain very quickly on my iPhone 3GS after using Skype and that killing Skype in the multitasking bar (double tap Home button, press and hold Skype until it wiggles, then tap the minus sign to kill it) makes the battery drain stop.
It is so bad that last last night (well, 2 in the morning), the iPhone was fully charged with Skype idling in the background, yet it was fully drained and had shut itself off by this morning. Not only will that permanently hurt the battery a bit, it means my phone is now useless until it recharges a bit. VERY ANNOYING!
So what do I think should be done:
1) Have settings either in the OS or in apps that allow us to make them suspend rather than keep running when they are not in the foreground (I know, this is adding user-visible cruft, which Jobs hates, but if app writers can’t get it right, then we users must take things into our own hands)
2) Disable multitasking when the battery level gets below say 30% (perhaps make it user-settable – I’d choose 50% or 60%).
3) Reject apps submitted to the App Store if they use too many cycles or perform too much communications when idle in the background.
So far, multitasking in iOS for has not brought me any benefits on the iPhone (though I think it would help on the iPad), so I think there should be an option where we can just turn it off! And Skype should fix their damn app to stop draining the battery, dammit!