Are Push Notifications Better Than Background Apps?


iphone-push-notificationWhen Apple announced its push notifications for mobile software titles, I was skeptical. That’s not surprising, because I was raised in a multitasking world. In that world, you just run multiple apps at the same time and flip around from one bit of software to another. It’s the world that we all live in today with our computers. But the mobile world isn’t the same as the desktop world. Running multiple applications can hit the CPU and radios harder on our handsets, which, in turn, use more battery power.

So Apple’s idea is to manage software events on its servers and push a notification of those events to your handset. Essentially, the software relies more on the network and servers than the client hardware. The benefit is that a third-party app isn’t just sitting there running when there aren’t any events that require it to be active. This paradigm saves battery life because software only runs when you need it to. On the other hand, it requires third-party developers to channel all events through Apple’s infrastructure. I find that to be limiting, but it’s a necessary evil to gain the benefits.

For the past few weeks, I’ve been able to use two handsets, my Apple (s AAPL) iPhone 3GS and my Palm Pre (s PALM). These represent the two ends of the spectrum. The iPhone supports the effective push notifications, while the Pre offers superb multitasking capabilities. And I’m on the fence about which is better. Simply put, they both work well, but with tradeoffs.

The Pre offers the same desktop computing paradigm where I can load up and run several applications all at once. It’s easy for me to navigate to different apps. And it’s fast, too; by leaving apps up and running, I don’t waste any time waiting for an application to fire up. But I suspect part of the Pre’s fast battery drain is due to running several bits of software all at once.

On the other hand, the iPhone doesn’t waste CPU cycles with software that’s simply sitting there churning and burning. And when the push notifications are working 100 percent, it’s a relatively seamless experience. Using Beejive, for example, I can be “logged in” to IM, even though the app isn’t running. When someone at work starts an IM conversation, a notification is pushed to my iPhone, and I can start the app with one button press. The app fires up, and the IM conversation is there for me to read and respond to. But again, push notifications are only as good as the service they’re on, and I’ve seen a few slip through the cracks or take more than a few minutes to show up.

Which is best? Both have their share of pros and cons. While I like the multitasking approach that Palm offers, it may hit the battery too hard for power users of the Pre. And I’m not sold on the reliability of Apple’s notification service just yet. If forced to choose a model, I’d probably go with push notifications, simply because a device with a dead battery is a useless device. Any way I can use my handheld effectively and save battery life is appealing.

In an ideal world, I’d really like to see a third-party provide push notifications. Such a company would offer open standards for developers on all platforms to use the notification service. That would provide the same type of experience across all mobile devices and not tie the technology to a single platform or device. Until then, however, my notifications go through Apple.

I’ll be looking at some other apps with push notification over the next several weeks. Maybe the experience will get me off the fence, since I like both push and multitasking at the moment. So far, the battery on my Pre generally gets me through a full day, so the multitasking isn’t eating juice too much. I also have both devices set to fetch email every 15 minutes, even though both can handle push email. I don’t consider email an “instant” communications method: For that, I have a phone and instant messaging.

What are your thoughts about multitasking and push notification on mobiles so far?



“Notifications” would be great… if:
More apps had them.
Exiting an app… would remember where you were… and the app would later reopen on that exact screen.
The pop-up notification would give MUCH more info… right on the pop-up itself.
Each pop-up let you choose: “Read, Close, Stop Notifying Me” right on the pop-up itself.
I could choose: Badges, Sounds, Pop-ups, Vibrate.

Apple took a great idea… and then left out a lot of handy stuff.


The best solution is both. I love the push notifications for IM’s and eBay (rather than paying for them to text me when I’m outbid), etc, but I also really love listening to Pandora while a play a game or surf the web.

Yes my phone is jailbroken, no I don’t have any problems because of it, the iPhone 3GS has more than enough memory to run several apps at the same time and I have many apps that I love but just would not be possible if everything was controlled by Apple and AT&T. Take control of your phone that you pay for and use it to its full potential.


@Doug Petrosky

Simple question: why does an app on the same device, when it needs to display a reminder to the user, has to connect to a server, so that server will later a push a notification to the phone?

If each such notification requires a trip to the server, that’s also wasteful.

FYI: Palm is currently putting in place a similar push infrastructure, but it has not been rolled out yet. For the kind of notifications such as Facebook updates, this makes sense.

However, Apple is also requiring a round trip to the internet just to display an alert box on the screen, while on the Pre, an app registers the time of notification with a scheduler. When the time comes, the application is launched to display the notification. Those notifications are often interactive, the user can perform some operations on them, such as dismiss or snooze an alert without switching to that app.

I find the requirement of apps on the same device to register a notification on a remote server, just to display a message to the user utterly ridiculous.



