Windows Phone - 15 April 2011
Author: Jim Szymanski

image

If you have been keeping up with all the news coming out of of MIX 11 this week, you have undoubtedly read that amongst many other things, Live Tiles will be getting a big refresh, with all kinds of new features like; multiple tiles for the same app, front & back images, deep toast, local tile updates (no cloud) and an Endpoints increase from 15 to 30. That all sounds great but I am wondering how any of that applies to or affects the current live tile dilemma where an ever increasing number of “current” users are losing their live tile functionality.

image

I am all for moving forward with new and exciting stuff but if an already complex process is apparently broken (and let there be no mistake, it is) then how exactly will another layer of increasing complexity make the situation any better. Simple answer, it won’t.

image

Sure, if all we do is dwell on past mistakes we can’t move forward. I can deal with that, but I like to look at mistakes as learning experiences. If you take a moment to try and understand what went wrong there is an increased probability that history will not repeat itself (for the worse) and things should, even incrementally, get better. Without mincing words, the current live tile issue is due to faulty coding by developers, or at least that’s where the evidence is pointing. But Microsoft invented live tiles along with the instructions for implementing them, so I am thinking that’s where the proverbial buck stops.

image

There is no doubt that the current live tile implementation process is broken. I realize with my current 15 “active” tiles (yes, I said 15) I am only looking at a microcosm of the live tile landscape, but with so many developers having different issues with their implementation I can’t help but believe that the instruction set for getting these magic tiles that dot our Start menu to work properly is seriously flawed. Without having any facts to back it up, I believe there is one “perfect live tile implementation” out there somewhere, but along with that “one” there are many other alternate paths that can achieve the same result, but with consequences.

image

Let’s start with “auto activate”. With the current perceived live tile limit of 15 (and expected to increase to 30 with Mango), what happens if  every app you download is live tile capable and auto activates the live tile feature on open. Well, before too long, you can’t activate any more live tile apps. OK, no problem. I will just deactivate the live tile feature for a couple apps to make room for the live tile apps I prefer. Oh, but when I deactivate I still can’t activate the live tile app I prefer. Dang, then I will simply delete a few apps to make room them. Nope, same problem. Actually, the only app I have found to date that reliably degegisters (the Endpoints key) when you deactivate live tile support is Flixter. And adding to that, a good number of apps do not even deregister when you delete them completely. So is Flixter the Holy Grail of live tile implementation. Not sure.

image

Next up, periodic disconnects. I don’t know why, but some live tiles will simply stop updating after a few days. I am pretty certain everyone has experienced this behavior a least once. This has happened a couple times with Messenger and I may be able to attribute that to a lack of use as I only have the live tile activated to test how it works. But the same thing happens to WeatherBug and that is set to update every 60 minutes. When the sun is shining outside at high noon and the WeatherBug tile is showing a night sky, I know I have a problem. Upon inspecting my registry yesterday, both of these apps had disconnected again. I logged in to Messenger to reconnect, but had to toggle push off/on, then save and refresh to wake WeatherBug. But wait, going back to my registry and now Endpoints just increased by two. WTF. Do this several times and you get the bottleneck or constipation effect, which will shut down existing live tiles without ever getting close to that 15 tile limit. Bad code, server issues? Don’t know. Maybe both. I am sure that disconnects/reconnects are inevitable, possibly even a feature, but adding additional Endpoint keys each time that happens is not the desired result. BTW, some apps disconnect/reconnect and don’t add additional keys. So does that make them half right or half wrong. Not sure.

image

Are you a “pull” tile or a “push” tile, only the Good Witch of the North (actually Northwest maybe) knows for sure. Not a specific registry issue in itself but still plenty confusing. For example I am sure you have read something like, “I just installed My Stocks and the live tile is not working but WeatherChannel works fine, so that app MUST be screwed up”. Well, not really. You see, WeatherChannel is a “pull” live tile meaning that it’s at the mercy of some lazy server out there to get it’s updates, unlike “push” tiles that send out an immediate request, or dump stuff onto your device almost as quickly as those five little dots dancing across your screen. Hell, I installed StockMap Free last night and that tile is set to update every 10 seconds by default! I raised it to it’s max setting of 2min, 53sec. There needs to be an easier way for users to identify these different live tiles. It’s the only way to troubleshoot problems and keep track of that growing live tile count. Of course, as there is a set limit, a simple way to see a list of registered live tiles would be nice, but I know I am asking for too much.

image

