The more things change, the more they stay the same

When Android Wear came out over the course of last year, Google promised that the young, new platform would receive updates “early and often“. While it wasn’t said with so many words, it’s easy to read between the lines: Google was going to make sure Android Wear users wouldn’t face the same headaches as Android users when it comes to updates. Wear would be a more tightly controlled platform, built in such a way that updates could go straight to users’ devices without meddling from carriers or roadblocks thrown up by crappy customisations.

Fast forward to June 2015, and Google has recently released Android Wear 5.1.1, which, despite its humble version number increase over 5.0.1, is a pretty significant update to the smartwatch platform. It enables WiFi on devices that support it, adds new ways to interact with your watch, and makes it easier to launch applications. All in all, it looks like a great update.

Sadly, I can only go by what others have told me, despite owning the poster Android Wear device – the Moto 360.

Let’s back up for a second and look at what happens when a new version of Android is released. Android development takes place behind closed doors at Google’s headquarters. Somewhere late Spring, during Google’s I/O developers’ conference, the company does the big unveil and shows the world what the next version of Android will look like and how it will make all our phones faster and better and smarter and other PR blabber. We all ooh and aah, we get excited, we want it.

Then, usually somewhere in the Fall, Google actually releases their new Android version. However, in the context of Android, ‘release’ doesn’t mean what it means, for, say, an iOS update. Instead of Google sending out binary packages to all eligible devices, the company just dumps a huge ball of code in Android’s git repository, after which each and every Android OEM has to dive into the code and ‘port’ it to their devices, test it, get it past any possible carriers, and then, and only then, will it eventually end up on your device.

There’s a lot that can go wrong in this many-step process, and not entirely unsurprisingly, it often does. We’ve had countless examples of enthusiastic OEMs announcing they’ll update their One Galaxy Compact Z6 Active or whatever to the new Android release, only to have them backtrack with their tail between their legs because it turns out they just can’t get the new Android version to run well on said device. Customers mad, salty quips on Apple blogs, hugs for my Nexus 5.

Presumably having learned from its mistakes, it was implied that the process would be different for Android Wear. Google would take more control over the update process, to prevent a repeat of the Android mess. Tighter restrictions on hardware and software, all to ensure that Android Wear users would get the latest and greatest version delivered within days after announcing it – not months or years later, or not at all.

And yet, here we are. I’m looking at my Moto 360, the poster device for the Android Wear platform, and it’s still running Android Wear 5.0.1. Not a single user of what is by all accounts the most popular Android Wear device is using the latest version of Android Wear. What’s gone wrong? Why are Google’s and Android’s most loyal users being left out in the rain?

Strip away the political correctness from Motorola’s official Twitter reply about this matter, and the answer is clear.

If you translate this from PR speak to plain English with a firm dose of Dutch Directness, you get something very depressing: We got Google’s code drop but uhm, we have no fucking clue how to make this work on the Moto 360.

Plus ça change, plus c’est la même chose.

To be fair, other Wear devices have been getting the update, so I’m assuming the tighter controls have had some positive effect in that the situation isn’t as bad as it is on Android, but that’s not saying much. With only a very small number of different Android Wear devices out there, you’d think Google would be able to ensure that all of them get updated simultaneously, but it’s clear they can’t.

The tweet from Motorola makes it clear that the update process for Android Wear isn’t all that different from Android. It’s still just a code drop that device makers have to port to their devices, while Google flutters on towards the next shiny project, leaving OEMs to their own devices. Even when starting anew, Google seems unable to address Android’s biggest weakness.

A recent in-depth article at Re/code about the sorry state of Android One gives a glimpse into the culture at Google’s Android division that gives some insight into why Google is having such a hard time with this.

Android One has some interesting parallels to Android Wear in that both of them represent a clean slate of sorts, as well as Google trying to retain more control over their platform through limiting hardware and software diversity. And, just like with Wear, Google is facing problems with updates, supposedly the initiative’s big strength.

And Google failed to foresee the internal stress of the feat. Central to the company’s mission with Android One is getting more devices on the latest version of its software. But the hardware manufacturers have little incentive to help this – they sell the phone and move on. For engineers working on Android, coordinating the updates across all the handsets, in seven very different markets, is taxing and undesirable. One person familiar with the matter described it as a “thankless job.”

I think that’s an understatement. Imagine being tasked with solving the Android update mess. First, you’ll have to find Google employees willing to work on this problem, pulling them away from new and shiny stuff for the next Android release, and coaxing – or ordering – them to work on something boring. After fighting internally, you’ll have to fight the OEMs. Timely updates are not in OEMs’ interests at all – they want to sell new devices, not work on old ones they’ve already sold. After fighting the OEMs, you’ll have to deal with the endless list of carriers in every single country, and get them to sign off on updates.

Even Mike Rowe would pass on this one.

And yet, despite all the roadblocks and hardship such a job would certainly entail, I remain convinced – as I have been for years now – that this is by far the biggest problem Google is facing with its smartphone platform. All Google’s progress on performance, design, and developer tools is for naught, because effectively nobody gets to profit from them. I can profess my love for Material Design until the cows with pink hats come home, but what’s the point when almost a year after its release, less than 10% of Android users are enjoying it?

There’s no denying Google is getting better at design faster than Apple is getting better at web services, but this has never been Android’s biggest problem. I would much rather have every Android user using a Holo Android 5.0, than a sliver of Android users using a Material Design Android 5.0. What am I going to buy when my Nexus 5 dies? The Nexus 6 is too big and too ugly, and I’m not spending €800 on a One Galaxy Z4 Whatever, only to have to worry if it’ll ever be updated to Android M or Android M+1.

This situation has gone on long enough now, and it’s time we, as users, put our money where our mouth is.

Meanwhile, every time Google talks about Android – such as during I/O – I’ll be waiting for that big ‘…one more thing’. That one moment where Sundar Pichai drops a silence, looks at the big crowd of eager Android developers, throws a short, charming smile at the camera. “Let’s talk updates”, he says. The crowd holds their breath. Millions of livestream viewers perch forward. Dozens of livebloggers stretch their fingers over their MacBook keyboards in anticipation.

25 Comments

  1. 2015-06-12 11:45 am
    • 2015-06-12 1:58 pm
    • 2015-06-12 2:00 pm
      • 2015-06-12 10:26 pm
  2. 2015-06-12 11:50 am
    • 2015-06-12 5:20 pm
  3. 2015-06-12 12:49 pm
    • 2015-06-12 3:09 pm
      • 2015-06-13 8:56 pm
        • 2015-06-14 1:50 pm
        • 2015-06-14 10:58 pm
  4. 2015-06-12 12:54 pm
    • 2015-06-12 3:34 pm
      • 2015-06-12 4:37 pm
    • 2015-06-12 5:15 pm
    • 2015-06-15 3:08 pm
  5. 2015-06-12 1:08 pm
    • 2015-06-12 2:57 pm
      • 2015-06-12 10:32 pm
        • 2015-06-12 10:45 pm
          • 2015-06-12 11:32 pm
  6. 2015-06-13 2:58 pm
  7. 2015-06-13 3:50 pm
  8. 2015-06-13 4:21 pm
  9. 2015-06-13 11:07 pm