NanoToolkit Blog

The Way to Keep in Touch.

Is Apple Push Notification Superior to Android and Windows Phone Push Notification

Push Notification has been available on Mobile Operating system such as IOS, Android or Windows Phone for a few years now. Microsoft’s version is called MPN. Microsoft Push Notification Service limits the Nonfiction payload to 5KB. Google’s Cloud Messaging Service limits the raw Message size to 4 KB. Apple has however limited Push Message Maximum size to 256 Bytes. That is an Apple Device can receive a Notification Message that is the same size as a 160 Character SMS (text Message) or Tweet. At the risk of oversimplifying things that’s because Apple is essentially using the same voice channel that SMS messages get delivered on GSM networks. That’s not quite true, Apple is using an APN to push Notification messages. APN generally continues to work on a 2G Network and virtually all GSM networks in the world at least provide GPRS coverage in the cities.

Apple is doing this because putting the 3G and 4G Telephony Subsystems of the phone on standby could save “significant battery life”. Let’s compare this my Android phone running Android ICS (4.0). By My count when Android Phone is on idle (screen is off) mode it sends something close to 900 bytes (variables) every 20 seconds or on the Data Network. Now When Android restrict background Data is selected the number of bytes sent out of the phone gets reduced to something like a 100 bytes per minute. I have not had the chance of testing out my phone a full day on “restrict Background Data” setting but based my empirical data collected in thirty minutes I think it could increase my battery life by at least 5%. But on Android “Restricting Background Data” equals to Disabling Google’s Cloud Messaging Service.

So IOS appears to save some battery power with using APN based Push Notification in comparison to Android and Windows Phone Notification Frameworks. But Since Apple has to have an Access Point Name to achieve its Notification it requires tight integration between the Mobile Network and Apple for that Push Notification to work. That’s why IPhone Push Notification rarely works well on cellular networks that used to require jail breaking. Microsoft and Google’s approach to push Notification is much pure IP Based. As long your system has any kind of GPRS connection to the internet your push notification should possible without any kind of effort on behalf of Android or Windows to integrate with that Mobile network.

There are some real world differences as well Between IPhone, Android and WindowsPhone Notification Systems. When you receive a Chat Notification via Facebook or Skype or Tweet There is a good chance that raw Message could be contained in the 256 byte limit that Apple has devised. However if you are trying to receive Microsoft Exchange Push Email There is a much better chance that you can receive the entire email entirely via the Notification Message rather initiating a subsequent polling of the server download the email content.

So Perhaps in the short-term Apple’s approach is a better one because it saves some battery power. But In the long-term Microsoft and Google’s approach is the better choice. However, you must keep in mind that Push Notification is done Unified Fashion. That’s because Companies like Twitter or Facebook would be pushing their Notifications through Servers of Apple, Google and Microsoft. So Apple can always raise the threshold level on Maximum PayLoad Size on Push Notifications. But that presumably require an IOS update and for applications to become aware of the new limits it would take some time.

Here is an interesting article on Google Attempt to Make IOS notifications easier.