When Microsoft announced Windows Phone 7, the company was very proud to be different with its new smartphone operating system. And one highlights Microsoft highlighted during its presentation in Barcelona as well as later during other events was the idea that Windows Phone 7 will be way more alive and interactive than other mobile operating systems. The idea was pretty easy explained - instead of just having static shortcuts to applications, these shortcuts - called Live Tiles - should inform the user that status updates are available, for whatever the application behind the shortcut stands for. From message updates to weather updates to news updates to available application updates.
On the Start screen above, there are 2 missed calls, 3 received text or MMS messages and 25 new Outlook E-Mails shown.
So far so good, and the Live Tiles shouldn't just be used by Microsoft for its own Windows Phone 7 applications but they should also be used by 3rd party developers, for instance for showing live weather updates or news flash or whatever - the sky is the limit - virtually!
And Microsoft went even further in one of its early Windows Phone 7 promotion videos where the company explained that - while it love apps - Windows Phone 7 will be totally different to todays mobile operating systems, where apps are not linked to each other which forces the user to go in and out of apps to get the latest status updates:
And today, after more than 2 years of development, Microsoft has finally launched Windows Phone 7 in Europe and Asia Pacific and while the overall experience is pretty promising, maybe even better than most expected, there's yet not a single 3rd party application which features any kind of notification nor to ask for Live Tiles. As a matter of fact, it's even worse than on any other modern mobile operating systems - from Android to webOS and it means that the user is totally uninformed whatever is happening in the background - forcing him to go in and out of the apps of interest. While this shouldn't be a problem with an operating system which supports multi tasking for 3rd party apps - Windows Phone 7 isn't offering this feature for 3rd party apps but apps are kind of reawaken from a previous state. This means it takes longer for the user to get an status overview.
But why no Live Tile or notifications in 3rd party apps? It's not because developers were unable to add this feature to their apps - most of them have proven on different platforms that they are able to add notifications to their apps; it's because Microsoft has changed the notification model for Windows Phone 7 and is using what Microsoft calls "Push Notifications" (explained in a Microsoft blog post here). Basically it means that notifications aren't generated anymore by the application on the device but on a server:
The Microsoft PN (MPN) service includes a cool twist that gives developers the power to create the impression that their application is always connected by displaying relevant information even while not running through the Live Tile displayed on the Start Screen. (...)
A positive end-user experience is the number one WP design goal. This tenet has major implications for how WP works, not just in terms of its new UI and the interaction model it drives, but also with the application platform (the API for developers). Push notification is one obvious mechanism to ensure a coherent and deterministic end user behavior that allows you to communicate with the end user even when your phone application is not running on the phone. (...)
The point is that Microsoft has introduced a mechanism where notifications are pushed - by a server - to the device and the device knows how to handle two different kind of notifications:
- Toast Notifications: Display as overlay messages on the user’s current screen
- Tile Notifications: Drive a change to a tile shown in the Quick Launch area of the phone's Start screen
On the left, a toast notification on the top of the screen which indicates that a new message arrived. On the right, the tile notification, showing the current temperature of 24° with an outlook for 36°.
However, and now it becomes a little bit more complicated, application development on Windows Phone 7 isn't just the application on the device anymore but to make an application alive, it requires a server/client communication. While on other mobile operating systems, the application might run in the background, pulling updates from servers, on Windows Phone 7, updates have to be pushed - by a server - to the device and Windows Phone 7 will know what to do with the received information.
And as it seems, a real problem for 3rd party application developers is the fact, that two systems are involved now:
- A kind of user administration server which is hosted and maintained by the application provider
- Microsoft's MPN Microsoft Push Notification (MPN) service server which send the received notifications to a Windows Phone 7.
When a cloud service wishes to send messages to a Windows Phone 7 application (which is currently not running in the foreground and polling news updates by itself), this push notification has to use the MPN service, which is a hosted service in Windows Azure. The MPN Service will send the message in the form of a push notification message on behalf of the cloud service:
However, and this seems to be the problem at the moment, the 3rd party developer also needs a kind of user administration infrastructure which tells the MPN which message has to be send to the device.
A simple example with Twitter: Twitter has tweets, mentions and direct messages and on other mobile platforms, a client logs-in to the Twitter server and looks how many new tweets, mentions and direct messages are available for the user account, downloads the three message type and the client on the device is parsing the information, splitting the received messages into the tweets, mentions and direct messages inboxes.
With Windows Phone 7, Twitter has to do exactly this on its own servers, for each user and send the exact data to the Windows Phone 7 application. Twitter for Windows Phone 7 isn't looking - in the background - which and how many messages are available but a server at Twitter has to do this and telling the MPN which information should be send to the device.
Therefore, it looks like that not a single of Microsoft's 3rd party application partners have this infrastructure in place today, and therefore Windows Phone 7 doesn't take benefit of notifications for 3rd party applications. As a matter of fact this can be a pretty expensive service for 3rd party providers since they have to run and maintain a server infrastructure in the background and as more successful a service might get, as more money they have to put into the administration server-infrastructure in the background!
Again, it looks like that neither Twitter nor Facebook nor Seesmic nor you name it have this extra infrastructure in place today and it's yet questionable if they will bring it in place any time soon. Therefore - as of today - it means for Windows Phone 7 customers that they don't get (yet) any update notifications for 3rd party applications. Microsoft's new Twitter client Start tile is just a static shortcut as Seesmic's and Facebook's Start tiles are, not indicating that new unread tweets, Facebook updates or personal messages are waiting. But rather than that, Windows Phone 7 customers have to jump in and out of the apps - to get status updates; just like on pre-Windows Phone 7 smartphones.
Cheers ~ Arne