Live data from Hacker News

Android Fragmentation Visualized

opensignalmaps.com

31–40 of 91 posts

Re: Android Fragmentation Visualized

#31
post #9
post #5

It seems to me that the best way to think of Android is to compare it to the world of Linux distros. (I believe Dan Benjamin of 5by5 pointed this out on one of his podcasts.) Yes, there's Linux, but there's no one Linux. There's Android, but there's no one Android. So while Android is technically an operating system, it's really an open platform on which to build mobile devices on top of. So the Android device I buy…

The alternative isn't for all these devices of different sizes and capabilities not to exist. The alternative is for them all the be running even more disparate, vendor-specific operating systems. We should be thankful for the degree of unification Android's success has brought.

One of the annoyances I've had with Android, from a new consumer's point of view, is that it's presented as this monolithic OS that's the same across every phone. But once you do the research, you find that it's really not. Except for the Nexus line, there really isn't a "Google Android" experience. When you buy an Android device, you're really buying HTC's, Samsung's, Amazon's or Motorola's Android. Every device has different capabilities. Some ship with different Google services out of the box, others ship with their own internal apps. Google's Android strategy is that every manufacturer can make their own Android shell, without placing any requirements on the vendors as to what version of Android they're using.

It's a great thing that there's all this choice for the devices. It's a great thing that Android allows this kind of freedom. But it's led to a lot of issues for Google and for developers.

The problem that Google has is that they've effectively lost control of Android. They can't force manufacturers to use the latest version of Android. So they're left with situations like this, where the vast majority of Android devices are running an old version of the OS, and will never be updated to the newest version, because the manufacturers just don't want to[1]. So the result is that they have to support around 4 different codelines at the same time(ICS, HC, Gingerbread, and Froyo).

It's a problem for developers because your display code might not look right on a new device with a weird screen resolution. Or you might need API calls that are only in 4.0, which would lock you out of 90% of the devices right now.

No, the alternative is for Google to exert control over the device manufacturers and state that if they're going to be using the Android OS, they need to support and update their devices to the latest version for at least 2 years after the phones are released.

[1] There is a good economic argument that patching phones that are 18 months old with 24 month contracts about to be up just doesn't make sense, but honestly, it comes down to that the manufacturers just aren't willing to do it.

Re: Android Fragmentation Visualized

#32
post #5

It seems to me that the best way to think of Android is to compare it to the world of Linux distros. (I believe Dan Benjamin of 5by5 pointed this out on one of his podcasts.) Yes, there's Linux, but there's no one Linux. There's Android, but there's no one Android. So while Android is technically an operating system, it's really an open platform on which to build mobile devices on top of. So the Android device I buy…

Spoken like someone who isn't an Android developer.

Take your analogy to the next step. Someone opens an online store that sells binary-only copies of applications targeted to just "Linux".. you would call them crazy, no? That's what the Google Market is. Or the Amazon Market, samsung apps, nook store, ...

I wrote a blog post to help you understand the pragmatic issues faced by an Android developer trying to write decent software.

http://burnsmod.com/development/2012/05/01/Android-Fragmenta...

Your analogy does not make me sleep better at night.

Re: Android Fragmentation Visualized

#33

Earlier quoted context omitted.

The Android ecosystem is an incredible success. There is massive compatibility, with very few issues, across thousands of devices from weak to powerful, big and small. Maybe Google actually did something right? And no, you don't need to test against all of those configurations. Did the linked product? No . They used the incendiary fragmentation line because it gets hit, but actually point to no specific problem with…

Very few issues ? Clearly you don't know what your talking about. I work in a team that does Android and mobile website development. We NEED 20+ devices versus 4 for Apple. And there are lots of vendor specific issues which require you to own those devices even just for comparing web site rendering behavior. And there is nothing magic about Android working on different devices i.e. it's not like ICS works on them. Th…

I work in a team that does Android and mobile website development. We NEED 20+ devices versus 4 for Apple

Just to be clear, you're the guy who "researched" Android by looking at the public, everyone-knows-about-it Platform Versions breakdown this morning. And you're schooling me on Android. Delightful.

