Friday, February 5, 2010

It's the battery life, stupid!

Well, the in the news today is a series of articles in places like Information Week, Macworld, TechCrunch and even The Atlantic speculating about sinister motives on Apple's part in their recent announcement that prohibits the use of Core Location for the sole purpose of serving up advertising based on the user's current location.

Linking the announcement to Apple's recent purchase of Quattro Wireless, a mobile ad company, the speculation is that Apple seeks to reserve geo-targeted ads for itself and lock out other mobile advertisers from the iPhone platform.

While such conspiracy theories make for great water cooler conversation, I think there's a much simpler explanation: conserving battery life.

If you've ever used the Maps application for an extended period of time (hopefully not while driving :-), you've probably noticed that it drains your battery pretty quickly.  Running Core Location continuously takes a significant amount of power.  I'm not knowledgeable enough to say whether that's due to power used in cell tower triangulation or by the GPS receiver or just the amount of CPU cycles needed to turn the raw location data into latitude and longitude, but I do know that Apple recommends minimizing the using Core Location in your app and deactivating it when you have the location data that you need.  This was stressed to developers at the iPhone Tech Talks in 2008.

So whether or not Apple announces its own Core Ads API along with iPhone OS 4.0, I think don't think there's a sinister monopolistic motive behind the new rule.  I don't want every app I use to go draining my battery down just so it can serve up location-based ads that I'm going to ignore anyway.  Do you?