Hacker News new | past | comments | ask | show | jobs | submit login

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 (retina) for phones, and only 1280x800 and 2560x1600 (retina) for tablets?

What can Google do so that Android still supports many different devices from different manufacturers, but the fragmentation issue is dramatically minimized?




There is nothing Google can do about it. The cat is out of the bag, so to speak. Everything they try will simply make the problem worse.

- Release new versions faster? Nope. More fragmentation.

- Pressure MOs/OEMs to only ship latest versions? Nope. Just pisses them off and makes them more inclined to fork.

- Reduce flexiblilty (better abstraction layers for hardware) ala WP7? Nope. MOs/OEMs care most about flexibility which got them on Android to begin with. They'll just fork.

- Do something really innovative. Maybe, but it would have to be mind-blowingly-differentiated. Can't find any proof points of Google doing that in the past, so have to assume it won't happen in the future.

Android is alive and well. It is an extremely healthy ecosystem. But it is no longer Google's ecosystem. And it will continue to fragment no matter what Google tries.

FWIW, I wrote about this in depth earlier this year in a post titled "Fragmentation is not the End of Android" here:

http://ceklog.kindel.com/2012/01/14/fragmentation-is-not-the...


>Maybe, but it would have to be mind-blowingly-differentiated. Can't find any proof points of Google doing that in the past, so have to assume it won't happen in the future.

Right, because Android itself doesn't meet that exact specification? A completely free operating system that is enormously huge on hundreds (thousands yet?) of different devices that anyone can build and distribute without royalties? It literally changed how smart phones exist and has put them in the hands of people that would never otherwise own a smartphone.

If you want revolutionary, check out boot to gecko. Even cheaper phones, more transparency, all open standards.


Do what Sun did for Java, create a really extensive test suite and make sure no device gets the Google stamp of approval unless it passes.


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.


> 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.

Except that won't work because what vendors do is modify core system components. Network stacks, audio/video codecs, system themes, etc. are all things changed by carriers and manufacturers for a variety of reasons.

There are two core reasons why Android OS updates are slow to roll out:

1) there is no profit motive to upgrade phones that have already passed their prime retail lifespan

2) modifications made my carriers/manufacturers are not simple and often have dramatic consequences for how the phone and apps on the phone behave

For companies like Microsoft, there is a profit motive to updating released software and selling larger OS upgrades at a price. For Linux users, the onus to upgrade comes from the users themselves, much like how there are those that choose to install custom ROMs on Android to get those advanced features.

Regardless, the fact that you can create an Android app that runs on so many hardware configurations is extraordinary. The downside to the popularity is that its likely your app won't run on every hardware configuration, so the question is how will Google mitigate that problem?


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.


What a terribly obvious misnomer.

1. OEMs deserve 90% of the blame for being slow. CM is proof that OEMs are absurdly slow at updates, almost surely because they put absolutely no priority on supporting old devices. People blame Google because OEMs are greedy and lazy and are more interested in making the next buck than support an already cashed-out device.

2. Building a ROM for a phone is wildly different than adding hardware support to the Linux kernel or bundling drivers. Number one, because that is flat out impossible to do on mobile devices due to reasons that I only understand as "component manufacturers have tight control of software radio components", to the point that it makes it nie impossible for Google to distribute everything to make complete images even for their own Nexus phones.

3. OEMs over customize because they have access to the source code. They can do >= 90% of their customization using stock Android and just change what ships by default, but because they have the source, they tear into it and modify every last piece. If you don't think this would happen if OEMs had source for Windows, you're crazy.


So what can Google do to reduce the problem?

What problem? The linked article could as easily have been called "The Diversity of Android". That title would have been more honest, if less likely to get linked.


Diversity is all well and nice, but how do developers possibly test against all those configurations? If you don't test - how do you ensure that as low as possible a percentage won't return your app, and ding your ratings simply because their phone has issues with your software?

Google needs to do more work to make software development and testing easier - as an end customer I don't want the pain of having to guess if the software I buy is or is not going to work.


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 it (besides, bizarrely, pointing out that Google has added functionality to scale for screen sizes...which has been a fundamental part of the Android development suite since day 1).


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. They just are running old versions of Android.


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.


I didn't research anything. I work for a large multinational and our team is responsible for some of the most popular public apps and websites on the entire platform. So yes. I see first hand what it takes to support them.

And the problems with Android are far, far beyond just GPU issues. It is the fact that the most popular devices are also the ones running old versions.


Ugh, ignore the research comment. Somehow I mixed up your nick with the other guy who referred to that. Face red.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: