Android fragmentation and the cloud

Game Oven's post on Android gyroscope support is a nice illustration of a general issue (another good illustration here): Android fragmentation is both massively overstated and massively understated, depending on what you want to do. 

On one hand, Google has been quite successful in reducing the impact of Android version fragmentation. Around three quarters of the Android devices that hit Google Play are running 4.X, but more importantly, Google has moved its own key services (maps, payment, notifications etc) out of the OS itself and into a software layer, 'Google Play Services'. By putting key platform APIs into a software layer that can be updated in that background over the air, Google has reduced its dependance on OEMs to produce firmware updates - it can update its own tools any time it wants, across the great majority of phones. When Google announces new APIs for Maps or notifications at this year's IO, they'll be available on devices running year-old and two-year-old versions of Android. There is no more fragmentation if you're using Google's cloud.

On the other hand, hardware fragmentation is if anything accelerating. This chart from OpenSignal, from last summer, is a nice visualization of the market dynamic. 

Android fragmentation isn't of itself a bad thing - it's inherent in the choices that Google made. This is what 'open' and 'choice' look like. And I doubt if it's possible to have an 'un-fragmented' device landscape that includes both $600 devices and $50 devices: some scattering in capability is part of the deal. If you want to have thousands (literally) of OEMs, and a huge range of choice and price points, well, you're going to have different devices with different capabilities. 

This is only interesting, then, to the degree that it has broader consequences. The consequence of Apple's approach is that pretty much everything behaves in predictable ways, but you have a very narrow range of devices at a narrow range of prices (and screen sizes), and that severely restricts the addressable market. More people can afford $50 phones than can afford $600 phones. The consequence of the Android approach is that you have a much wide range of devices and prices, and a much larger market, but anything on the bleeding edge doesn't work predictably at all. This doesn't just apply to the gyroscope - it also applies to varying degrees to almost anything trying to do clever things with the hardware. This is also true even if the API does actually work as advertised - there's not much point trying to do a mass-market Android NFC deployment when you have no idea how many of your users even have NFC Androids (and the users themselves don't know).

One result of this, as I've said before, is that Apple and Google are focusing their innovation in different areas. Apple is moving down the stack with integrated hardware/software experiences (iBeacon, fingerprints, M7 etc) that are hard for Android to match, and Google is moving Android up the stack with Google Play Services, the cloud and machine learning, which is hard for Apple to match. 

The paradox for developers, meanwhile is that the more open and extensible platform can actually be harder to hack on. When you buy two Samsung phones of the same model and brand in two different countries and find they have different camera drivers and your app will crash on one or the other (or both), where do you focus your seed funding? You have limited resources and limited time and you need to hit milestones to get your next round, after all. Plus, the users who want to install your cool new apps are still concentrated on the iPhone. Again, this is a paradox: Android is the platform best for early adopters and iOS the one best for late adopters who just want something that works, but the market adoption is the other way around. That's one of the reasons this chart is both unfair but relevant.

Which type of innovation is crucial to a platform? With the current dynamics, people like Game Oven are going to keep doing iOS first and Android second (if at all), and that keeps the majority of the best users on iOS and Apple's machine turning over - the classic ecosystem virtuous cycle. But if, as many people suggest (Fred Wilson most recently) the most interesting and important innovation will happen in the cloud, then Google's tradeoff might win over Apple's trade-off - Google's comfort zone beats Apple's.

There's another paradox here, though: if all the best stuff is happening in the cloud, then you'll buy the device based not on apps and developer support but on design, quality, fit and finish... that is, all the things Apple always leads on. The web saved Apple 20 years ago, because with the web you could choose the best hardware and UX regardless of the ecosystem - you could buy an iMac and not worry about the software. So if everything goes to the cloud again, is that really an existential problem for Apple?

(As an aside, note this post I wrote a year ago about the different issues facing iPhone and Android.)