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…




















March 17th, 2009 at 3:01 pm
Simplfy Media..(sniff, sniff)
March 17th, 2009 at 3:14 pm
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.
March 17th, 2009 at 3:22 pm
I guess Backgrounder will have to be ported to 3.0 this summer …
March 17th, 2009 at 3:23 pm
What does all this news mean regarding a brand new iPhone??
March 17th, 2009 at 6:32 pm
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.
March 17th, 2009 at 8:39 pm
Hmmm, they’re trying to blow palm away…. palm’s had backgrounding previously… uh hello backgrounding apple?
March 18th, 2009 at 12:41 am
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.
March 21st, 2009 at 4:29 pm
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-
March 26th, 2009 at 3:56 am
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?
April 10th, 2009 at 2:55 am
Ok, and how will be to do’s notifications?