I know, not another Live Tile article taking jabs at our beloved Windows Phone OS. Sorry but this subject has become a passion for me and after several months of inaction it’s time to draw some conclusions and point fingers. Maybe not everyone (some users don’t get the app thing) but most users by this point have experienced some form of push notification/live tile dysfunction on their devices. I have done a bunch of testing and flip flopped at least a couple times, first blaming Microsoft and then poor developer code, but now it’s time to to connect some of the dots.
What I do know is that each time you install and open a push/live tile app it adds two sub keys to your registry. One under Managed Endpoints and another under Endpoints. As a matter of fact, almost all apps that offer these features will automatically activate them as soon as you open the app, so you probably have some push/live tile apps registered that you don’t even know about. No, the tile does not have to be pinned to the Start Screen in order for push/live tile activity to start working. In a perfect world, Managed Endpoints (MEP) and Endpoints (EP) should always be equal as described in the photo at left. But, Windows Phone is not perfect (yet) apparently, and for no reason the MEP sub keys will sometimes just disappear.
This has been a mystery that I have been trying to work through for months, exchanging multiple emails with various developers, downloading and installing more than 25 live tile apps, at one point even having 16 of them installed at one time (that’s right, 16). I was even able to get some of my research to Tom Fennel, a Project Manager on the Windows Phone 7 Application Platform team, responsible for the Push Notification feature, and the same guy who did a presentation at MIX11 on Enhanced Push Notifications & Tiles, which is supposed to be coming with the Mango update. So what’s the big deal you say. Well, when the MEP sub key disappears, the associated EP key does not. And each time you reopen a sleeping push/live tile app, both the MEP & an additional EP sub key will be added. to your registry. So over time, your EP sub keys will accumulate till they reach a point (somewhere between 22 and 30, don’t ask me why) where EP sub keys, and ultimately MEP sub keys will no longer be added to the registry. That means any new push/live tile app installed, or any existing push/live tile app that has gone to sleep, will no longer be able to make entries to your registry, hence non-working live tiles. Although this happens randomly all the time (there but not actually working), it is really noticeable after a soft reset, when some apps simply will no longer have an MEP sub key in the registry. As long as your EP sub key count has not grown too high, opening the offending app will wake the push/live tile again and all will be well till the next time.
Up until last week, unless i checked my registry every hour or so, I couldn’t figure out which apps were disconnecting and then adding additional EP sub keys. I thought I had zeroed in on a couple, but now I know, thanks to reader sketchy9, that ALL push/live tile apps exhibit this behavior. Looking at the left photo below you can see that Birdsong has an entry labeled Cookie within it’s MEP sub key. The photo to the right shows the list of EP sub keys, one with the same reference starting: 70FBF8D9-… You can see that the dots are now connected. Within each EP sub key is a generic incomplete path, so there is not much that can be learned from the detail. With this new info I was able to determine that over a three day period all 8 of my current push/live tile apps disconnected (at least once) and created new EP sub keys, with a new cookie reference. So the lesson here is, the more push/live tile apps you have, the sooner your push/live tile apps will stop working completely. The one good thing learned from this is that now, with my dev unlocked device, I can surgically delete the leftover EP sub keys, rather than deleting the entire EP key which is how I have been keeping everything working up till now.
So what do we know? Well, we know that third party apps do not run in the background on Windows Phone, so the only connectivity a developer has to your phone and their push/live tiles is through a cookie that is getting refreshed periodically by Microsoft’s push servers (nothing comes directly from third party developers to your phone) via your push channel. So if MEP sub keys are disappearing from the registry without even opening a push/live tile app, which can’t take any action unless the app is opened, then who or what is making these sub keys disappear. I will give you one guess.
Here is a little more speculative information to mull over. Within the Push Client parent key are a few additional entries. One is Session pictured below that does have a couple entries for MaxKeepAliveInterval and MinKeepAliveInterval. Not sure what the DWord refers to, but if that’s seconds (like the one to the right) then that would be Max = 58min / Min =20 min? And what about that wap.cingular reference on the right. That’s tucked inside a key labeled TDET/HISTORY. Btw, to save you time, LastKnowGoodIntervalSec = 29.5 min. Microsoft did talk about some changes to push notification and the way carriers interact, but their focus was on overseas carriers, so I don’t know. To the best of my knowledge, none of these values have changed in several months. And I have not gotten up the nerve to start tinkering, not without at least knowing what they represent. My last wayward registry change cost me a hard reset.
Seems to me that all trails regarding push/live tiles failing leads straight back to Microsoft. What can they do about it:
- If the problem is with their server’s timing out or doing something that is causing these MEP keys to drop off/disconnect, don’t you think that they have the capability to fix it after several months? Maybe I am naive, but I do.
- If the problem is with the way developers are pushing data to Microsoft’s servers, or possibly not pushing enough, as in maybe they need to send something/anything every X minutes, then when are they going to tell the developers. The feedback I have gotten is that the third party guys send the info out to the MS servers and that is all they know. No error messages or anything back from Microsoft to indicate that the data was transferred successfully/unsuccessfully.
- If the problem is within the current OS itself, how about a fix? I realize that Microsoft will want to launch Mango, with all the goodies it has, to high power fanfare and celebration. But push/live tiles are NOT a Mango feature. They are a WP OS 7.0 feature that does not appear to be working correctly. So if they really know how to get all this working with Mango, can’t they sneak this fix in six months in advance and add the additional push/live tile enhancements later with the expected fanfare noted above.
- If the problem is with the way the carriers maintain connections to our devices, maybe it’s time for Microsoft to come clean, as they have done with other issues involving OEM hardware changes and carrier update delays. The developers who added push/live tile functionality to their apps have been taking a beating in user comments/reviews and forums, which is directly affecting their bottom line. And I am 95% certain that failing live tiles are not their fault. So maybe it’s time for Microsoft to set the record straight so that users can cut these folks some slack. Sounds fair to me. Wouldn’t you rather hear that ugly inoperable wart on the tip of your nose will fall off by itself in six months instead of silence.
Ultimately, I don’t think this article will change anything regarding Microsoft’s handling, or mishandling of broken push notification/live tiles. Sort of following Toyota’s lead on this one. If you don’t admit it’s broken, how can it be broken? But this article may just raise some awareness. Julien Schapman, of homebrew TouchXperience fame, is contemplating some kind of tool to purge the EP key. Or with this new found info, maybe just pluck out the dead wood, saving unlocked users the anxiety of having to dabble in the mysterious registry region. And there is a renewed effort at XDA-Developers to come up with a new way to unlock your device, maybe getting everyone an .edu email address. I don’t know. But until such time, users with locked devices will have to struggle with or simply do without one of Windows Phone’s key features. Despite Microsoft’s efforts to ignore this important issue I am hoping more users find that clearing through the trees some day soon. And with this new knowledge maybe you can cut the developers some slack; those that tried to get push/live tiles to work for everyone and those who refuse to try until this has all been straightened out: It’s not their fault.