This week I received my first gift phone in ages, and since the sender wants me to test it I had to go through all my dozen Android phones and update them as well, so that I can run tests against the latest installed Chromia.
During this process I began to have serious doubts about the update process of the Chromium WebView especially, though the same problems also crop up with regular Google Chrome.
TL;DR: Although, as promised, the Chromium WebView can be updated as a stand-alone app from Android 5 on, I doubt if consumers actually do so because Android’s update process is badly broken. Thus a wide variety of WebViews may be in use right now.
Fair warning: if you are unable to contemplate the simultaneous existence of several Chromium versions running on the same device without suffering from existential angst the reading of this article is discouraged until you’ve consulted your psychiatrist.
In theory the Chromium WebViews form a simple pattern:
- Android 4.4 has a Chromium 30 WebView
- Android 4.4.3 has a Chromium 33 WebView
- Android 5 started with a Chromium 36 WebView, but it can now be updated independently of the Android updates.
As we will see, this theory does not accurately describe reality.
Updating the Moto G and Nexus 7
I’m going to concentrate on my updates of the Moto G and Nexus 7. Both these devices have Google Chrome as their default browser, and I use them to test the latest official Google release.
Before the update the Nexus ran 4.4.2 and the Moto G 4.4.4. In hindsight I should have tested all browsers and WebViews before running the update, but I didn’t, so I’m going by my June 2015 conclusions. Back then, both ran Google Chrome 43 and Chromium WebView 33 (which is slightly surprising in the case of the Nexus; one would expect 30. But never mind.)
After the update both now run Android 5.1. Part of this update, apparently, was an update of the WebView, which is now 39 on the Nexus and 42 on the Moto G. (Why the difference? I have no effing clue.) The Google Chrome default browser remained stuck at 43.
Initially that surprised me. I somehow expected both browser and WebView to be updated to the latest version when I ran the Android update. However, on further reflection I realised I was wrong to expect that. Both Google Chrome and the Chromium WebView are now updated as apps, i.e. outside the Android update cycle. Thus I had to update both apps.
Thinking like a consumer
Updating apps is simple: you go to Google Play, type in the app name, and update it. But it’s only simple for us professionals. Do consumers understand what they have to do? I doubt it; in fact, I consider it quite likely that they don’t know what WebViews are, and never bother to look for updates.
And there lies the rub: I test what consumers have on their devices. And if consumers don’t know how to update the WebView, or are in fact unaware of its existence, I shouldn’t update it, either, so that I test a real-life consumer setup.
While I was pondering this the Moto G flashed a message: Updates Available. I clicked it, and was brought to an update list that featured the WebView and Google Chrome at the top of the page. So far so not too bad. More importantly, the average consumer certainly understands this.
Still, the Nexus did not flash this message, and I continued wondering if I should update the Moto G WebView. What if some, but not all consumers get this message? That would mean there are plenty with older WebViews, and I should test them.
Before deciding I did a quick check for something else in the Moto G’s update list, then apparently touched the wrong element, because the update list disappeared. The message had meanwhile also disappeared, so there was no way of getting the list back. This could happen to a consumer as well.
The Android update system is shit
The problem here is that the Android update process is very, very broken. There are all kinds of Google apps that require updates from time to time, but the way Android handles that is very bad.
Android phones are notorious for their endless begging for attention because they have yet another update to install. I habitually remove update messages as soon as they appear, and it wouldn’t surprise me if at least some consumers do the same (and get stuck with outdated WebViews).
Last week, the HTC M8 that I actually use as a phone started beeping its messaging beep in the middle of the night to let me know updates were available. The first time I heard it I jumped out of bed because I assumed there was very bad news. I was extremely angry at the piece of hardware shit when it turned out to be only about updates. The following nights I ignored the beep.
All this conspires to make me loathe Android updates. Am I unique in this? I doubt it.
But wait, we’re not done yet. Initially I opened Google Play and expected to find an Update list, like in iTunes. Now iTunes is a piece of shit as well, but for different reasons, and it handles this particular case correctly.
But no, of course Google Play doesn’t have an Update list. Why should it? That’s what we have all these annoying messages for, don’t we?
In other words: if a consumer doesn’t get an Update message, or has trained herself to studiously ignore these messages because they go on all the effing time and never ever stop, she won’t get an updated WebView.
Thus, while it is technically true that the Chromium-based WebView is updated as an app on Android 5 and up, in practice the process may not work very smoothly. That, in turn, means I have to continue testing older WebViews.
Update: I was notified that there is in fact an update list in Google Play. It turns out to be in the hamburger menu in Apps & Games. I did not even notice the menu. I feel this revelation strengthens my argument rather than weakening it. Guys, just be clear!
Stuff your fingers in your ears and sing NA-NA-NA
And before you ask: no, of course there are no stats. Why would anyone measure WebView use? Nobody’s interested. Web developers stuff their fingers in their ears and sing NA-NA-NA at the top of their lungs if they so much as get a whiff of several Chromium versions running on one device because it doesn’t fit their preconceived notion of Google Chrome as the only Android browser.
Google has the data, of course, but the Android idiots are caught in the Strong-and-Silent-guy image that precludes them from ever giving useful information to anyone ever. Hey, Apple does that, too, and it works for them!
So that’s where I stand right now. I still have no idea if I should update the WebViews or not.
Here’s a quick overview of the 4.4.x to 5.x updates I ran, and the browser versions before (June 2015) and after. I did not update any app, though I may after I published this article. Have fun making sense of the data.
Note that the HTC, Xiaomi, and Galaxy run their own Chromium-based browsers, and not Google Chrome.
|Phone||4.4 browser||4.4 WebView||5.x browser||5.x WebView||Remarks|
|HTC M8||33||37||33||43||WebView update likely occurred earlier|
|Xiaomi M2||34-5||–||42||45||Had a non-Chromium WebView on 4.4|
|Moto G||43||33||43||42||Google Chrome default|
|Nexus 7||43||33||43||39||Google Chrome default|
And two more quick notes:
- Xiaomi, which previously ran a Chromium 34 or 35 but disguised it as an Android WebKit, has gone over to Chromium 42 and has a matching UA string.
- Dolphin, a small independent browser for Android, has gone over to Chromium and now runs 33.