Tag Archives: OS

iPhone’s Achilles’ heel: lack of background processing

In August 2008 I switched to using the iPhone 3G (courtesy of a bad move by T-Mobile). I’ve now had the opportunity to use the phone for several months. In a lot of way the iPhone is a phenomenal device. It’s the first device to truly usher in the era of hand-held computing. Besides the great design and UI of the iPhone, what is even greater yet is the AppStore. The Appstore became the catalyst for finally loosening (and hopefully) breaking the stranglehold that carriers had on devices and software applications that could be developed on the handsets. It has opened up a whole new segment for iPhone application development and spawned a whole new sector for creativity and entrepreneurship (whether these can be successful businesses of not remains to be seen and can be the subject of a whole blog post in itself).

Apple's iPhone 3G

However, the iPhone as a device has some severe limitations. Limitations, which remind me of the launch of the Palm VII approximately a decade ago. Yes, it was 1999 and the web was abuzz with the coolest new wireless handheld available then, the Palm VII. The Palm VII was a non-multitasking device, like the iPhone.  Right there is my biggest gripe with the iPhone — that the OS doesn’t support multi-tasking and background applications. I understand that this was done for managing the battery life of the device, but the iPhone’s inability to run background tasks prevents it from being used for several rather unique applications.

Location-based services become a whole lot more interesting when they can actually notify the user depending on the users location. I’ve had the Loopt application on the iPhone since the day I got the iPhone. However, an application like Loopt is completely wasted on the iPhone since it cannot do background notification. In addition several tracking and logging applications presently cannot be built/used since they would require exclusive use fo the phone, require that it is on all the time and would totally drain the battery on the iPhone. One rather intriguing application fo the iPhone would be monitoring personal safety (especially in the case of the elderly). There are companies that are building customer devices for doing this and their custom devices have a lot less capability than an iPhone has today. If only the iPhone would allow for background processing for it to monitor the accelerometers and sensors periodically it could be used for this immensely useful task. These are just two examples, but there are several more.

Apple has promiseded that it will provide push notification for the iPhone soon, however, push notification for the iPhone is not sufficient. For the iPhone to be a truly capable platform it will eentually need to provide background tasks and still be able to manage battery life. Conceptually this doesn’t sound like a impossible task. What does make it complicated is the ability for application developers to write applications that could be battery hogs. To overcome this Apple should put together a system that provides users with a “energy efficiency” score for applications and allow auditing to identify any applications that are being battery hogs. The battery life of the device should be a resource that can be managed.

The future of the Palm platform was crippled by many things, but in my opinion, Palm lost the battle when they couldn’t release an OS update for their devices for several years. The OS is a key component of the device and without a proper OS, the usability and future potential of the device is compromised. I sincerely hope that Apple realizes that having a more or less single tasking OS for the iPhone is not the right strategy and they need to address this issue in order to ensure the viability of the iPhone as a platform. Otherwise, it too will go the way of Palm.

Post to Twitter