Hey Microsoft, what’s up with those Live Tiles?
|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.
That is an Excellent write-up. I totally agree that Microsoft should fix this issue even though if it is developer’s mistake they are responsible for educating them on a proper way to implement it.
I posted link to this article in BrandonWatson twitter page, https://twitter.com/#!/chandramuralis/status/70278335460155393
That’s an idea. Thanks. And with a dozen different apps of varying types, meaning update on demand or update continuously, all having the same issues, I find it hard to believe that the developers can be at fault. Unless everyone has gotten the wrong instructions. Now that I can see which apps are creating extra keys, I have yet to find a live tile app the doesn’t exhibit this behavior.
Excellent column Jim, hopefully we’ll see a resolution to this sooner rather then later.
@Jim Nice work! Yet more information on Live Tiles, EP and MEP. I’ve been occasionally deleting and reinstalling or starting up apps on my HD7 to get my Live Tiles to work.
Do you know that there are some Live Tiles apps that don’t even create any EP or MEP entries? Other than Weather Channel which I have decided not to install, the rest of the apps in the lists below are installed in my HD7. Think this will get you thinking even further.
Live Tiles Apps that have EP and MEP keys:
1. Beezz
2. Weather Channel
3. 3B Meteo
4. Smart Tile
5. Currency Tile
6. BBC Mobile News
7. Bring The Wine
Live Tiles that don’t create EP and MEP keys:
1. Weatherduck
2. Weather4me
3. Countdown Tile
4. The Onion 7
5. Urban Dictionary
6. Arkwords
I haven’t had any issues with my live tiles. Then again, I only have a couple. I don’t find many apps that I use need live tile support. Just weather, email, texts and phone calls.
@Tan Teng Heng All the applications you listed as not creating EP and MEP keys use PULL Notification service. These will applications will generally request the server to give the latest information once in a while, normally it will be hourly basis might be more than that. For example, Urban dictionary doesn’t need to get updates every few minutes, all it does is just communicate with it’s server once a day and get the necessary update.
@Tan Teng Heng: As Murali stated, the apps w/o keys are “pull” live tiles. As the Urban Dictionary developer explained to me, the app sets a scheduled time to update with Microsoft’s server which is not as immediate as push. For example, Smart Tile can work as both push and pull by deactivating the push feature. But I am confused with Weather Channel on your list of live tiles with MEP/EP keys. I have this down as a pull app, so no keys. But I do have a mystery entry, E63 Tile Notification Channel, which I always assumed belongs to Smart Shopping, but maybe not. Do you have a descriptor for a Weather Channel MEP key?
@theenforcer000: Fortunately for Microsoft all the stock apps; phone, mail, messaging, fall outside this live tile issue and don’t count towards your 15/30 live tiles. So if your only 3rd party app is Weather, you are probably OK, especially if that app happens to use pull, which many weather apps do. Of course, if the stock apps were affected by this Microsoft would have had a fix last November.
@Jim Szymanski, have you try to post this to twitter account?
Just retweeted the original MD tweet to WinPhoneSupport. And added a #wp7 as well. Good idea again. Thanks.
How’s that banding situation when viewing Endpoints or whatever on a post-Nodo Windows Phone?
When I picture Endpoints and managed live tiles in my head and then downsample my imagination to 16-bit mode it just doesn’t look like it used to on HTC HD7s and other phones that had the reg tweak before Microsoft downgraded them with Nodo’s far lower color depth consistency feature — which of course will be bumped up from 66K to 16m in Mango for all devices right on time. No question.
Actually I noticed the banding on a sample gradient after NoDo and applied Schaps Advanced Config tweak to change it back to 32 bit. Didn’t notice any performance hit but when I read that the tweak could affect battery performance I reversed the tweak. I can only notice the difference on the sample file with my non-AMOLED screen so might as well leave it off.
I just started to notice this problem after realizing my Beezz Twitter app stopped notifying me of mentions. Then I tried to turn on notifications for all other twitter apps, they all have the same issue, “unable to communicate with notification server” or something like that. Your post describes the the exact problem I am having. Hopefully MS can get this fixed soon.
@Jim The MEP and EP for Weather Channel are E637 and 3070. After keeping track of my push Live Tiles, all of the EP will change after a few days, and I have to delete the old EPs. For those who doesn’t keep track and do the deletions, soon some of their Live Tiles will stop working. Hopefully Mango can solve this basic problem.
@Tan Teng Heng: Thanks for clarifying that. I have seen E63 for months and assuming it was associated with another app I always deleted it as soon as I saw it (It only appeared about once a week). Despite that, Weather Channel has always worked reliably for me so I assume the push is only for weather alerts or they setup the app to work both ways, depending what is available. I sent a detailed email to their customer support asking about push and E63 more than a week ago and got an acknowledgement, but no reply as of yet.
I have found that when MEP and EP are equal, I usually don’t wind up with any extra EP’s unless I do a soft reset. During normal operation, an app may disconnect, but it will remove both the MEP & EP, and then recreate both when you open the app again. But after a soft reset I usually have 5 of my 9 push/live tile apps disconnect without deleting their associated EP and then reconnecting, adding five new EP’s. Clean up time.
@adp and Tan Teng Heng: This was forwarded to me last week by a developer. He found it in the Microsoft Developers Forum. It is written by a MS employee:
Hi,
I searched our internal issues database. There was a problem where endpoint information was being persisted in the phone’s internal registry even after Tile and Toast are unbound and the service is restarted or the phone is rebooted; which might explain the channel open failures described in this discussion. This appears to be fixed now. Hopefully this problem will resolve itself as phones get updated with newer OS images in the future.
So it looks like Microsoft knows that Endpoints are left behind (persisted) even after apps disconnect, or at least that’s what I think they are saying here. And it also looks like everyone without a dev unlocked device will have to wait for Mango before this gets fixed.
You can follow the thread here: http:forums.create.msdn.com/forums/t/78220.aspx. Just add the // thingy after http (didn’t want the post to get blocked with a link).