Is iPhone 3.0’s Push Notification Good Enough?
Apple’s announcement earlier this week about 3.0 OS has a lot of interesting meat in it. One of the most interesting bit is probably the announcement about its upcoming Push Notification system.
Here is how it works. For some applications that need to be notified of a certain event when the user has already shut it down, the server those applications were connected to (i.e. 3rd party servers) can trigger an event through Apple’s Push Notification Server. Apple’s server will then take care of contacting and notifying your iPhone, which can in turn forward the message or event back to your app. Having this system would allow applications like IM to be able to still receive messages while it is not running. This is Apple’s solution to developer’s request for running background applications.
But is this good enough?
This architecture will work for apps like IM, or apps that want to fire a reminder when it’s not running, but the main drawback is that the application must now have an accompanying web server. In cases like IM, where the app already needs a server, this is probably not a big deal. But for a simple alarm app that shouldn’t require any server, this is probably much more work than the developer would want to do.
Although the Push Notification system solves some of the problems that blocked certain categories of applications to be developed on the iPhone and iPod Touch platform, it doesn’t solve all the problems. There are still certain categories of apps that require true background processing that the Push Notification system would not address. For example, a popular app on the Android platform called Ecorio, would not work on the iPhone. Ecorio runs silently in the background and keeps track of whether you are moving in a car or bus or walking and calculates your carbon footprint. Another app for Android called Locale, automatically changes your phone’s profile (i.e. ringtone, wallpaper, etc.) depending on your location, would not be possible on the iPhone even with its Push Notification system. There are many more of such examples where the apps need to be running in function correctly.
Apple is holding a hard line for now about no 3rd party apps can run in the background. Their concern is that poorly written apps running in the background would drain the battery very quickly and would significantly deteriorate the end user experience. They claimed that running a background AIM client drained the battery 80% more, whereas using the Push Notification system only drained 20%. Although Apple’s claim does have its merit, we think that claim is a little exaggerated. All the other popular mobile platforms such as Android, Windows Mobile, BlackBerry, Symbian and Palm’s upcoming WebOS allows 3rd party apps to run in the background. The battery life of these platforms don’t seem inferior to the iPhone to us.
How Apple Can Improve
There are several things Apple should consider to make its platform even better for developers:
1. Let developers register simple notifications with them directly, so they don’t need to host their own servers.
2. Support a location-based notification within the iPhone OS. The idea is that 3rd party apps can register for notifications when the iPhone goes near a certain geo-location. In this case, all the 3rd party apps can be shut down after registering, and there can be a single Apple-owned process in the OS running to monitor the location and deliver notifications when needed.
But it looks like developers are still swarming to the iPhone and iPod Touch platform in numbers not seen before in any developer ecosystem. They can afford to hold off on these enhancements for now and still maintain their big lead over the competition.

March 22nd, 2009 at 9:50 am
There is a wonderful iPhone app called TrailGuru that is kind of like Ecorio, but because it cannot run in the background, it’s usage is severely limited for now. Even when you run it exclusively without doing anything else, once the phone rings your tracking is abruptly disrupted!