Live data from Hacker News

How Fragmented Is Android?

eggonomy.com

111–120 of 189 posts

Re: How Fragmented Is Android?

#111

The article concludes, as far as I can tell, it isn't fragmented, it just has a bunch of recent enough versions on similar enough devices to run most apps. Apps don't care what version of Android you run, they care what API support you have, and apps can detect API support at runtime and adapt. OTOH, the article fails to mention that Apple refuses to let you support devices after EOL, and even some of the oldest Andr…

OTOH, the article fails to mention that Apple refuses to let you support devices after EOL, and even some of the oldest Android devices in existence can run even the newest Android, as long as you're willing to upgrade the ROM yourself. The 2012 iPhone 5 is the newest unsupported iPhone. Would you really want to support a phone that old and have to support both a 32 bit and a 64 bit version of your app?

> and have to support both a 32 bit and a 64 bit version of your app?

For a developer, there is no difference between a 32-bit and 64-bit.

Re: How Fragmented Is Android?

#112

I work on an Android app aimed at the North American market. Android O, P and Q are 88% of our Android devices. By far and large, fragmentation is something I _never_ have to think about. Jetpack libraries are here to handle it for us, as an abstraction layer between the OS and third party apps. I would have mentioned that e.g. camera apps are an exception : here hardware fragmentation can be a pain. I was half surpr…

"O, P and Q are 88% of our Android devices" - this is problematic because you're therefore serving only a fraction of the market.

A considerably number of companies have to actually deal with this fragmentation, for example, we have a product that integrates with a device via Blutooth, and we have to deal with this issue. We can't just 'not serve' a bunch of customers.

Re: How Fragmented Is Android?

#113
post #36
post #27

Earlier quoted context omitted.

The conclusion is unexpected and stupid. Android doesn't brag it has 75% share. Actual data is that 85% of smartphones run Android and that's market share. Fact that they are not updated to the latest version doesn't change the market share.

"Addressable" market share maybe? A developer can target iOS current version and current version-1, and cover the large majority of iOS devices. How far back does an Android developer have to target? Maybe it doesn't matter since the Android marketshare is so much larger that targeting current - 1 stills gets more devices than iOS.

One set of figures that I saw suggested that iOS 12.1 had a small lead over Android 8.1 in March 2019. (These were the most common versions at the time.) Consider all of the versions of iOS 12 and Android Oreo, then Android had a major lead. That is before considering Nought and Pie, which I suspect is the range of releases that most developers would target.

Re: How Fragmented Is Android?

#114

Earlier quoted context omitted.

+1 I have a few hobby apps on the app store that gave had a few thousand downloads. Not a huge sample but generally speaking it's N+ that has the vast majority of users. My apps are fairly standard or are games - most API levels since M seem to basically cover everything I need 99% of the time. I have no interest AT ALL in the manufacturer of the device. Fragmentation simply doesn't feel like an issue, at least to me…

Fragmentation is an issue if you're at an enterprise or building a mass market product however. Then you can't just ignore large percentages of the market.

One of my previous job was for one of the big music streaming services.

So very much a mass market product :)

As stated above, what we did was that when we decided to "drop support" for an API level, what it meant was that we would freeze an apk that would be delivered to these older devices and have a higher min api level for the new app versions.

The burden might higher on the backend people not to break the old endpoints than for us.. these old apks need to continue working. Technically we were supporting these frozen legacy apks, but since we have chosen particularly stable app releases for this, in practice we never touched them.

Weird corner cases/devices were indeed a bit more of a concern. And to be explicit, that was never a significant amount of our time. I was part of the more senior team that had to (among many other things) deal with that, and I don't think it has been more than 5% of my time (and 5% of the time of 2 other colleagues, whereas the 20 others not in our team did not have to deal with it at all).

As far as I can tell it is the result of :

- at this scale, if something can break, it will break. when you have millions of daily users, all of your app issues will be uncovered (and to be honest, there was a ton of these... we inherited some very awful code in some crucial areas)

- mass market means that you will see all kind of devices connecting to your service, including weird no names chinese devices that have not been certified by google. So they did not have to pass the compatibility test suite that devices shipping with the play store have to satisfy. This has been getting better and better year after year but at first you could see some "exotic" behaviors.

