I’ve written here already about the recent changes in operating system – at least when it comes to mobile OS.
My focus last time was on the new services mobile OS offer to developers: UI frameworks, browser, virtual machine and an app store to name a few. In that post, I think I missed one real important trend: the reliance on “the cloud”.

Operating systems in the cloud (CC: akakumo)
The idea of “a Net OS” and a NetPC is not new. In fact, it came about during my days in the university, some 15 years ago. But since then, nothing was really done on the OS level. Not until recently.
Today, when you look at “modern” operating systems – and to me “modern” are the ones used by new smartphones, heading innovation in the computing world – what you see is that the operating system themselves are starting to offer cloud services as part of the OS low-level features available for developers.
And I am not talking about the app store itself, with its application upgrade feature, but rather on more basic stuff used by developers: the Push Notification service.
Push notification is a concept that is used by mobile devices today. It allows applications to get external notifications on a single pipe, managed by the operating system itself, instead of needing to poll the sources it wants to poll.
What exactly does it mean?
Let’s say you have a website. And in that website you are showing news items of recent events. Now let’s say you’re developing a mobile application, and you want it to connect to these news items of recent events. How would you go about doing that?
One way would be to poll that website when the application is launched, and every once in a while to poll it yet again, looking for any changes.
Another way would be to ask that website to somehow “push” new events directly to your application on the device. This one is the push notification service.
What’s the difference between the two?
| Polling mechanism | Push notification | |
|---|---|---|
| Initiator | Device checks for new information | The server that holds the information |
| Granularity | Depending on the time between polling requests | Immediate, below 1 second from availability of new information |
| Battery life | Increased usage of battery life | Efficient in battery life |
| Knowhow | Requires developers to know networking to implement | Documented APIs available on the device |
| Sharing | Each application polls on its own | Single mechanism shared by all applications |
Polling mechanism vs. Push notification
Push notifications requires an external server. One that is developed and managed by the OS vendor itself. This is a huge shift in the paradigm: if you were an OS vendor up until now, you just needed to know how to write OS-level software. Now, you need also to host your own cloud service to offer this push notification mechanism.
Who offers it today?
| OS | Mechanism | Remarks |
|---|---|---|
| Android | C2DM | Introduced in 2.2 Froyo release |
| Blackberry | WAP PAP 2.2 | |
| iOS | XMPP | Introduced in 3.0 release |
| Windows Phone 7 | Check here | |
| Nokia | Qt | In beta |
Mobile operating systems and push notifications
While this is a single cloud service offered by operating systems, and mostly by mobile operating systems, I am sure this isn’t the end of it but rather the beginning. Expect to see more cloud related services embedded deep into the operating systems of the future.
