Losing Users — Android’s Cognitive Load of Updates versus Features

I haven’t updated Chrome in years. At least I haven’t intentionally updated Chrome. When I look at the version number I see it’s version 43.0.2357.124, apparently a vintage from earlier this month, and when my development veers to the web I know they’ve been constantly expanding and improving the browser, but there is zero effort on my part to keep it up to date.

It doesn’t intrude upon my work, or demand my attention in any way. The updates simply happen. Amazingly this approach was somewhat controversial when first used1.

There are no checkpoints where I have to mentally decide “is this worth the hassle?”. I don’t need to do anything to maintain it.

When I open Notepad++ or Filezilla, in contrast, or a number of other apps that follow a similar pattern, the very first thing they often do is present a “deal with it now” update notice. If I were just casually opening apps for maintenance purposes this might be reasonable opportunity, but given that I opened them for the purpose of getting something done I’m prone to just delaying the update for the next open where the same pattern repeats.

Barring a critical security update, it’s the worst possible time to ask for an update. Some of the more considerate apps at least download the update in the background and are ready to finish the process as painlessly as possible, while others drop you to a webpage.

Add that on the desktop the tragedy of the commons played out and many users are wary of updates: Updates often aren’t to enhance the user experience, but instead pursue another roll of the dice at installing crapware (e.g. Java): Maybe this time time you’ll forget to uncheck that box.

This all circles back to three recent posts/articles that caught my eye-

1-The Story of AppChat, and Why Android is a Better Platform for Startups than iOS

2-The Next Feature Fallacy: The fallacy that the next new feature will suddenly make people use your product

3-New data shows losing 80% of mobile users is normal, and why the best apps do better

The first observes that Android is a great platform for iterating because you can roll out updates with ease, quickly and unconstrained. The second theorizes that adding the next feature won’t make people use your product. The last shows how most users uninstall apps in a pretty vicious curve.

These all, to some degree, have context in my own limited experience building Android apps, and my rough experience relative to each article would be-

1- Android does let you iterate quickly, but…

2- …frequent updates might not offer enough benefit given that…

3- …every update is a checkpoint where some percentage of users will decide to just uninstall your app. There is a cognitive load with each update.

Android 2.2 added optional auto-updates to apps (seeing the same “it’s going to brick your device!” fear mongering that desktop updates saw), however unlike iOS where apps often just exist in their most contemporary state, dutifully kept up to date, on Android even when auto-updates are enabled there are — in my opinion — some critical faults of defaults, still there in Android M, that make each update a roll of the uninstall die.

  • If you happen to open your device before the update was downloaded and installed, but when it’s aware of it, it will present it as if the permissions changed, seemingly demanding manual intervention
  • even if it didn’t demand a manual intervention, after the installation the device will treat the update as a critical notification. When you check your phone to see what important notices have arrived, you’ll be informed of the very important information that Some App Updated. If I updated it multiple times in a day, you’d receive this notice multiple times during the day

This seems pretty marginal — big deal that an app updated — and it should be, but it’s like notification spam: However minimal it may seem, to users it seems Important, because the system presents it as if it’s important. It seems like something that demands attention.

Facebook changed in some random way. Probably, as 90% of app updates are described, “Performance improvements and bug fixes.” Great.

A good example of this issue would be the Google Android System WebView. Essentially the Chrome wrapper used in other apps to present web content, it has had sporadic periods of frequent updates.

Remember that this is a largely hidden background system component. It has 63,000+ ratings, and thousands of reviews.

After each update, presented on every single Android device as an important notification that needs to be dismissed, a number of reviews appear demanding to know what changed. The users, most of whom have no idea what the component is, need justification for this intrusion into their lives. It turned into a bit of an ongoing joke where people are now leaving humorous reviews.

This is for a system component that can’t be uninstalled. It is what it is, and however informed and active the user may be they really don’t have much say in the matter.

Now imagine that we’re talking about a video stabilization and hyperlapsing app: Through raw luck someone was made aware of it and decided to install it (it is, after all, one of the most advanced applications on the Android platform). Realistically it isn’t going to get used often — it really is a niche app — but ideally they have it available that moment when it’s the perfect solution. Say once a month.

Like the vast majority of apps it isn’t critical to have installed, but it’s nice to have available in some situations. These are the long tail of apps that fill occasional needs — shooting a stabilized video or creating a hyperlapse, finding a bank machine, looking for a pickup game of basketball, etc. Not every app has the engagement levels of a social media app, nor should they.

Now push a number of updates as amazing new features are added and bugs are fixed for unique device faults.

Every single time an update comes in is another checkpoint where those users pay a price, so to speak, for the app, it seemingly demanding their attention (even if those updates were automatically installed). At that moment, whatever their emotional state may be, they re-evaluate whether it was worth the mental load it demanded.

Push ten updates between uses, each time causing the users to reconsider the “worth it” evaluation, and you’re going to see uninstalls. They might even love your app but figure they can just reinstall it the next time they have the need, though given that it’s unlikely they’ll remember the name you’re back at square one.

I’ve seen this first hand: the best way to cause a precipitous drop in active installs is to push an update. Even if the update made the app that much better2, adding some incredible new features, it’s a forced interaction where some users just decide to uninstall. An update notification can never possibly improve the installed base — people who don’t have your app aren’t made aware of the great new things — but someone irritated about a coworker or late for the train or inundated with device notifications isn’t going to meet it with open arms.

There is a cognitive load to every Android update, even when fully automated. The advice of article #1 may work when you have a captive, engaged audience, but for many apps each update is just another chance to lose users. As a user of Android I’ve demonstrated this behavior, uninstalling games that I occasionally play and utilities I occasionally benefit from, because I feel like I’m being spammed with updates, at no fault of the creators (who are trying to diligently maintain the app).

I don’t particularly care or need to know that Facebook updated. It isn’t so important that it needs to be expressed on my lock screen. Hidden away in some app updates section, sure. Of course it should be restricted from exhausting the durability of my flash or downloading excessive data, and maybe a notice for those sorts of events would make sense (e.g. “Some App updated 46 times in the past 24 hours, requiring 16GB of downloads”), but realistically that is not even within magnitudes of being a problem for the scenario I’m discussing. That video application I mentioned is 2MB in APK form.

All of this is just a checkbox or two away — the Play Store settings allow you disable notifications for both when updates are available, and when they are applied, but the default for both is to show notifications. Those defaults are what the overwhelming majority of devices are going to run with. And they work against you when you run with the “update often” approach.

1 – Though it is evil when every software package runs a perpetual daemon to check for and apply updates. Every OS has scheduling mechanisms that could easily be used without yet another piece of software clogging the task list, checking a website once a day.

2 – Though to some degree the same tragedy of the commons plays out in apps that played out on the desktop. Users have become accustomed to updates making apps worse rather than better. Adding or making more intrusive ads. New pleas for in app purchases. Etc.