Last week I wrote about an app that had bad live-tile-behavior. This behavior causes the phone to keep requesting live-tiles from a server. And while doing that, is causes massive data-connection-load and CPU-drain. I've had many responses to that blog-post, from people who described other malfunctions of the Startmenu of Windows Phone 7.8. So many, that I had to do some more investigation. My research still has some loose ends (behavior that is not consequently reproducable). But I'll try to summarize here.
Windows Phone has 3 mechanisms for updating a live-tile. I investigated all of them. I will explain each type of live-tile and what found, while trying to use it on WP 7.8.
- ShellTile.Update(ShellTileData) - This method allows you to manually update the contents of the live-tile from within an app or a background-task of an app. Apps use this to create custom tiles. For example, a twitter client may register a background task, that checks the twitter-feed and write text-updates on the live-tile. I've had no problems using this functionality in both WP 7.5 and WP 7.8.
- ShellTileSchedule.Start() - This method allows to set a URL to a live-tile-image on an external host. The URL is fetched at predefined interfalls. I found that the Shell Tile Scheduler may start behaving irretically under some circumstances. The app from my previous blog-post, did in fact use this method. I have tried to reproduce this behavior in an app of my own. But I have not been able to isolate the situation that triggers this problem. If the problem occurs, there is a serious problem, that may lead to low performance of the phone and high bills from your mobile operator! This behavior seems to be specific to WP 7.8. So far I have not been able to reproduce it on WP 7.5 and WP 8.
- HttpNotificationChannel.BindToShellTile() - This method opens a channel to the Microsoft Notification Servers. External sources can post images, text or counters to the Microsoft Notification Servers. This will be routed to the phone. I found this functionality to be completely broken on WP 7.8. It is possible to send a text or counter. But as soon as an URL for a live-tile-image is sent to the phone, the phone immediately closes the endpoint to the server and nothing is updated. I found that when the app completely registers a new endpoint, the live-tile can sometimes be updated once and then the endpoint is closed again. In my case deleting the PushClient Endpoint registry-keys did not help and even a hard-reset did not resurect the live-tiles. Live-tile notifications still worked only once, or not at all. On WP 7.5 this method just works as expected. I actually hope I did something wrong here. Or else I don't understand how this could ever get past the Microsoft Quality Assurance department.
In a reaction on my previous write-up, PeterF from Weerplaza.nl wrote that all his live-tiles had become unresponsive. That is conclusive with my own findings. A bit later wmpoweruser.com also wrote that many users were experiencing the same problems.
In another reaction on my post, Bashar mentioned that an app from Microsoft was also showing the same Tile Scheduler bug as the Tweakers.net app did. This concerns the Microsoft Bing Translator app. When you download the free app from the Marketplace and you pin it on the Startmenu, it will try to update the live-tile with word-of-the-day images. The problem may not start immediately; it can maybe even take an hour before the problem occurs. But when the problem starts, you will see that the live-tile starts flickering a bit. That is the result of constant updates of the tile. This means, that this app from Microsoft can also drain your 3G-data-connection and battery of your phone. If you have this app, make sure you unpin it from the Startmenu, or else your next phone-bill may be a very unpleasant surprise.
Not all apps that use the Tile Scheduler will go nuts. My own test app behaved normally. So it is very hard to detect which apps are dangerous at this moment.
Those are the test-results so far. I'm not sure these problems are reproducable on all devices. The results have not been conclusive enough for that. I am curious to see if other developers or users experience the same malfunctioning Live-tile notifications. And I'm also curious if there are more apps the use the Tile scheduler and end up in data hogging. Please let me know if you have information that can confirm or deny my test-results.
I hope Microsoft is able to send out a quick update to fix these problems. And while they're at it, I'd really appreciate it if they can fix the delay/lag in the Startmenu when you tap a tile to open an app!