In a recent blog post, Craig explains why using a background service to access web-based information can kill the iPhone's battery. Using a prototype version of Twitterrific on the iPhone, allowing the application to automatically refresh every 5 minutes caused the iPhone's battery to almost completely drain after only four hours.
The heart of the problem are the radios. Both the EDGE and Wi-Fi transceivers have significant power requirements. Whenever that hardware is on, your battery life is going to suck. My 5 minute refresh kept the hardware on and used up a lot of precious power.
He goes on to explain how terrible things could get if backgrounding was available to all applications.
What happens when App A uses the network at 5 minutes past the hour, and App B uses it at 10 minutes past, and App C uses it at 15 minutes past, and so on? There’s no way for you to know what other apps are doing is there? And yet the battery is still taking a pounding.
Craig makes an excellent point and feels that APple has done this to keep developers from "collectively shooting ourselves in the feet". A solution for this may be a plugin or service that allows applications to use networking resources at certain times.
It will be interesting to see how AOL handles this hurdle with its AIM client.