Why Apple's iPhone is like a 1981 IBM PC - page 2 - at ZDNet.co.uk

_Why Apple’s iPhone is like a 1981 IBM PC - page 2 - at ZDNet.co.uk: “Perhaps the best arguments against Apple allowing background tasks are that they take up too much airtime, draining the battery, and that there’s no way for them to communicate to the user when they need attention. If either of these two things were a given for background tasks, then Apple would have a point. But they’re not, and it doesn’t.”

(Via ZDNet.)_

Not a bad article, regarding Apple’s decision to limit access to iPhone developers to userland applications without background tasking. I agree that at the OS layer there’s not really any terribly good reason not to allow it as the kernel of OS X is more than up to the task.

However, but I don’t think he’s really invested a lot of time looking at the impact that radio communications have on battery life in a pocket-sized device.

The article mentions the battery only once in passing. First off, anything you’re likely to do in the background would be looking up information somewhere over the network. For the moment I can’t think of any background tasks that are limited to local data that have much value. If there’s a need to alert the user, you can always interact with calendar and use its resources for meeting alerts etc. So by default you’re going to be using the radio (bluetooth, wifi or Edge or eventually 3G) a lot.

If you think that doesn’t have an impact on battery life, take an iPhone and set the Mail application to Auto check every 15 minutes. For fun, turn off Wifi and use the cell network exclusively. Then set it to Manual and see how much time you get out of your battery. I notice that on days where I have very heavy usage of Edge, I can sometimes drain the battery before getting back home at the end of the day. Constant network activity would practically guarantee that I wouldn’t make it through the day.

Apple’s doing two things here - first off, it’s minimizing the risk. Not to the platform as a technical issue, but to its reputation. If people start installing apps left and right and then discover that their iPhone can’t get through the day there will be a serious negative reaction.

Secondly, Apple’s approach to new markets is to deliver what it promises, but still leaving some room to expand in order to keep up the buzz. We complained for a year that there were no 3rd party apps and it kept everyone talking about the iPhone. Now we’ll be getting applications to play with and talk about and complain about the lack of background processing.

It’s all about managing expectations, and we have very different expectations from a portable computer and something that looks like a phone. Imagine that your phone only got 3 hours of use out of a charge. We expect this from a computer, but I expect that, at worst, I should be able to go the entire day with an iPhone without worrying about running out of battery. While the iPhone is technically a computer in terms of it’s OS architecture, it’s a very special purpose computer with a very specific usage pattern and form factor that has to be respected.

I fully expect that Apple will release a background task API specific to the iPhone sometime in the next 18 months that will abstract much of the management of these activities and will be able to regroup queued demands from multiple applications in order to send them together rather than as a constant flow. Until battery technology gets a lot better this is always going to be an issue.