While I can’t wait for the Mango update and all the juicy stuff that comes with it, I think Microsoft needs to step up to the plate and lend a hand on this one. Sure, maybe this whole live tile issue is the developer’s own fault, but the truth is developers that did their best to do the right thing are being indirectly impacted by others who may have taken shortcuts. Live Tiles are a premier feature of Windows Phone as Tom Fennel from Microsoft points out several times in his MIX 11 presentation (see below).  Certainly something that always gets included in a one paragraph description highlighting the platform. Microsoft has an obligation to make sure this premier feature works for everyone. And that doesn’t mean in October, when a new batch of “got Mango inside” devices reach our overstretched hands, or in 2012 (sorry, but that’s my guess) when all the rest of us get some of that fruity goodness. So get a couple lowly interns, park them in a cubicle and have them break down every live tile app in the Marketplace today. Can’t be more than a couple hundred. Look over the code and compare it to the “perfect live tile model”. Make notes as needed and let the dev know that he has “X” days to update his/her app as described or it will be pulled. At the same time, develop a proper tutorial for implementing live tiles correctly so moving forward we can look back on this as a bad dream. This is what’s called “continuous improvement”. Painful but necessary. Interestingly though, of all the apps that Microsoft has created for WP7, not one has live tiles implemented. So maybe they “don’t know” how to do this properly and are as confused as everyone else. I guess the closest you can get to a Microsoft live tile app is Messenger by Miyowa, and  as a matter of fact Jack, it’s flawed.

image

I just finished watching the MIX 11 Enhanced Push Notifications and Live Tiles for Windows Phone Session on Channel 9 and I did get something out of it. More Cloud samples are going to be provided and the MSDN docs are being rewritten. Also Local or Shell Live Tiles will not use Endpoints, just as the “pull” Live Tiles don’t use Endpoints today. That’s good for your overall count and for avoiding the bottleneck issue. Actually the first 10 minutes does a good job explaining how push actually works and is worth watching. There is also a little snippet at the 46:25 mark where Daniel Rubino from WP Central (or at least I think so) asks the question we all want an answer to and this article is focused on. But didn’t see anything to change my opinions and observations noted above. New or existing apps will be created/updated to include some of the new features and Mango, whenever it reaches a phone near you, will change the Endpoints registry key to accept 30 entries instead of 15. But both of those actions are a long, long way off. What are you going to do for me today. BTW, for those keeping count, I am currently running 15 live tile apps, which all appear to be working, and have 24 Endpoint keys registered (had 23 when I went to sleep last night). The more I play with these things the more confused I become. Don’t know how long they will keep working but you know I will be watching. For those interested, this is a direct link to the page hosting the MIX 11video: http://channel9.msdn.com/Events/MIX/MIX11?sort=rating&direction=asc&term=&s=thomas%2Bfennel

BTW Microsoft, I wouldn’t think it big brotherly of you to sneak onto my WP7 phone and everyone else’s tonight to zap the Endpoints key from my registry. Then everyone could wake up tomorrow morning, refreshed both in body and in live tiles. Now wouldn’t that be special. 









About Author

