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.

As Microsoft wrote on your link: "If you would like to update your application Tile's background image without sending push notifications". So this doesn't help to get for instance Twitter or Facebook notifications!

Posted by kd on 23.10.10 - 03:16:14

as a developer, i would go about it this way...

i would use the update tile sceduler to ping the server to download the tile background (as in the link above), and when that pings, call a script that would also push the textual data as well (if required)

doesnt that work?

worst case scenario, you can overlay the text information on to the tile background.

Posted by Peter Nowak on 23.10.10 - 09:37:22

Sorry. Nice idea but this doesn't work. It is only for scheduled backgound picture Download.No interaction possible.

Posted by Mario on 23.10.10 - 10:50:47

So and where is the difference to Apple Push Notifications Service? It's exactly the same for iOS here.

Apple back in the days when they announced Push Notifications said they want it to be this way because there has to be a central/unified way so that not every app has to run in the background and poll the dedicated server and hence drain battery.

All in all your article is pointless as you obviously haven't recognized that the things we hold in hand are little computers with accentuation on LITTLE and they are simply not made for running dozens of background polling apps.

Posted by kd on 23.10.10 - 15:59:12

@peter

what I mean is to do the following; (hopefully you are a developer and will get what I mean)

so then you can have user information posted to your server, and now that your script is being called at a scheduled interval or whatnot, you can now also check (in myscript.aspx) if a push notification is required, and if so, push it.

and then all you have to do with myscript.aspx is to make it pretend like its an image with the mime type and post a proper image byte stream

would work no?

Posted by Arne Hess on 23.10.10 - 17:29:53

@Mario: The article is neither pointless nor is everyone using an iPhone or knows how the iOS notification system works. But a lot of new Windows Phone 7 (power) users as well as consumers wondered during the past days (see Twitter, Facebook or forums) why there are no Live Tiles for certain applications (especially where it would make real sense). All the article should do was explaining why there are no Live Tiles and notifications available (yet), which makes Windows Phone 7 less interactive than other phones. However, one strength of Windows Phone 7 should be the interactivity with the user anyway - reducing the "Really?" effect.

@kd: Yes, Peter is a Windows Phone (7) Developer (MVP) and I will let him know that you have a code suggestion for your suggested workaround.

Posted by Toni on 23.10.10 - 18:17:40

I agree with Arne. I have never used iPhone but I am a long time Windows Mobile user, recently playing with Android. Since yersterday I have HTC Trophy and noticed that I don't receive any Facebook or Twitter updates like on my excellent HTC Legend. Thought it was me or Vodafone but a quick search showed me that it is because of Windows Phone.So far I like it a lot. But I miss a lot of useful Windows Mobile and Android features and also notifications. I don't do much Email but more Facebook and I always have to open it. So I want to thank Arne and hope Facebook and Twitter will have notifications soon!

Posted by Peter Nowak on 24.10.10 - 10:36:19

Hi guys,sorry for he late reply.

@kd: Yes, in this particular case you are right. Probably I have been misunderstanding your quote earlier, as I was under the impression, that you were talking about client functionality.Nevertheless - In theory your suggestion shall work. But the scheduled update is type of whaky. I for my person have been trying to get the update working and failed. A lot of other MVPs have been trying and failed under specific circumstances as well, which I'm not able to disclose here. Sorry.What I'm not sure about your suggestion is, if the URI is checked on assignment to the property. The documentation about this is pretty thin. Missing debug features make this not an easy job.But following your path and assuming this would work you have to keep in mind, that for large established Providers like Twitter and Facebook f.e. an invest in evelopment and infrastructure would be necessary to get this functionality running from server side.Regarding that WP7 has started now as a "V 1.0", would you invest into a new started platform where you aren't sure, if this functionality will be changed in a future version?It has been announced that a new update will be released in Q1 2011, which will include Copy/Paste. Nothing more is known, yet.I, as a providder would sit tight and see what will happen, wouldn't you?So the question isn't about technical functionality, but the big picture.This is my personal opinion.

Cheers, Peter

Posted by kd on 24.10.10 - 16:00:06

@peter

i am pretty sure the uri can only be set when assigning the property as you say... so that means the only real information you can pass is like a user id (or a device ID?) i dont know... anyway, im sure there are security issues around it regardless.

with guys like twitter and facebook... i think the fact that they dont push notifications is inexcusable... if they commit to developing the app, they should have gone the whole way... but i guess its a time/money thing, so hopefully soon.

but for the guys that dont own the data... this might be an option in some cases.

but yeah i agree... using the method I presented would probably fall in the 'hack' category.

Oh really? Can you also give me a link to a Live Tiles video for my Facebook and Twitter app on my HTC Trophy? Get your facts straight!

Posted by Arne Hess on 26.10.10 - 09:44:01

Yes, you are right but what do you want to tell me? I have never written that 3rd party apps can't make notifications or Live Tiles! Now, we have the first but still only application available which supports Live Tiles, right - but please keep in mind that this article was written *before* WeatherBug was released. So what's you point? Also the article above doesn't say it's not possible, it only explain that it's done different now than before on Windows Mobile or Android and since it's done different now many notifications and Live Tiles are missed which might be expected to be there.However, the conclusion is till the same: As long as push notifications and Live Tiles aren't broadly supported/used by 3rd party apps, users have to jump in and out to get the information.

Posted by subzerohf on 29.10.10 - 15:42:27

Arne is only pointing out the facts. And the implication is that the true potential of WP7 is not realized. Microsoft should have done more promoting or helping developers to implement notification features. Otherwise, interests in this new OS will drop. Early adopters will be disappointed. And we all know what will happen if early adopters are not happy with a new product.