Hear hear!

I wanted to say the same as you do. My BB has BeeJive IM and realtime notification including multitasking AND a 2 day battery life for two years now.

And beside that I leave Facebook, Google Maps, Viigo, etc. all open.


Everything is about trade-off…
And don’t get me wrong I like both the Pre and the 3GS.

But on a BlackBerry you have multitasking, real-time push AND a better battery life than the Pre/3GS.
On top of that the reliability of the real-time push is guaranteed. Last year (correct me if I am wrong), the service uptime was more than 99.8% with 8 months at 100% uptime.

So it seems possible.


I play my mp3 in the background, while I turn on my navigation software as I drive long distance.

Surely there’ll be scenario who required multi-tasking.

Just because Apple doesn’t support it, or have limited support doesn’t mean they have the right answer.


Main problem with Push Notifications, besides it not being suitable for all types of multitasking needs, is the iphone archaic notification system (stupid popup boxes in the middle of screen)

If apple addopted something like GriP (growl for iphone), that i´m using on my jailbroken device, the all system would be much better, specially now that one can have 10 or more apps using push installed


but still I think iPhone is better..with push notification atleast you can do something..but without battery “Nothing”.


For the 10th time: the iPhone doesn’t last longer than other phones, with or without notifications.


> For the 10th time: the iPhone doesn’t last longer
> than other phones, with or without notifications.

You know the battery life of *ALL* phones?
And all the things EVERY user has turned on/off?
And you know *ALL* iphones last less than *ALL* other phones?

Wow. You are smart!


OT: we all know that the iphone 3gs has a fm radio transmitter/receiver (hardware). Is it possible to write a app for it (fm receiver app) ?


Here’s how the system handles push notification.

1) Create a network socket to a server.
2) Listen for data.

Here’s how a backgrounded app handles notifications.

1) Create a network socket to a server.
2) Listen for data.

See the difference? Right, there is none. Either the app does the work or the system does the work, somebody has to do the same work.

The battery life reasoning is completely bogus. The real reason is: Apple wants to control everything. Controlling everything gives them warm fuzzies.

Doug Petrosky

It works like this.

5 background applications. Each opens a socket to a server each gets a time slice from the CPU each has to be loaded into memory.

5 push notification applications, register with Apple’s push server and a single process sits in memory listening.

How big of a difference is this? How is ram released and allocated to give room for the foreground task. How many security holes are created via each method.

I’m sorry, but there is a real difference I would just like to see someone try to quantify it.

Test the Pre with no background applications for battery life and check the iPhone 3Gs. Now run a series of background applications and similar push applications on each phone and send nothing and see how it affects things.

Finally test both again but this time every 15 send a different alert and have the user respond to it. See how quickly each delivers the data and see how it affects each for battery.



Where is the evidence on battery life? The iPhone battery life is no better than other phones. It’s a completely hypothetical argument which is not supported by any observable facts on other multitasking phones.

An inactive app wastes no CPU cycles. And if the user wants it to be active, for example, playing Pandora or GPS tracking, why should Apple stop them? It’s most likely about Apple maintaining a competitive advantage on the device vis a vis 3rd party developers.

William C Bonner

So the Push term is something like comparing polling vs interrupt driven communications? Or Cooperative vs Preemptive Multi Tasking?

Does it work in the apple case by having an app on the phone polling an apple site for events? Or are events sent to your phone using some special data packets on the cellular network?

I’m using Windows Mobile right now, which I believe does multi tasking, and I’ve found that the battery seems to last significantly longer if I have fewer apps running. I’ve found it interesting the discussion of the Pre being multitasking, since most discussions seem to ignore the Windows Mobile platform altogether.


You realize that’s because Windows Mobile is terrible and woefully out of date, right?

Gavin Miller

The only reason I’ve jailbroken my 3GS is for background apps. I like to be able to choose if I need to leave an app running, like internet radio.

Lewis ;]

I say there great, its just that there never instant and it takes a while to open up the app.


Which is quicker?
Pull up a list of all multitasking apps.
Search for the app you wish to open.
Wait until the app opens.
Just reopen an app that’s NOT multitasking?

Should take about 1-2 secs… either way.

Jonathan Greene

new thought … they are not trying to be the same thing. Push Notices are Apple’s answer to the Pre and Android active notification systems.


I can do either on my iPhone and I am quite happy with that, yes, I am breaking Apple’s rules to do it.

However, jailbroken iPhones have backgrounder as an addon and several other power user friendly value ad-on features. It’s not a perfect system, when it runs out of memory the apps just go away. (That is something that would be hard to do on the 3GS with double the memory)

