The Sad State of Autofill Services on Android

We all thought the world of Android would be a better place with an official autofill API. We assumed it would take something that had been hacked together for years on Android and mostly nailed on iOS, and make it great. All the power of an operating system with fewer walls and the security of an official, safer API, right?

Wrong.

The autofill API on Android Oreo has been a complete disaster for me, so much so that I can’t tell you with confidence exactly how it works because I don’t think it has ever worked for me. I have tried dozens and dozens of times with both 1Password and LastPass and each one fails just the same.

The most important thing wrong in this system was supposed to be its greatest asset. Android has ways to denote what sort of data a field is meant to hold, so the system can tell what is supposed to be a username and password field. This means that Android can display your password manager whenever it sees those fields together in a form in an app. This is theoretically an advantage over iOS, as developers don’t have to build in support for this functionality.

But sadly, this means that basically zero apps (and literally zero that I use) have implemented this in any real way, so it never works. Here’s what you see when you launch Adobe Lightroom:

Looks great, right? It sees a username and password field and displays 1Password as my option top autofill the form. Let’s see what happens when I tap the autofill icon.

Huh, I could have sworn I had my Adobe credentials saved to 1Password. Let me check the app and see if it’s there.

Yup, it’s totally there. The record works perfectly in Safari and Chrome on my Mac, and Lightroom uses iOS’s keychain.

This story is the same over everywhere in Android for me. This seems like a lovely idea, and I have seen this go well on iOS, but man oh man, this is a mess right now.