Apple Announces (Again) Push Notification Services for iPhone 3.0

We've asked what happened to the Push Notification Service that iPhone Software VP, Scott Forstall first announced back at WWDC 2008. We've even wondered if Apple had changed their mind and gone with a true background multi-tasking approach. Or whether they'd simply scrapped the idea entirely?

Turns out Push Notification took a little longer to polish up than Apple anticipated, in addition to developers requesting features above and beyond what Apple initially expected (though, in all "truthiness", we didn't see anything new above the surface yet ourselves).

Apple claims to have tested Windows Mobile, Android, and other devices running background IM, and that battery drain was 80% compared with 20% for Push Notification. We're not buying that yet, but we are happy Apple is taking their time with this. Better a rock-solid implementation than anything approaching MobileMe's disastrous launch.

So what is Push Notification and how does it work? Read on after the break!

Let's say you're running a 3rd party IM (instant message) client on iPhone 2.0. When you exit the app, you no longer know if you're receiving more messages. (Sure, there are work around over SMS and Email, but the app itself is dead to you).

With Apple's Push Notification Service, if you close that same app in iPhone 3.0, anytime someone sends you a new IM, an alert will be sent from the developer's servers (yes, they'll have to keep a session open for you on their end), to Apple's Push Notification Service (PNS) servers.

Apple's PNS server will have a constant TCP/IP connection to your iPhone (yes, they'll be keeping connected to you, like they already do for MobileMe push if you use that service). Once they get the alert from the developer, they will "push" it out to your iPhone 3.0.

PNS currently supports 3 kinds of alerts: badges (like Mail uses to show you unread messages), custom sounds (like a beep or bell or anything already built into the app by the developer), or modal message boxes (like the kind that pop up to tell you your battery is at 20%).

Apple isn't making any promises on up-time for the service, and any new service will have delays and downtime -- and Apple was quick to point out even SMS isn't 100% reliable when asked about it.

What PNS doesn't solve, however, is the lack of good notifications on the iPhone, and applications that require multitasking for something other than notification (i.e. streaming internet radio apps).

Imagine if 10 apps try to push out 10 alerts at the same time, how will Apple manage those on your device? Will you have to "cancel" or "accept" 50 modal message dialogs, or be hit by a cacophony of 30 random sounds? We don't know yet, but hopefully Apple will address this.

Streaming internet radio apps, however, seem out of luck with this solution...

Have something to say about this story? Leave a comment! Need help with something else? Ask in our forums!

Rene Ritchie

EiC of iMore, EP of Mobile Nations, Apple analyst, co-host of Debug, Iterate, Vector, Review, and MacBreak Weekly podcasts. Cook, grappler, photon wrangler. Follow him on Twitter and Google+.

More Posts



← Previously

Turn by Turn Apps Coming to iPhone 3.0 App Store

Next up →

Apple's Mobile OS X Now On 30 Million Devices! 17 Million iPhones, 13 Million iPod touch

Reader comments

Apple Announces (Again) Push Notification Services for iPhone 3.0


Hmm. Interesting. Yes. I agree whole internet radio thing. i would like to have that and push doesn't solve that problem.
I would hate to have all those push notes flooding my screen as SMS notes do sometimes !
I hope they have a small X at the upper right hand corner to just ex out all of them if that becomes a problem.

I read those battery drain claims and laughed my freakin' head off... as I reached over to check out the IM I received in the background on my iPhone 3G (Beehive IM running with Backgrounder). Yeah, I totally believe in 80% battery drain running IM in the background... I'm looking for some swampland in FL too if you know of anyone selling some.
In my experience I've seen apps written to perform well on mobile platforms in the background and some that are/were completely garbage. The point is that you /can/ write background applications for mobile platforms that don't trash your battery... but it requires some care and forethought. Maybe this is just Apple's way of saying it doesn't want to be blamed for developers who design and code poorly? Hmm.

Hmmm, they're trying to blow palm away.... palm's had backgrounding previously... uh hello backgrounding apple?

Apples' new "push" model forces application developers to carry the additional burden, cost, and complexity of developing, hosting, and maintaining companion server side component services. iPhone applications that traditionally provide a convenient "mashup" of data through direct domain access must now synchronize and maintain subscription state within the cloud via custom server side components (service providers). Service providers will be solely responsible for "polling", aggregating, caching, and publishing subscription data on behalf of their respective client applications. Bottom line, if your iPhone application is to feature "push" notifications then you better get busy learning how to develop and maintain a scalable multi-tier architecture (implemented in something other than Objective-C). This may not be a huge stretch for most developers, however it would be nice if Apple would at least offer to host these server side component services for free.

This is not acceptable from apple..
an iPhone Developer cannot make an alarm application that is capable of alerting me OFFLINE??
I don't use any IM software, I just need an application like INFROMANT to remind me of a meeting.
this Push Notification thing is really ridicules. -at least for me-

Push notification is good approach. But how about the data usage of the Push Notification Service?
Did anyone know what are the ping and keep alive intervals of that service?