So for me…I will take both. Thanks.

The sooner Apple gets with the program and addresses the issue the better. So bash away at them about it…but remember if you want it … it can be done on the iPhone.

Of course…push notifications can not be replicated on the Pre (yet) no matter how much you want to….

Vasanth Dharmaraj

I think push notifications is great for IM like applications. But listening to Pandora while surfing would be cool.

On my Nokia E71 I have an app that silences my phone when I am at work (based on location) or at night (based on time). There can not be a third party app for the iPhone that does that.


Unless Apple allows your phone to push your current GPS location to their servers on a set time interval, but I just don’t see that happening.

Having an app running in the background to know your current location could open up so many new app ideas. Hopefully it’s not too long before the iPhone gets background apps, even if it’s just on the 3GS.


An app that is just “sitting there” doesn’t waste CPU cycles. It may waste memory.

The post doesn’t make clear what push is being used for. IM and e-mail, anything else?

It seems to me to make sense for both because why should each application ask the server continually “has any new message arrived?”. But both programs should be running anyway: e-mail because it’s important, and IM because it depends on presence. Correct me if I’m wrong.


The Pre puts the onus on the user to close something down to save cpu cycles and battery life.

In my opinion that is more reflective of power-user friendly device than the iPhone.

Push notifications are useful in far less situations than Pre’s multi-app and notification style approach.

My two cents.


Honestly I would like the best of both worlds. For IM apps push is great, but some apps need to run in the background (radio apps, etc).

On a side note…unless you get like 10 emails every 15 mins it would take less battery to set your email to push.


Don’t forget that the iPhone does support multitasking but Apple have chosen to limit it to their own applications. In effect they’ve created a two-tier system where their applications look good running simultaneously and everyone else’s are forced to rely on a slower, less fool-proof, Apple server dependant push system.

Also, how bad is your Pre’s battery life because Palm have chosen a smaller battery than the iPhone (1150Mah vs. 1400Mah)? Do you struggle to get through a day on a full charge because the Pre’s battery is a little on the small side for my liking.

Kevin C. Tofel

Yup, the native apps can run in the background as you pointed out. As far as the battery life on the Pre, the battery capacity difference is one of many reasons the device might not run as long on a single charge, but I wasn’t going to outline all those reasons in this article. ;)


That’s fair enough :)

The Pre will be released over here shortly and I’m due for an upgrade so it’s on my list of phones to consider. However, battery life is a big factor for me – my N95 8Gb lasts the best part of the week on a single charge and I don’t really want to go back to charging daily if I can avoid it but I really like the look of WebOS.

Decisions, decisions.



I don’t think Apple is intentionally trying to make other people’s apps look bad – nor are they trying to force developers into using their system. The simple fact of the matter is that the 1st and 2nd gen iPhones don’t have a lot of RAM. Pick up any iPhone developer book & you’re warned repeatedly about how little RAM there actually is to work with.

The iPhone and iPhone 3G both have 128 MB of RAM. After the OS is loaded, along with the various housekeeping tasks, you’re left with about 64 MB of usable memory. There is no swap-file or similar virtual memory system. 64 MB is all you get.

In the old days of assembly language apps, 64 MB is plenty. But when you’re talking apps written in Objective-C with all the bells & whistles, that isn’t much room to work in.

By limiting the programs capable of multi-tasking to their own, Apple is ensuring the stability of the phone – it’s not going to crash or become unstable because your IM client has a memory leak.

Now, from what I understand the new 3GS has 256 MB of RAM, and future iPhones will presumably have even more. With more room to breathe, I’m curious to see whether Apple will continue the moratorium on 3rd party background apps or not. But I can definitely understand and appreciate it on their current hardware.


I understand what you’re trying to say Mike but I just have one problem with your argument.

Windows Mobile doesn’t have these problems so why does the iPhone? In fact, for years, Windows Mobile devices were released with a total of 32 or 64Mb of RAM (before loading the OS) yet still allowed multitasking. That includes modern apps developed in languages targeting the .NET framework.

It’s awfully hard to reconcile those facts with the limitations imposed by Apple and it certainly seems as if this is just about giving their apps an unfair advantage so they shine over the competition. Maybe they are just ensuring that their phones stay stable without having to reboot too often but it seems a bit unfair to prevent users from choosing which apps they’d like to run in the background. Either way, push notifications seem like a dodgy solution to a problem that probably doesn’t exist.

Eddie W

Just having started using the iPhone from a WinMo environment (HTC Fuze and HTC Advantage) I *really* appreciate that I don’t have to reboot every day or two. I haven’t booted this iPhone since installing my last app about a week ago. Bottom line: You can keep WinMo!

Comments are closed.