(Love Android so much that you build apps for it? Want to work in an awesome team? We're hiring, let's talk.)
Fragmentation is both a strength and weakness of the Android ecosystem, a headache for developers that also provides the basis for Android’s global reach. Android devices come in all shapes and sizes, with vastly different performance levels and screen sizes. Furthermore, there are many different versions of Android that are concurrently active at any one time, adding another level of fragmentation. What this means is that developing apps that work across the whole range of Android devices can be extremely challenging and time-consuming.
Despite the problems, fragmentation also has a great number of benefits – for both developers and users. The availability of cheap Android phones (rarely running the most recent version) means that they have a much greater global reach than iOS, so app developers have a wider audience to build for. Android is successfully filling the gap left behind by the decline of Nokia’s Symbian – and in this report we look at the different shape of fragmentation in countries from different economic positions, as a way of showing that fragmentation benefits Android much more than it hurts it. Android is now the dominant mobile operating system and this is because of fragmentation, not in spite of it.
This is the best way of visualizing the sheer variety of Android devices that have downloaded the OpenSignal app over the past couple of months. This graph shows the challenge that faces Android developers; over 18,000 distinct devices can immediately use their app, making optimization a real challenge. Compared to last year, fragmentation has risen by around 60%, with 11,868 devices seen last year compared to 18,796 this year. Compared to our first report, in 2012, device fragmentation has more than quadrupled - with our first report showing that there were ‘only’ 3,997 distinct Android devices. Another way of looking at how fragmentation affects developers is to see what % of the market is occupied by the top 10 devices - as developers generally only own a few devices to test on. Last year having the 10 most popular devices in the market would represent 21% of the devices out there, this year that number has fallen to 15% - making testing on a few devices less representative.
Similar to the above graph, this shows the market divided in terms of manufacturer, with Samsung once again proving dominant. In the first fragmentation graphic Samsung had made 12 of the 13 most popular devices – showing why they have a 43% share of the market. This is actually a slight reduction since the last report – which showed Samsung having a 47.5% market share. Sony rank second with a 4.8% market share, showing quite how large the gap is between Samsung and second place.
Device fragmentation is not the only challenge that developers face when building for Android; the operating system itself is extremely fragmented and has only become more so over time. The above graph shows the relative stages of Android fragmentation, and the steady decline of any one Android version having prominence can be seen by the progress of the white line.
One of the strengths of Android fragmentation is that it allows for a great amount of freedom for device manufacturers, meaning that consumers are able to get a device that perfectly fits the specifications of their demands. This has proven especially valuable in allowing Android to take the place of Nokia’s Symbian as the go-to OS in less economically developed countries. API fragmentation is a good proxy for fragmentation in general, as older devices are typically running older version of Android –as they would run less well with the more sophisticated modern versions. This graph plots GDP/capita against the market share of the top 5 Android APIs (4 versions of Android KitKat and 4.3.1 Jelly Bean) so a higher score on the y-axis is equivalent to less fragmentation. The correlation between the two is clear, with Qatar an obvious outlier owing to their immensely high GDP/capita, which does not necessarily reflect the actual material conditions of the general populace.
This bar chart breaks down the world into countries with GDP/capita > $20,000 and countries where GDP/capita <$20,000 in order to show how the shape of Fragmentation is different. Building an app for an economically developed market is a lot easier, with many more devices on the most recent Android versions, with around 35% of devices in more economically developed countries on Android Kitkat, compared to around 12% for less economically developed countries.
Android fragmentation of all kinds is usually illustrated in comparison with iOS. These two pie charts clearly show the difference in API fragmentation between the two competing operating systems.
|RGB Ambient Light|
The above chart shows the development of Android devices in terms of the number of sensors they contain, using the Galaxy S series to demonstrate this trend. One of the most exciting developments in mobile has been the rise of devices that are able to collect data about the world around them, such as our crowd-sourced mobile weather network WeatherSignal. The clearest example of this is the Galaxy series of phones, which show what we have termed ‘sensor creep’, with manufacturers increasingly putting sophisticated sensors into the devices they produce. This graph also shows the flip-side to that trend, which is that developers may build for certain sensors (WeatherSignal makes use of the humidity and temperature sensors, among others) that then get discontinued – an additional hazard of fragmentation for developers. To see a full report on the sensors available in Android phones – see our brand new sensor library, which looks at which sensors are available in Android devices as well as their frequency in the market.
Key to the success of any app is getting the UI right, and Android presents two particular challenges to developers in this regard. Firstly, brands have a tendency to produce their own variants on the system UI (Samsung’s Touchwhizz and the HTC Sense being two such examples - which can change the look of various default elements. Secondly, no other smartphone platform boasts such a proliferation of different screen sizes.
Designing and coding layouts that work well across all these screens is hugely challenging. Across the dozen or so iPod-touch, iPhones and iPad varieties there are just 4 different physical screen sizes - partly due to Apple's tendency to double pixel density while quadrupling resolution (e.g. iPad 2 -> iPad 3) maintaining the same physical screen size. The graphic below shows iOS screen size fragmentation, allowing for an easy comparison with Android.
The Device Fragmentation Graphic shows the 18,796 distinct device types that were present in the last 682,000 unique devices to download our app. The reason we chose 682,000 is because we wanted to make a fair comparison with the fragmentation reports from 2013 and 2012 , which were also based on a sample of 682,000 devices.
The Brand Fragmentation Graphic is based on the same 682,000 devices as the device fragmentation graphic.
The API Level Fragmentation Graphic is based on data made publicly available by Google.
GDP per Capita data is from IMF data from 2013 (via Wikipedia)
iOS API pie chart is based on data made publicly available by Apple.
The Android Screen Size Graphic is based on information from almost 10 million OpenSignal users. In this graphic we are showing physical screen size, not size in pixels. Changes in resolution at the same screen size (for example as between the iPad 3 and iPad 2) present fewer difficulties for developers than changes in physical size. We derive the screen size by dividing the number of pixels of height and width by the pixel density (points per inch - ppi). Ideally we would use separate values for X-density and Y-density as screens are sometimes manufactured with different ppi in different directions, however Android only gives access to one variable. Also worth noting: with rooted devices users are able to “alter” the pixel density - in reality the physical characteristics of the screen stay the same, but the Android OS thinks it’s running on a larger device.Download report