Android's Lessons for New Mobile Operating Systems: App Distribution

While Android and iOS presently have the smartphone market largely sewn up, other mobile operating systems are in the works or will arise over time. For example, Mozilla is creating Firefox Mobile OS as their entrant into this space.

In this blog post series, I will explore some lessons that I think we can learn from Android’s successes and failures that can help new mobile OSes as they try to break into this space. Today, I’d like to focus on app distribution.

The Play Store is in many respects a crowning achievement of the Android initiative. From nothing four years ago, the former Android Market is now arguably the second-largest software distribution venue in history, behind only the iOS App Store. Yet, particularly in developer circles, the Play Store is riddled with issues.

Every developer has their take on the Play Store’s successes and failures — what follows is mine, and it is only the highlights, not a complete treatise on the subject.

What Is Right

Having the Play Store at all is the single biggest thing Google got right. We take it for granted now, but getting apps on mobile devices before iOS and Android was a pain, to put it simply. For example, Windows Mobile usually would require you to download the app installer on a Windows PC, then plug in the phone via a USB cable, then run the installer to push the app over to the phone. And this assumes that you could find and buy the right app in the first place. Having a relatively easy way for device owners to find and install apps was hugely important for Android’s growth (and, by extension, growth in Android development).

Yet, at the same time, Google did not require the Play Store. From the beginning (with the exception of some AT&T devices), anyone could distribute apps by any desired technical means — the only thing required to allow them to be installed was a single checkbox in Settings. Google could easily have gone the other way, forcing all all installs to occur through the Play Store.

Having low barriers to entry to get an app on the Play Store was another good move. The $25 fee is not exactly a big revenue stream, but it does help put a “speed bump” in the way of malware authors, who might prefer to work behind a battery of anonymous accounts. Yet, at the same time, $25 is not an unreasonable amount for most legitimate developers to gain access to hundreds of developers of millions of devices.

Both the iOS App Store and the Play Store have their rules for what is and is not allowed, and those rules are sometimes problematic (discussed later in this post). However, the Play Store tends to have clearer rules for bigger-ticket issues. With the Play Store, the complaints about clarity of those rules tend to come on things like “what constitutes keyword spam”. The iOS App Store, by comparison, has been accused of banning apps for everything from competitive advantage to political pressure, issues to which the Play Store has tended to be immune.

Finally, using the Play Store as a club to help keep device manufacturers “on the straight and narrow” in terms of compatibility was a wise move. There are plenty of bugs in devices, wiggle room in specifications, and gaps in the Compatibility Test Suite (CTS) that cause “fragmentation” in Android. But if you think that’s bad, can you imagine what would have happened if the CTS had not been required from the outset? There would be no single “Android” from the standpoint of app developers, as device manufacturers would likely have run amok in making changes that prevented apps from running.

What Is Mixed

The existence of the Play Store has been a win. The implementation of the Play Store has had a more muddled history. At the outset, the Android Market was like a talking dog: you were amazed that it existed at all, and issues could be ignored. Over time, usability issues have waxed and waned in importance. Areas of common complaint, like searchability and feedback, have been addressed, at least in part, though there is plenty of room for continued improvement.

What Is Unfortunate

Bashing the Play Store is such a sport in some circles that it might qualify as an event at the Ree-oh 2106 Summer Oimplycs (event name obscured to prevent trademark infringement (unless somebody trademarked “Oimplycs”, in which case I’m just screwed)).

The issues I outline here are perhaps not representative of the concerns of your average Android developer. However, they are ones that I feel should be considered, strategically, by any future mobile operating system looking to offer similar “market” facilities.

Unfortunately, many seem to come down to the 30% take off of the sales of paid apps and in-app purchases. We no longer really know what that 30% goes for and why that figure is justifiable. The original story — that the 30% went to carriers — needs updating, as there are plenty of devices being sold that are not associated with any carrier.

While it could be argued that developers need no transparency into the role of that 30%, there are too many rules in place that attempt to lock developers into that 30%. The Play Store enjoys “most-favored-nation” status in ways that are difficult to stomach, such as the non-compete clause (“You may not use the Market to distribute or make available any Product whose primary purpose is to facilitate the distribution of software applications and games for use on Android devices outside of the Market”) and the similar clauses around in-app purchasing. If the 30% is so important as to cause Google to want to employ anti-competitive tactics, developers deserve to understand why.

Sometimes, the anti-competitive behavior is simply benign neglect. For example, the feed of application data from the Play Store — apps, descriptions, requirements, comments, etc. — is unlicensable, insofar as my attempts to license it have been rebuffed. Yet, as I have blogged about previously, the data is widely used, presumably sans license, meaning that Google is blocking legitimate competition while enabling illegitimate competition. This is particularly important as the community around Android could do lots to help improve the Play Store experience (e.g., improved search and other discovery mechanisms, third-party security “seals of approval”), if only we could have the data with which to do so.

If you are going to run a market, particularly one with fees and rules and such, it is incumbent upon you to staff that market with the people necessary to make it work for all parties. Getting answers on Play Store questions from developers is notoriously difficult for the rank-and-file, particularly when it comes to the “your app has been removed” messages. While it is human nature to provide varying levels of assistance — I doubt that Rovio has problems getting questions answered — the “haves vs. have-nots” image does not do the Play Store any favors. A market sans fees and with fewer rules can perhaps get away with “best efforts” sorts of support, but not the Play Store.

In tomorrow’s final installment in this series, I will take a look at the overall developer ecosystem around Android and what lessons newcomers to the mobile OS space can learn.

Learn second-generation Android app development — with Kotlin and the Android Jetpack — through CommonsWare’s Android app development training!