(16) Readers Comments

  1. The only thing I have to say about this is maybe with the new update and dev tools that there is better management of the live tile system. Maybe I’m being optimistic for no good reason here, but lets see what the devs can do with all the new tools/API’s and more understanding of the ecosystem. I think you made a good point when you said:

    I like to look at mistakes as learning experiences. If you take a moment to try and understand what went wrong there is an increased probability that history will not repeat itself (for the worse) and things should, even incrementally, get better.

    Bad coding can come from inexperienced coders, too.

  2. Agreed. And my guess is that Microsoft knows much more about this than they are willing to admit. I fear though that their approach will be:
    -ignore the negative chatter and continue on like everything is peachy
    -rollout the new tools, documents and samples to devs over the next couple of months
    -introduce Mango, first with new devices followed by updates, starting in Q4-2011.
    -release apps that take advantage of the new features only accessible with Mango, or maybe release earlier if the dev betaMango actually happens (or use their new method to deploy apps in a closed system).

    This does not necessarially address apps that may be broken today, and will still be tomorrow, if a dev does not know its broken. Only educated consumers can provide the proper feedback, and you can’t get educated without access to your registry. The pat answer is, “Oh you probably hit the 15 tile limit. That’s why my app is not working”. Hell, I may be the first crazy bastard to actually have 15 live tiles loaded on my phone, but that does not change the 15 tile limit perception/excuse for the masses.

    So first, the broken code problem may persist for a long time, maybe even making it’s way onto spanking new Mango devices. And second, early adopters who are not dev unlocked are going to have a very long wait to use all their live tiles, and that’s sad being an important selling point for the platform. One less thing for us WP7 fanboys to boast about. It’s not an issue for me cause I can fix my live tiles in less than a minute but it’s unfair to everyone else who has to wait almost a year for something that is a really simple fix.

    Dunno, maybe my expectations are just set a bit to high. Bottom line is, fixing the broken live tiles was not on the roadmap back in early 2010, and if Microsoft is like any other large corporation, deviating from that roadmap is simply not done. Forge forward and never look back. That’s the American way.

  3. If I’m understanding correctly, you’re saying the app isn’t de-registering when selected? I don’t know but that sounds like bad coding. On top of that, if you notified a developer that their app has a problem and they do nothing, that’s bad customer service. Maybe this can’t be done at install, but either the installer or some type of “on first run” code should attempt to remove tile notifications and ask the user to “activate” the notifications again. I guess I need to see the SDK, but it really sounds like bad coding from the developers.

  4. @yss: There are two registry keys that get populated with an entry each time a new live tile is activated. ManagedEndpoints (MEP) and Endpoints (EP). I have exchanged several emails with developers who have emphasized that they do not write anything specifically to the registry. In fact, they can’t touch the registry (except an OEM), or at least that’s what I have been told. But there is no doubt that when you open a live tile app for the first time, these two keys are populated with entries, so something in the developers code is making that happen.

    The MEP key entries are static, meaning that they remain as long as that app is installed. When the app is uninstalled or somehow becomes disconnected from the push channel, the entry associated with that app dissapears. If you reinstall/reconnect the app, an entry with the same identifier reappears. None of the apps I have tested so far remove the MEP entry when the live tile feature is turned off for a selected app. The closest I have found to that is Flixter, which leaves the key, but deletes all the info inside, assumingly making the slot available for another live tile app.

    The EP keys behave differently. Each one that is created is unique and can’t be directly associated with an app or the associated MEP key, at least not be simply looking at it. As noted, when you open a live tile app the first time, an MEP and EP entry is created. So initially these two keys have a matching count. But over time, the EP key starts to grow almost randomly. I have seen scenarios where deleting an app will remove the MEP entry but not the EP entry and reinstalling the app will add an entry to both keys again, causing the EP key to grow with entries. This usually only happens after the two keys become mismatched (more EP’s than MEP’s), so maybe the direct associations somehow get broken. I don’t know. Also, many apps will occasionally disconnect (basically the MEP entry dissapears) and you need to open the app or toggle the live tile setting off/on to reconnect the tile to the channel. In some cases doing this creates an additional EP key, just as if you reinstalled the app. Again, this causes an accumilation.

    I have spoken to several devs about the disconnect issue and they are baffled by why it happens. Maybe mango will fix that. So to answer your question, I think if the devs knew why their apps were not deleting EP keys on uninstall or on disconnect they would be happy to do something about it. They have expressed their frustration of getting Marketplace comments stating that their live tile does not work when it works for others. I am not a coder so can’t begin to understand this. But maybe there are a couple live tile templates that are not setup properly or in trying to get the push channels working a dev deletes/adds something that inadvertently does something down stream. I think the majority of them want to do the right thing, but as Microsoft owns most of the live tile/push notification process they just need some direction.

    The typical user experience is that a new live tile install, or an exisiting live tile that disconnected, will suddenly stop working. After that another (probably also randomly disconnecting) will stop working. What we have found (several users have shared a similar experience) is that while the MEP entries may only be at 7-8, the EP entries will be in the 20’s, leading you to believe that the excess EP entries are the cause of the problem. A kneejerk reaction is to delete/reinstall the offending and even sometimes working apps. What that does is delete only the MEP entry at uninstall, but only creates a new EP key on reinstall, adding to the congestion. This probably has to do with the 15 live tile limit that Microsoft has imposed somewhere in the OS. By simply deleting the entire EP key, all the existing live tiles (with MEP entries) will start working again and your device will accept new live tile activations/installs. Until the next time. With all that said, I currently have 15 MEP’s and 24 EP’s, and everything appears to still be working which is a new puzzling event. My guess is if one of my current apps disconnects I may not be able to get it back without purging the EP key. I may try to add another live tile tonight to see if I can get past that 15 count and force something to happen.

  5. Pingback: Mobility Digest

  6. Very good article, worth reading.

  7. New OS, so people probably relying on MSDN for answers. Not good.

  8. Jesus Christ on a cracker! All that awesomeness coming out of MIX, and all you idiots can do is whine, whine, whine. Tech journalism has gone to hell and back.

  9. Hey Joe, this isn’t whining. Its asking Microsoft to fix something that is seriously broken and trying to avoid a another PR meltdown when Live Tiles stop working for everyone. Already tried the private channels and that’s not getting the attention it deserves.

    I liken this to a contractor putting up a house and ignoring the fact that he neglected to connect the sewer pipe to the main. Before too long that crap will be everywhere. Go back and fix it or move on to the next house.

    Like I stated, personally I don’t give a shit. I paid $99 to dev unlock and now I can fix my phone anytime I want. But why should the other few million users be screwed out of the live tile experience because Microsoft is too busy innovating. The fix is easy and won’t sidetrack Mango, so just do it already.

  10. Oh, and don’t get me started on my appreciation for Microsoft cause unless you are on their BoD I got you beat. But I don’t like it when any company, even those I prefer, do not clean up after themselves. Its careless and insensitive. Appreciation and respect go both ways.

  11. I don’t even know what you’re talking about. Maybe I’m out of the loop, but I haven’t experienced any problems with my Focus, including Live Tiles. Is there something I don’t know about, other than the limitation of how many you can have? I read the post and I still can’t figure out what they’re talking about. I’m not a WP7 developer, yet. I’m simply talking as an end user. I’ve experienced no problem with Live Tiles, third party or otherwise.

  12. @Joe: Sorry, this is my third (or maybe fourth) post on Live Tiles so I tend to leave some stuff out as I go along. If you are not experiencing any problems, that’s good. But many users are. Have already documented this fix on my device (Surround), an HD7 and a Focus, so I know that those devices, and most likely all (as it’s an OS issue not OEM) are succeptible to this issue. If you read comments in other forums where a user replies to something unrelated, like an app review with, “app looks great but live tile didn’t work for me”, or you read through reviews in Marketplace and see, “love the live tile” followed by another review with, “app sucks, live tile does not work”, all those issues are related to the problem I am trying to highlight here. And the inconsistency is driving some developers nuts.

    Some apps have been coded improperly causing crap to accumulate in the registry which will eventually shut down working or new live tiles. If the live tile apps you have on your device don’t have this flaw then you are good. No problem. But if one or more does, each time it disconnects (you may not even know it did) and then reconnects when you open it again, it is adding more junk to the registry. So eventually it will disconnect and not reconnect the live tile channel. It may start with one live tile but as others disconnect/reconnect the problem will spread. Or you will try to install a new app with live tile support and it won’t work. I know that two apps, Weatherbug and Messenger have issues where they disconnect every few days, so over a month or two your registry can get cluttered. To make matters worse, some apps like eBay have push notifications (same as live tiles) enabled by default. So the first time you open the app it takes a precious slot, even if you never use the feature. And deleting the app does not give up the slot. BTW, the feature activates even if the tile is not pinned to Start. Bad programming.

    Sure, these are developer issues, but as a new platform with new concepts, Microsoft has to take some responsibility here and try to get things fixed. Live Tile is a very important feature and moving forward it needs to work near flawlessly so all of us with WP7 devices can go around and show it off. Not make an excuse for why they are no longer working.

    If you don’t mind, what third party Live Tile apps do you have running on your device? I am trying to compile a list of assumed good guys and bad guys. For example, Smart Tile works flawlessly, registering properly and never disconnecting. If every app did that I would be writing about something more upbeat. All I am trying to do here is make users aware of the problem, alert developers of what to watch out for, and try to throw up caution flags for apps that will eventually cause Live Tiles to stop working on your device, requiring a hard reset to get them working again. Microsoft is aware of this issue and I am waiting for a comment. I have also contacted several developers explaining what’s wrong with their app and what they need to look for. The issue won’t go away by itself and even Mango does not assure that it will go away. Sorry that my approach may come across as being negative but when I can actually see a short or long term solution to a problem within reach, I will try to do whatever it takes to get there. This one can be fixed and it should be. No one should be denied the pleasure of working Live Tiles on their phone, not even for a day.That’s unacceptable.

  13. Meh!

    How about outlook categories and tasks? How about creating an appointment from an email?

    How about the things that matter to my mobile productivity?

    Don’t get me wrong, LT’s are great but, eye candy and brains are two different things. Of course, I want both! ;-}

  14. Pingback: Windows Phone Hacking Scoreboard

  15. Pingback: HostPound.com

  16. Pingback: Three months with Windows Phone 7 - MasterMaq's Blog