I have actual public apps. The only real issue are a small number of devices where the HAL essentially lies (which leads to the blacklisting of the handset), and understanding the different GPU architectures and their limitations / benefits (#1 issue people have is when they commit to a proprietary vendor texture format and then try to do runtime conversions. Bad idea. Just use ETC1 and shader transparency). Big deal. I get paid for my development so I suck it up.

Re: Android Fragmentation Visualized

#34
post #24

I love my Android phone and I love developing for it but I sort of think that sometimes we have a little bit of Stockholm syndrome when I hear another Android developer say "fragmentation is great!." It really isn't, especially not with the differences between 2.3 and 3+, but I like being able to put my own apps on my phone without paying $99 a year, so I like my phone quite a bit.

I'd tend to agree. But at the same time I do get sick of all the articles like this one harping on "fragmentation" instead of actual porting issues. That's the clue that tells me the linked article was written by Apple fans with an axe to grind. If people viewed this as an important problem worth solving, we'd see articles about how to do aspect-independent UIs, or apps that cleanly upgrade to gestures in Gingerbread…

[deleted]

Re: Android Fragmentation Visualized

#35
post #31
post #9

Earlier quoted context omitted.

The alternative isn't for all these devices of different sizes and capabilities not to exist. The alternative is for them all the be running even more disparate, vendor-specific operating systems. We should be thankful for the degree of unification Android's success has brought.

One of the annoyances I've had with Android, from a new consumer's point of view, is that it's presented as this monolithic OS that's the same across every phone. But once you do the research, you find that it's really not. Except for the Nexus line, there really isn't a "Google Android" experience. When you buy an Android device, you're really buying HTC's, Samsung's, Amazon's or Motorola's Android. Every device has…

Actually, the real solution is a pledge that customers should make:

"If you do not support my Android phone for at least 2 years, with timely updates, I will never buy another phone from you, ever again."

Re: Android Fragmentation Visualized

#36

So what can Google do to reduce the problem? Release only one major version of Android every year? Every 3 years like Windows? Release a private "beta" version for most manufacturers (not just one like now) so that they all have devices with the new OS on the official launch day? Develop better abstraction layers for hardware? Force manufacturers to use only a few resolutions like 480x320, 800x480 and 1280x720 (retin…

They really need to structure the OS so that the core components can be updated independent of the vendor ones. Then just ship updates regardless of what vendors do. People act like Google is somehow unique here. Microsoft and Linux support a vastly more complex array of hardware configurations and still manages to support a diverse ecosystem above the core OS.

Not sure why downvoted this is certainly the biggest thing Google can do to help alleviate fragmentation.

Of course it does run into two opposing aims:

(1) "cracking down" on the carriers at a time when Microsoft is literally throwing cash at them in an attempt to buy market share may by counterproductive.

(2) shipping os updates independently of carrier ui layers can break major ux or, even worse, crash the whole device.

What else could Google do? Well they could keep their major vendors in the loop instead of just dumping the new code on them after each nexus launch. I mean ICS launched in October but because of the development time frames involved many new handsets launched in the last couple months still shipped with Gingerbread.

How about this: if you're an Android branded product and decide to make a substantial UI layer modification you need to give google the source code and a team at Google will work to keep your differentiation layer working with updates.

Re: Android Fragmentation Visualized

#37
post #5

It seems to me that the best way to think of Android is to compare it to the world of Linux distros. (I believe Dan Benjamin of 5by5 pointed this out on one of his podcasts.) Yes, there's Linux, but there's no one Linux. There's Android, but there's no one Android. So while Android is technically an operating system, it's really an open platform on which to build mobile devices on top of. So the Android device I buy…

Correct, Android is more of a meta-platform, a platform for building platforms, than a single platform itself.

Re: Android Fragmentation Visualized

#38
post #5

It seems to me that the best way to think of Android is to compare it to the world of Linux distros. (I believe Dan Benjamin of 5by5 pointed this out on one of his podcasts.) Yes, there's Linux, but there's no one Linux. There's Android, but there's no one Android. So while Android is technically an operating system, it's really an open platform on which to build mobile devices on top of. So the Android device I buy…

Spoken like someone who isn't an Android developer. Take your analogy to the next step. Someone opens an online store that sells binary-only copies of applications targeted to just "Linux".. you would call them crazy, no? That's what the Google Market is. Or the Amazon Market, samsung apps, nook store, ... I wrote a blog post to help you understand the pragmatic issues faced by an Android developer trying to write de…

Right, the problem is with the Google Market, Amazon Market, et. al. It's not with Android as a platform (or operating system).

The problem is that Google copied the "App Store" idea for software distribution that Apple created for their iPhone. Instead, they should have gone with the same idea that Linux distros use: The product vendor is responsible for distributing the software for the product. That would look completely different from what we have now, but it would be a more natural fit to what Android really is.

Also, you could have made your point just as well without the ad hominem.

Re: Android Fragmentation Visualized

#39
post #31

Earlier quoted context omitted.

One of the annoyances I've had with Android, from a new consumer's point of view, is that it's presented as this monolithic OS that's the same across every phone. But once you do the research, you find that it's really not. Except for the Nexus line, there really isn't a "Google Android" experience. When you buy an Android device, you're really buying HTC's, Samsung's, Amazon's or Motorola's Android. Every device has…

Actually, the real solution is a pledge that customers should make: "If you do not support my Android phone for at least 2 years, with timely updates, I will never buy another phone from you, ever again."

Unfortunately, I don't that any of the manufacturers would listen to that.

Ultimately, I think it's on Google's head to do this. I've said in previous posts that Google should have handled the Android trademark a lot like how Mozilla handles their trademarks. Android, the OS, is free to use(both as in Speech and Beer), but if you're going to make major changes(i.e. the standard services and applications, limit install privileges, etc.), then the manufacturer cannot use the Android trademarks in their advertising, and can only use a "Powered by Android" mark.

Manufacturers that comply with Google's requirement could brand their phone as a full Android phone.

EDIT: Not sure why this was downvoted. Mozilla does protect their trademarks in this exact way: http://www.mozilla.org/foundation/trademarks/policy.html

Re: Android Fragmentation Visualized

#40
post #16

I did some research this morning, since I might be doing some Android work soon. As of May 1 2012, about 5% are on any version of the latest major release: Ice Cream Sandwich. About 3% are on the previous major version: Honeycomb. The rest, a whopping 92%, are still two or more major versions behind. By developing against the latest major version, you are going to reach 5% of Android users. Compare that to iOS, where…

You're mixing things up, so I'd suggest going back to do more research. Honeycomb was tablet-only, it was never released for handsets. That's like complaining that only 7% (or whatever) of iOS users can run iPad apps, it's meaningless. ICS uptake, however, has been ploddingly slow. It's finally breaking through now as the vendors clear out their holiday inventory and start pushing new models.

Yeah, I'm not up to speed on Android. But, so, that only accounts for 3% of the users. It still means only %5 are on ICS, and the rest are basically on 2.3.

So the process for developing a new iOS app today is:

    1. Download latest SDK
    2. Develop for iOS 5.1
For Android, it seems to necessarily be:

    1. Download latest SDK
    2. Develop for Android 2.3
Post reply on HN