How NOT to handle your app upgrades

Or: How Comhem messed up their software, and what we can learn from their mistakes

Once, there was this functioning TV app

In Sweden, one of the largest cable TV provider is Comhem, offering the TiVo TV platform to over 200, 000 customers. The TiVo box allows scheduled program recordings, Netflix integration, and a variety of other features related to “smart TV viewing”. Of course, a mobile app is included in this TiVo solution.

The app was available for iOS and Android devices, providing a TV guide, the possibility to start recordings when away from home, remote control replacement and a few other helpful features. You could also view TV directly on your device, either recorded programs or live streaming. Great for some late night viewing in bed, or breakfast news in the kitchen with your tablet.

The app might not have been beautiful, but it matched the GUI on the TiVo box itself, making it feel familiar to users.

1 2


So far, so good…

“It it ain’t broke, let’s break it”

Earlier this summer, Comhem decided they would upgrade their already-decent app. Surely that’s good news, right? “Latest and greatest”?

Officially, the reason for the app upgrade was to be prepared for Apple’s upcoming iOS 9 release, which apparently would contain breaking changes. So during the summer, Comhem ran a beta testing program for the new app, and on September 1st the new app was released, along with a correspondingly updated web GUI. This was announced in a Facebook post that same morning.

Customer reaction? Intense rage.


  • Most of the most popular and basic features of the app were removed, (clicking them would give the user a popup saying “Coming soon!”)
  • No compatibility with Windows 10, Linux, Edge, Chrome, Internet Explorer or in fact not even iOS9, which was the entire reason for the new app. Most of these worked with the old version
  • Android app was broken due to changes required by Apple – should not even be affected
  • Rooted devices were banned, but the error message simply asked users to Try again
  • No longer possible to mirror screen from device to TV
  • Subscribers to the smallest subscription option were excluded and no longer even allowed to use the new app, effectively forcing them to pay more for a bigger package
  • Customer support refused to acknowledge the problem, just saying that some of the missing functionality would be included in the next release, which would be out “soon”


Bypassing customer choice

It’s safe to say that the previously OK app had become much worse, losing most of its usefulness along with its key features. That of course would not have been such a big problem if each customer could choose whether or not to make the upgrade. But as most of us tend to check that “auto update box” in Google Play / App Store, suddenly the old trusted app was gone, replaced by something best described as a beta build. Keep this in mind – your users will likely be automatically upgraded.

The email informing users about the app upgrade was sent out a few days after the app was published, and of course by then, most users had already been automatically upgraded. Naturally, Comhem refuses to provide the old app even upon request, and they even censor commenters that attempt to help by uploading the old version of the app.

Damage control

Comhem’s Facebook post announcing the news has to date 861 comments, pretty much none of which are happy with the new app. All ratings on Google Play after the release has rated the app 1 out of 5 stars, save for one single review. Eventually Comhem felt the heat and added an FAQ page so they could refer all angry commenters to it. Let’s just say that the first headline on the FAQ page is “When will it work again?”…

But despite this acknowledgement of epic failure, the official* stance is that no discounts or other compensations will be given for the lost features.

*if you are a Comhem customer, do give them an angry call – it pays off

What can we learn from all of this?

Enough about this mess. Let’s use this negative case study constructively, to understand how we can act better regarding software deployments, upgrades, compatibility and how to keep users happy.

Listen to early feedback – if you run a beta program, or just have internal testers reporting their findings, make good use of user input and make sure opinions are valued, otherwise users will never provide such input ever again. If you are heading the wrong direction in your development, you’ll want to know fast.

Know which features are key – collect usage data so you know which features are essential to keep while upgrading your product to the next generation

Inform in advance about upcoming upgrades, especially if they contain breaking changes, compatibility issues or loss of functionality

If possible, make upgrading an opt-in process, so that the customer can prepare properly and upgrade in their own time

Don’t prohibit knowledge sharing between users – even if they are temporary workarounds such as informing peers on how to downgrade, the common goal between users is just to get things working – that’s what you as a software provider want as well

Separate your components – there is no valid reason that the Android app should have even needed an upgrade as a result of iOS being upgraded. Such dependencies might indicate problematic architecture.

User acceptance is hard to get – no customer would accept a replacement product that is simply inferior to the old one in all aspects. If some features are removed, something else would have to be better to even motivate the existence.

Main takeaway

In conclusion, you need to understand your users. Don’t tell them what is best for them, but observe how they use your apps. Leverage some type of end-user feedback collection to figure out which of your features are essential, and make sure to regression test them with extra care before every new release. Because remember – your users will likely get automatically upgraded. Don’t remove these core features if you don’t have very valid reasons to do so, or you might soon find your users going behind your back with your competitors. If at all possible, make sure to also verify the compatibility with the major OS’s on the market. Nobody wants to migrate to a shiny new operating system only to find out that their favorite apps are no longer working.


Image of Dead TV by:

Published by

Peter Skogsberg

Peter Skogsberg is an ISTQB certified software tester and holds a Master’s degree in Information Technology. He has been on both the development and the testing sides of several mobile and web applications.