14 ms·
Android Fragmentation Visualized
- fenesiistvan 13y agoWho cares? Google make a good job maintaining API compatibility. The tools are also (mostly) the same from the very beginning (while with iOS you actually have to learn and adapt much more with each version change) ...but otherwise the graphs looks fine :)
- JamesCRR 13y agoI think in QA terms it is certainly harder to build apps for Android, that said I'm not sure whether moving from 4000 distinct devices to 12000 distinct devices makes much difference, either way you're just going to pick some representative ones for testing. What is interesting is just how diverse the smartphone market has become, that is arguably a strength not a weakness of Android.
- cube13 13y agoIt's a problem if your app depends on functionality delivered after a certain patch level, though. For example, if my application depends on some feature delivered in 4.2, I need to be aware that my potential market is less than 5% of devices in the wild. On the other hand, if the app is 100% compatible with the 2.3.X line, I can count on the all of the devices working, but I also should regression test with the updated versions to make sure that they work.
- jjindev 13y agoThere have been and will be problems, but it is probably safe to say Android "survived" fragmentation. This is success.
- venomsnake 13y agoBut for various reasons (also known as carriers) google does crap job of pushing updates. The moment google wrestles back control from them and begins pushing updates chrome style we will live in a better world. Otherwise we will be in situations like a friend was cursing me yesterday about how I dare have android 4.2 (and wait for 4.3 rom) on my unlocked 2010 device and he is stuck on his HTC with 4.1 and no signs of incoming upgrade soon.
- Zikes 13y agoThey've definitely still got some kinks to work out on their update pushing. I've got a Nexus 4 and a Nexus 7 and despite my checking for updates several times a day neither of them have received 4.3. I understand the necessity of the "rolling update" model in general, however in the case of Nexus machines it should not be necessary. At any rate, I should be able to opt out of the rolling update model and put myself at the front of the line without having to manually flash a factory image.
- nly 13y agoJust side load it. You can download the official OTA ZIP which won't factory reset the device. You don't need any 3rd party mods for this because the ZIP is signed by Google. http://www.droid-life.com/2013/07/25/android-4-3-update/ http://www.droid-life.com/2013/07/25/android-4-3-update/
- venomsnake 13y agoBut at least they are pushing something. Abandoning top of the line devices while "hinting" to buy new is very annoying - which happens when ROMs are provided from 3rd party vendors/ carriers.
- dnissley 13y agoTry clearing data on the 'Google Services Framework' app. that did it for me after I was offline on vacation all last week and couldn't get the update the past two days. Caution though, apparently this breaks app updates for some people, but all you have to do is add and remove your google account to get them to work again.
- mcintyre1994 13y agoThey're making strong progress on this by making the Play services independent of the OS and with all their other apps on the store. Android is still much more modular than they're making it look though, and it'd be great to see their launcher, lock screen etc all as downloadable, individually upgradeable apps too.
- kin3tic 13y ago
- mkr-hn 13y ago> 11,868 Distinct Android devices seen this year > 47.5% - Samsung's share of those devices. It seems implausible that Samsung has made 5,934 distinct Android devices.
- potatolicious 13y agoIndeed it does seem implausible, because that's not what the data implies. Samsung only makes 5,934 distinct Android devices if you assume all devices have equal market share.
- hugecannon 13y agoThe graph below shows that Samsung's share of the devices is made up largely by the S3. The percentage is of all Android devices based on those 11,868 models, not a percentage of the distinct models themselves.
- JosephRedfern 13y agoThe key word is distinct. Samsung could have made 1 model of phone, it doesn't mean that one model wasn't much more popular than any other android device. Not every model of Android device has the same sales figures.
- RivieraKid 13y agoYes, the data is inaccurate, some of those devices are in fact ROMs (ROM is basically a custom Android build).
- dntrkv 13y agoAnd a custom ROM should be treated as a different device.
- RivieraKid 13y agoYou mean every device / ROM combination should be treated as different device? Why? Why not every device / ROM version combination?
- 13y ago
- Zikes 13y agoWhen personal computers were just coming into the mainstream, particularly when GPUs were just coming about, there was a similar fragmentation issue. OpenGL sought to resolve this with a crap-ton of manufacturer bits and a difficult to use API, but DirectX came along and (for the most part) solved that. Nowadays we hardly think twice about the fact that there are millions of combinations of monitor and GPU brands and models and configurations. Has anyone ever thought to do a similar comparison of desktop and laptop "fragmentation"?
- mtgx 13y agoGoogle's main goal for Android should be to achieve something similar for Android, like it was achieved for Windows. I think it's doable, but it requires some technical expertise (the easy part), and a lot of will to do it, to convince other OEM's to get on board and support the standardization of hardware and software (the really hard part). I'm also not sure Google wants to do that so badly. I think they're pretty content and comfortable with how Android is working right now, generally speaking.
- morsch 13y agoI think the report could benefit from dropping the lowest 1/5/10% of devices by market share. As can readily be seen from the first diagram, Android has a long tail of obscure devices. Dropping that would make many of the other graphs more readable and more insightful. I guess it'd also be interesting to exclude devices by other characteristics, e.g. exclude all <4.0 devices because maybe you don't want to support them anyway. I was first puzzled and am now intrigued by their choice to use physical screen size as a basis for that diagram, as opposed to screen resolution. Very appropriate in our resolution-independent times. Of course either way you do it, Android is going to have more variation than Apple. That diagram is also kind of difficult to read; what shade of blue corresponds to what market share? Finally, it's awesome of them to share the source data! Maybe I'll actually get around to implementing my suggestions.
- warfangle 13y ago>Android is going to have more variation than Apple Absolutely. However, what struck me as crazy is the sheer number of devices per manufacturer. There are more than 100 devices there -- for Samsung alone. I get that they put out different devices for different locales. But I can't imagine the overhead in having that many devices in all kinds of different sizes. What gives?
- ajross 13y agoSome of the answer is that these aren't really "different" devices. They're different cases produced for different carriers, etc... The actual number of true SoC platforms is actually fairly small. But most of it is that hardware manufacturing of low-margin products is hard. Sure, you might really want to use a partcular Snapdragon part, but Qualcomm can't give them to you in the volumes you want, so you make two boards for two different chips. Or the camera manufacturer you were using just had a glitch and can't give you the second batch in time, but with a quick PCB rev you could use this other sensor which is "mostly" the same, etc... Apple doesn't do this because Apple ships high margin parts and can pay more (i.e. order extras, pay premiums to get first priority in shipments, etc...) to get the components they want. And, frankly, because Apple is willing to eat the occasional supply burp and just spin it as "demand was too high!".
- troymc 13y agoImagine a similar article about vegetable fragmentation. They all have the same operating system (DNA, ribosomes, cells, etc.) but gosh, look at that horrible, awful variety! And all the different manufacturers! What a disaster.
- Recoil42 13y agoOr the web, even. All those users! So many browsers! So many screen sizes! It's so fragmented! Why does everyone only ever complain about Android?
- kumarm 13y ago[Why does everyone only ever complain about Android?] Only Press Complains. I haven't met a serious Android Developer who complained that fragmentation is in top 5 of their problems. I say this as some one who run Android Game/App Development company.
- kaoD 13y ago> I haven't met a serious Android Developer who complained that fragmentation... Yeah, but you'll meet lots of iOS/WP developers who complain about Android fragmentation :P
- andybak 13y agoSo the question is - is it Stockholm syndrome on the part of Android developers or do iOS developers just think it's a bigger issues than it is in reality? That's the core of the debate, right there.
- m3mnoch 13y agoamen and ditto on the occupation. i suspect this probably has to do with a truism every programmer knows. there are really only 3 cases to solve for (not 11,868) -- one device, two devices or n devices. m3mnoch.
- dcaunt 13y ago
- AUmrysh 13y agoIt appears that the source data download at the bottom of the page is broken, it gives an XML file with two fields saying AccessDenied. edit: it's working now This is some great information to think about concerning Android fragmentation, and how, perhaps, it's not actually a bad thing.
- xpose2000 13y agoOf course there is going to be many devices and many sizes. That's the whole point of android. The most important trend to notice is that Android operating system breakdowns are getting better. 4.x accounts for 60%~ market share. 2.3.x accounts for 34%. Those are good signs.
- DangerousPie 13y agoAs a word of warning, the visualizations on this site managed to lock up Firefox on my MBP to the point where the only thing I could do was force power off the whole laptop and reboot.
- scholia 13y agoWorked perfectly in Firefox 22 on Windows 7....
- threedaymonk 13y agoDesktop fragmentation!
- FooBarWidget 13y agoI'm not an Android app developer, but can someone explain to me what the big deal is? I've been developing Windows desktop software, Linux desktop software and Unix server software for years. The hardware diversity on all those 3 platforms is huge. Heck, if you're developing web apps, it's like every user uses a different machine. I've never seen anybody claiming that Windows is fragmented. So what's so special about Android that people put the "fragmented" label on it, and why is that a big deal?
- deleted 13y ago[deleted]
- TylerE 13y agoSkinning. Imagine if half the PC manufactures shipped windows with an OS X skin that the user couldn't turn off, and another 15% of the market shipped a DIFFERENT non-native skin. http://en.wikipedia.org/wiki/HTC_Sense http://en.wikipedia.org/wiki/HTC_Sense http://en.wikipedia.org/wiki/TouchWiz http://en.wikipedia.org/wiki/TouchWiz
- RivieraKid 13y agoWith Android 4.0 and newer it's not a problem anymore. Your app can choose to use the Holo theme, which is guaranteed to look the same on every certified Android phone. Without certification by Google, the phone can't have Google Play I think.
- runako 13y agoI think the point is that Android 4.0 and later are only on 40%-50% of devices in the wild (per this report). So things will get better, but they aren't there for someone coding today.
- jordanthoms 13y agoA caveat of this: The distribution is very different depending on the geographic area. For my recently released US-focused app, Android 2.3 makes up 15% of the downloads.
- alayne 13y agoIn my experience, the UX expectations on mobile are higher than for desktop apps. It's hard to get the UI to be tight/efficient/performant/attractive across such diverse devices and operating systems with Android. It's not insurmountable, it's just something that works against you in producing a good app.
- valgaze 13y agoIf you peek into the dataset (fragmentation_model_July_2013), these are some of the first few entries: DIGMA iDs10 3G !QU SMILE advance \002\"" (MC605CH) *#? (^?^)=? 001DL 001HT 003Z 007HW 009Z 06_v89_hjy1 06_v89_jbla768_asx How on earth is a firm supposed to make sense of nonsense like that to inform their device targeting?
- bookwormAT 13y agoAnyone complaining about Android fragmentation should ask themselves if they would prefer if every device would go the "Apple way" and make their very own operating systems for their device. Would this really solve fragmentation? Here is how I see the "Fragmentation issue": My customers are using one of maybe 800 or so different devices, with maybe 100 different software systems powering them. That number was about the same before and after Android came about. Now if I want to write a program for all my customers, I need to theoretically write at least a hundred different applications. That sucks. But today, thanks to Android, like 95 of the available operating systems are based on the same development kit, Android, and so instead of writing 95 different applications, I make one and then adapt a little if necessary. Android is a defragmentation platform. What we call "Android fragmentation" just means that the defragmentation works 90%, not 100%. People can use Android to build lot's of different operating systems, which are either very similar or very different that what is available in the Android open source project. But because it's all based on the same code base and runs against the same compatibility test suite, a developer like me can target many devices and many operating systems with a single code base. That's awesome. iOS and Windows are fragmenting the market for me. They are not compatible with Android, so I have to write a separate application for these systems. Often from scratch. A few notes to further explain this position: "operating system" is a very generic expression. For most people today an operating system is the software that is installed on the device minus applications that the user installed himself. E.g. the app store, itunes, Location Services, the User Interface and the push notifications system are considered features of the iOS operating system. But on Android based devices there are independent from the Android system. You can make your app run Holo no matter what Android version is installed on your customer's device. When speaking in iOS terms, you can say that 90% of all Android devices get updated once per months or so, when another update for Gmail, Google Voice Search or GCM arrived. You do not need to depend on Google if don't want to make your software compatible with Android. There is no dependency from Google in Android, all their influence comes from the fact that they own the most popular third party app suite that every OEM wants to license on their device. If and OEM wants to go their own way, like Amazon, Google has no way to stop them.
- wklauss 13y agoThere are tradeoffs in every approach and there are steps Google could have taken to make the situation better without mimicking the controlled experience and uniformity of iOS. Unfortunately at this point this is pretty much how it's going to be. So yeah, it's a "pick your poison" kind of world and theres no easy way out. You deal with it and hope for the best. But that doesn't mean it's not worth pointing it out or that is not a problem for the Android ecosystem in the long run. > iOS and Windows are fragmenting the market for me. They are not compatible with Android... By that same logic Android is fragmenting it too. > When speaking in iOS terms, you can say that 90% of all Android devices get updated once per months or so, when another update for Gmail, Google Voice Search or GCM arrived. No, as a developer having users in different versions of Android affects the things your app can do. What APIs does it have access to and how. I don't care if the user thinks he's updated because their gmail app looks new. I care that my app needs more hours of coding to make sure it does the same on Android 2.3 than on 4.1. > ... You can make your app run Holo no matter what Android version is installed on your customer's device. There are some iOS developers that follow this same route. A lot of services / functions in iOS are not mandatory, you can use your own versions of it if you want to devote the time and skill to rewrite them. Loren Brichter comes to mind as a good example of this. Developers use the Apple route because it's easy and takes out a lot of the workload.
- dspillett 13y agoThe screen size diagram misses an important extra complication: the same pixel counts and screen sizes do not always match up. In this room right now there are ~7" devices with resolutions of 800x<whatever> (where "what-ever" varies depending on aspect ratio), 1024x? and 1280x?. When the G2 Nexus 7 turns up there will be at least one at 1920x? too. Similarly resolutions of 1280x? can be found on devices with physical screen sizes from 4.3" to 10.2". Of course for many apps, if written properly, this simply doesn't matter - but if you try cram too much on-screen assuming 1280x800 means a 7" device your app may be difficult to use on 4" one. Most of the people you see complaining about Android fragmentation are people that are avoiding Android because they are scared of it (rather than having tried to deal with it) or people who would prefer you to buy an iOS device that their app is already available for instead of an Android one that drops you out of their target market until such time as they port to Android.
- sjmulder 13y agoLike you say, for a well built app the pixel density does not matter because you design in dp. > if you try cram too much on-screen assuming 1280x800 means a 7" device your app may be difficult to use on 4" one. For the reason above, this just doesn’t follow. A 7" device would be about 600dp wide (in portrait), while a 4" phone would be about 320dp, regardless of pixel density. That’s not too different from iOS – the original iPad and the iPhone 5 have a similar number of pixels.
- madlynormal 13y agoThe promise of Android was to be free and open. Did you not expect fragmentation?
- DominikR 13y agoThe fact that the screen sizes and dpi are fragmented is in my opinion a feature and not a bug or problem. Actually, Android UI design (if you follow the guidelines) is comparable to responsive web design, and that isn't surprising, considering that Google is a web centric company. You have layout XML files (HTML), seperate XML files for styles (CSS) and then your code that manipulates the layouts dynamically. And most of the time you work with relative positioning of UI elements (like you do on webpages) instead of absolute positioning. Even Androids Intent mechanism is based on the idea of web links. (but here you link to another "page" of your app, or other apps) Also, Android apps behave like web pages with stacks of Activities (comparable to pages), and a dedicated back button to browse back. Yes, it would be easier if you had only one screen size and therefore could design everything statically, but with so many different screen sizes on current iOS devices (3 sizes for different iPhone revisions, at least 3 for iPad and I don't know how many for iPods) I don't think it's a painless process there either, and I expect that Apple will introduce changes in the future. Also, you probably will never have pixel perfect design on Android that works across every device (it was never intended to do that), but you don't have that on the web either, and no one's complaining here that the web ecosystem will collapse because of that.
- dannyr 13y agoPeople are forgetting the state of mobile OS ecosystem before Android came along. Samsung, Sony, Motorola were using Java ME but you cannot build just one app that works for all manufacturers. If Android doesn't exists, we'll have 1 OS for each manufacturer because Apple would not share their OS with others. I'll take a fragmented Android ecosystem over a fragmented mobile OS ecosystem any day. I develop Android apps for a living. For a lot of devices (e.g. HTC One, Nexus 4, S3), there is very little differences in code, if at all. Highlighting different versions is also misleading. Not much difference in the APIs between 4.0 and 4.3
- protomyth 13y ago> If Android doesn't exists, we'll have 1 OS for each manufacturer because Apple would not share their OS with others. I'm sure Microsoft would have been more than eager to take up the slack, or perhaps Palm would have pivoted that way. I cannot remember what the update cycle was like on Microsoft phones. Perhaps the OS version would have still been an issue. I do seem to remember some upgrade blocks on the 7 version.
- dannyr 13y agoThere was Windows Mobile but phone manufacturers didn't like it so they still built their own.
- rsynnott 13y ago> I cannot remember what the update cycle was like on Microsoft phones. For Windows Mobile? In almost all cases, they never got upgrades at all. The iPhone was pretty unusual in its day as a non-computer consumer electronics device that got substantial software changes after release.
- clarky07 13y ago>Highlighting different versions is also misleading. Not much difference in the APIs between 4.0 and 4.3 there are big differences between 2.3 and 4.0 though. 34% are still on 2.3, and that is sad. With Android you really have to just cut your losses and realize you can't make it perfect for everyone. Target the top 70% and do the best you can. Handle the top few screen sizes and api versions and move on.
- deleted 13y ago[deleted]
- muyuu 13y agoWhy do HTC, HTC Europe and HTC Asia form distinct categories? Put together I think it would be pretty high. Also, Motorola (which has the exact same colour as Huawei and is next to it) and Moto. Great diagrams anyway.
- shimfish 13y agoA lot of people here seem to be asking "so what?" In my small experience, the "so what" is that, for example, just today I get an email saying that feature X of my app doesn't work on tablet Y. So now what? Do I go and buy that tablet to see what the problem is? Hardly worth it for the money I make from Android. This sucks for developers for obvious reasons and it sucks for consumers as it's pot luck whether an app will work for you, especially if it's not one of the top 5 devices. I've read it's terrible for 3D programmers as often devices just flat out lie about the GL capabilities they support. Exhibit A: Apportable's android device library https://twitter.com/chinmaygarde/status/349809877176156160/photo/1 https://twitter.com/chinmaygarde/status/349809877176156160/p...
- deleted 13y ago[deleted]
- Groxx 13y agoWhile Apportable is a very nice example, they're also doing something rather crazy - "cross compiling" apps into a wildly different set of hardware, software, and OS targets. And trying to be efficient about it, for graphics performance. That isn't simple anywhere. I'd call it flat out amazing that they have apparently mostly succeeded, and a massive testament to the level of consistency that does exist.
- threeseed 13y agoCupboards like that are very normal. The last three places I've worked at had similar cupboards in order to support the array of Android devices. And they were just run of the mill web companies. The problem really isn't Android but everyone's screwed up implementation of it.
- Groxx 13y agoFrom everything I've seen, that's still an exceptionally large cupboard. High-performance uses (games) have big cabinets because, yeah, that's where fragmentation can be extremely damaging. The fragmentation there is real, and can be very painful, and I totally agree that it sucks. But in "run of the mill web companies"? Where I work, we have ~6, but 99%+ of the time we just use our Nexus 4s because 99.9%+ of the time it "just works" everywhere, especially if you stick to an older API / support library and know the quirks. We support 2.2+, have a few 3.0+ and 4.2+ features, and it has been terrifically easy to handle our range - much easier than iOS. The other devices are to see how using the app feels on different sizes / performance classes. Getting that feel is important, but it just requires a couple "token" devices.
- soapinmouth 13y agoonly 5% of pc users are on windows 8% and 25% are still on xp = dead platform obviously too fragmented to develop for. Linux is even more "fragmented" than windows why would people even use it with all that scary fragmentation!
- primelens 13y agoCan I just say that D3 and its underlying concept is just beautiful.
- bwy 13y agoI'm more impressed by the use of D3 here than the actual contents.
- ricardonunez 13y agoWas my first thought. A beautiful showcase to D3 capabilities. Really well done.
- mmanfrin 13y agoObservations: in the bottom right quadrant of devices, one can find the iPhone5 is a device with an Android installbase. Also, it seems silly to degroup carrier-branded phones in the branding section (A 'Verizon S3' is not listed under Samsung).
- eagsalazar2 13y agoAll these graphs are BS except the one about OS fragmentation. Devices and screen sizes are not "fragmentation" any more than people viewing their browsers on different screens or resizing windows represents fragmentation. That is just the reality of a viewport that potentially has many sizes. It is a FEATURE. Is it harder for developers?? Of course, but blaming it on fragmentation is a cop out. The OS thing is real and really worse than what is depicted because depending on the APIs you are using even OEM specific tweaks introduce additional variables.
- fooyc 13y agoAnyone did a visualization of browser window size fragmentation ? I'm wondering how the web can even work with all this fragmentation.
- cromwellian 13y agoWeb Fragmentation Visualized :) https://plus.google.com/110412141990454266397/posts/1j8be9w3oLa https://plus.google.com/110412141990454266397/posts/1j8be9w3...
- hristov 13y agoThis is pretty remarkable but it is to be expected. The world is large and diverse, and if there is going to be an OS that satisfies the mobile computing needs of the entire world, it is going to have to run on many different devices. Apple, the poster boy for non-fragmentation, is consistently losing market share. They are now starting to realize that their only chance of continued growth depends on releasing more devices with different screen sizes and different price points. (Gasp -- more fragmentation). It is up to Google to try to make programming across different devices as easy as possible. I am not sure how successful they are in this, I am not an android programmer. But fragmentation is not a choice or the result of a strategic error by Google. It is a fact of life when you are programming for hundreds of millions of users. Think of it this way, if Google had chosen to go the Apple way and only used Android on their own Nexus devices, would there be more or less fragmentation? There would certainly be less fragmentation in Android, but there would be much more in mobile devices in general. Because Samsung, HTC, Sony and every other Android manufacturer would come up with their own wacky OS.
- JuDue 13y ago1. By all reports Google is shying away from Android. 2. Apple losing market share to hoards of cheap spam-ware phones? I'm sure Google isn't as excited about this as you think.
- notimetorelax 13y agoCould you substantiate any of the claims? I'm surprised to hear that Google is shying away from Android or that they don't want Android to be used on as many devices as possible.
- hristov 13y agoThey are not shying away. I listen to Google earnings reports, and they are as gung ho about Android as ever. I did not reply to the grand parent, because I did not want to go off on a tangent.
- clarky07 13y ago
- thechut 13y agoLooks like open signal has become part of Apple's PR arm. I will be uninstalling iOpenSignal...
- anuraj 13y agoAndroid is Samsung - more than Google. With its market power Samsung can now dictate terms.
- dorfsmay 13y agoI don't remember to ever read an article about DOS or Windows or Linux fragmentation... In other news, "DOS vs. VMS fragmentation", Only 5% of PC are manufactured by IBM, Digital manages to capture 100% of the VMS market!