iPhones and Third Party Applications
A while back I wrote about the problem I had with the iPhone being closed to 3rd party developers. Blackfriars Marketing has an interesting theory on why the iPhone won’t support 3rd party applications, at least at launch. They claim that the problem is battery life – naively written applications will be too big a drain on the system. I’m not sure whether to be happy or sad if this theory turns out to be true. It certainly isn’t a vote of confidence in 3rd party developers if true, but at least it means the situation may get fixed.
The problem is that the iPhone is a blend of a phone and a full-fledged Mac OS X computer. Most developers don’t give a whit about how much power their software consumes. After all, the processor is running anyway; why not use it? The result: most developers are happy to burn processor cycles to get their jobs done, since they view them as having no cost. You can see that in Dashboard widgets available for the Mac today that poll endlessly for everything from the weather to updates of YouTube and Facebook pages. Yes, they are useful, but they both burn processor cycles and require an open Internet connection to work.
But unlike full-fledged Macs, phones don’t really have a sleep mode. As long as they are on, they need to be able to do routine housekeeping matters like beaconing, cell handoffs, and listening for incoming calls. So any software that runs on the iPhone has to do what it needs to as quickly as possible, and then retreat into a low-power-consumption mode. Think of it like the type of cooperative multi-tasking that was done in the Mac OS before version X, and you have the idea. This is made even more important by the inclusion of power-hungry WiFi networking in the iPhone. No matter how clever you are, keeping up a 100 Mbit/sec WiFi link is going to drain a phone battery in hours, not days, unless there’s careful management of its use.
Now Apple can enforce this type of behavior easily in its own user-driven programs like Safari and Mail. Cooperative, well-power-managed software should yield an iPhone battery life similar to other smart phones on the market. But without control over what the software does and how it does it, all bets on battery life would be off. With arbitrary software, the iPhone could easily get a reputation as a power-hungry beast that just doesn’t have enough battery power to succeed. After all, John Dvorak has already claimed as much in a podcast earlier this month; Apple has too much invested in the iPhone and its success to allow such unintended consequences to spoil the launch of this flagship product.