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...