- mass market also means that people will try everything in order to use your product for free. Although to be honest 99% are refreshingly naive. Like somebody distributing a "cracked" apk letting you get one month of premium for free. We decompiled that version and could not figure out what had changed .... until we tried it and.. oh man, so that "hack" is just that we we offering a one month free trial at that time .. Nothing nefarious here, just the same free month you would have gotten for a new account by downloading the official apk from the play store.

Re: How Fragmented Is Android?

#115
post #75
post #66

Earlier quoted context omitted.

So how would you "fix" the issue? E.g. how would you add Vulcan on devices that do not have GPUs capable of Vulkan requirements and no proper drivers?

Have made it compulsory on Android 7, and like Microsoft has done multiple times, specify what the hardware requirements for any device should be. And since Android 1, have made OS updates a requirement of the Android licence contract for Google services.

The first part of your solution conflicts with the second. You cannot both require new hardware for an OS version and require OS updates for old hardware.

Re: How Fragmented Is Android?

#117
post #2

These articles rarely go over what, if any, practical concerns there are. The Wintel market is even more fragmented, but that's not really an issue in practice because the abstractions are more or less in the right place.

Wintel is something that could be taken down a notch, but it seems everything outside of the x86 family is even worse. If I buy a Dell laptop or a Lenovo laptop, it will come with a bunch of useless junk installed that nobody in their right mind would ever want, like Lenovo's useless gigantic Wi-Fi icon in Windows (last observed by me in a T520). But not only can I uninstall all of that junk software, I am still runn…

That's a good point. Imagine Microsoft allowed third-party computer manufacturers to ship custom-built versions of Windows with modifications and third-party drivers that didn't have to be released in any publicly usable format. We'd have a real mess!

To be clear, I don't think this is a failing of open source. The problem is that Google allowed phone manufacturers to release practically anything they wanted based on the Android code base under the name "Android" and to ship with the common market (Google Play).

Frankly I don't think they should have allowed any modifications, making Android closer to how Firefox is distributed. (Anyone can edit the source code of Firefox, and even release a fully built binary based on that edited code, but you can't call it Firefox.) Maybe fewer manufacturers would have bought in at the outset, or maybe some would have tried to fork Android, but it's easy to forget what a desperate situation they were in. Outside of Apple and maybe Blackberry, the mobile OS market was in shambles because nobody was ready with high quality smartphone software. Android was a huge win and probably saved multiple companies from bankruptcy, and I think they would have eventually bought in to a more strictly defined OS out of necessity.

Re: How Fragmented Is Android?

#118

The article concludes, as far as I can tell, it isn't fragmented, it just has a bunch of recent enough versions on similar enough devices to run most apps. Apps don't care what version of Android you run, they care what API support you have, and apps can detect API support at runtime and adapt. OTOH, the article fails to mention that Apple refuses to let you support devices after EOL, and even some of the oldest Andr…

OTOH, the article fails to mention that Apple refuses to let you support devices after EOL, and even some of the oldest Android devices in existence can run even the newest Android, as long as you're willing to upgrade the ROM yourself. The 2012 iPhone 5 is the newest unsupported iPhone. Would you really want to support a phone that old and have to support both a 32 bit and a 64 bit version of your app?

[deleted]

Re: How Fragmented Is Android?

#120
post #63

Earlier quoted context omitted.

That's not unique to Android. I still use an old iPad 3 (stuck on iOS 9) for movies & audiobooks in bed. I can still use Netflix, Plex, & Audible because I downloaded them a long time ago. But I recently switched to 1Password and I can't install it on that iPad.

I don’t think iPad 3 is even “old”. I have an original iPad 1, and the situation is even worse: I’m frozen in time on iOS 5, and the device has been losing app availability for years. Without jail breaking, it can basically only do what was installed with it from the factory. The hardware itself outlasts most companies’ software support by 2-4X. I see a bleak future of millions of perfectly usable devices that are on…

> where I can still run recent versions of Linux on devices 10-20 years old.

10 sure, but not 20. 20 years ago the devices had 32 bit CPUs, the support for them is being phased out. The last 32-bit Ubuntu LTS is 16.04.6, from 2016.

Post reply on HN