As Android Rises, App Makers Tumble Into Google's 'Matrix of Pain'

Responding to demand, startups are increasingly polishing and releasing Android apps. And they're also increasingly complaining about "the matrix of pain" that is Android fragmentation.
Image may contain Sitting Human Person Clothing Footwear Apparel Shoe Furniture and Flooring
Todd McKinnon, CEO and founder of Okta, a company that's knee deep in the world of Android apps.Photo: Ariel Zambelich/WIRED

Here's the good news for Android users: Google's app store, which has lagged behind Apple's in polish and scope, is starting to catch up. More developers are working to follow their polished iOSweb alt apps with polished Android apps -- and Android app downloads and sales appear to be spiking.

But there's a big downside to this Android growth: Severe fragmentation in the Android market means that startups must tune and debug their apps against a whole range of official Android versions, carrier tweaks, internal smartphone hardware, and external screen dimensions. Pundits have warned about this for years, but now the problem has come home to roost.

That intimidating array of Android configurations is sometimes referred to as "the matrix of pain," a reference to all the aches that must be endured to ensure that code is running as designed.

>'You go over to Android, and it’s like, "Geez, Louise."'

Todd McKinnon

“You go over to Android, and it’s like, 'Geez, Louise,'” says Todd McKinnon, CEO and founder of Okta, a startup that helps corporations manage logins and identity. “You have, first of all, about six major versions of the platform. Then you have, beyond that, minor versions that are forks and configurations...You have different resolution devices, small screens, massive screens."

Navigating the matrix of pain is certainly doable. One developer likens it to writing PC software in the 1990s, when a programmer had to test against a handful of versions of the Windows operating system, along with scores of possible hardware configurations. But it means that writing Android software is significantly more complex than writing apps for iOS, where Apple keeps hardware configurations to a minimum and where the vast majority of users run the latest version of the operating system.

And it's even more of a headache when compared to web technologies like JavaScript and HTML. These webby alternatives were supposed to replace native apps, letting developers write one version of software that runs on all devices. But consumers have largely rejected web apps.

Developers who brave the matrix of pain often have to make some compromises. When McKinnon wanted to supplement Okta's longstanding native iOS app with a first-class Android app, he decided to only support the latest versions of the operating system -- which means leaving out a majority of Android users. (Only around 37 percent of Android users are running the latest version of the OS, “Jelly Bean,” according to an awesome visual report on Android fragmentation from OpenSignal.)

That wouldn't work for neighborhood social network Nextdoor. Ever since it released an iPhone app in May, customers have clamored for an Android version, and then there was added encouragement from the city of Chicago, which has considered partnering with Nextdoor and wanted to make sure it could offer the app to poorer citizens, who were more likely to use a cheaper Android phone.

It took CEO Nirav Tolia's team less than four months to ship its Android app, which supports operating systems all the way back to version 2.2.3, about 95 percent of the market. But it had to rely on web technologies, rather than native Android code, to drive the somewhat complicated process for signing up new users, a process that is native in the iOS version.

Okta's mobile app on an HTC One Android phone.

Photo: Ariel Zambelich/WIRED

A cottage industry has sprung up to help startups tackle these sorts of challenges. One company, Portland’s fast-growing AppThwack, lets companies like Symantec and Mozilla run automated software tests on 200 Android handsets from different carriers running various versions of the operating system. “It was clear that Android had a problem,” says co-founder Trent Peterson. “You pay for the openness of the platform by having to deal with tons and tons of devices.”

Not long ago, developers who grew too frustrated could simply ignore Android. But some customers that used to be satisfied with iOS -- like large corporations -- have begun pushing for Android support as well. Matt Tucker, co-founder of corporate social networking company Jive Software, says that while iOS “represents the pinnacle” in everything from user experience to developer community to the quality of the App Store, the drumbeat of requests for Android support has been growing louder. Jive recently released an Android app to supplement its iOS app.

“There is a set of changing expectations around Android,” says Tucker. “But we are obviously nervous about the support matrix.”