top | item 1395664

On Android Fragmentation

61 points| jokermatt999 | 16 years ago |android-developers.blogspot.com | reply

36 comments

order
[+] martythemaniak|16 years ago|reply
One important point is how much misinformation there is out there over fragmentation - a lot of it written by people who don't know (and usually don't care to know) much about the actual issues.

One common meme is the Multiple Resolutions Problem - you know, the onerous problem a developer faces when he has to support both HVGA, QVGA and WVGA resolutions. Except, if you actually do write an app that works well across all those, you find out that managing multiple resources for multiple resolutions is trivial, and that correctly-placed layout weights will give you the flexibility to deal with slightly different aspect ratios.

That is not to say there aren't actual issues - one pain point comes up if you wish to target 1.5 so you can get the widest distribution possible, but are forced to use 1.6 as your target during development.

But just to illustrate my point, try a google search for the fictitious resolution "fragmentation" problem, then try one for the real 1.5 vs 1.6 problem.

[+] Groxx|16 years ago|reply
correctly-placed layout weights will give you the flexibility to deal with slightly different aspect ratios.

Slightly different sizes, yeah. But the problem for some people / designs, and ultimately for end-users, is that it makes super-designed apps like you see on the iPhone more difficult to make.

Not that that should prevent people from programming for / using Android. I personally plan to code a bit for it. But high degrees of polish are significantly more difficult than for a single screen size, and the iPhone has pretty much demonstrated that it does in fact matter to the average user.

[+] dieterrams|16 years ago|reply
Re: the Multiple Resolutions Problem, it's probably less of an issue if you're writing a utility app. But for games, which frequently make use of resolution-dependent assets, it is far from trivial or fictitious. A larger developer might be able to eat the cost of maintaining multiple sets of assets, but smaller developers frequently can't. Nor can they typically afford to own a comprehensive set of devices to test on, which is necessary if you're trying to figure out things like how many sprites or particles you can display at a given resolution and framerate.
[+] FooBarWidget|16 years ago|reply
What is the 1.5 vs 1.6 problem? I thought in the Android SDK you can select your target. What's forcing you to use 1.6 during development?
[+] lenni|16 years ago|reply
To me the key point of this post was:"And in the long term, as the mobile industry gets more accustomed to the idea of upgradeable phone software, more and more devices will be be upgraded."

Google is doing a fantastic job with Android, it's just that the carriers and OEMs are dragging their feet at properly supplying their handsets with updates. To make matters worse they continue to fiddle with the Android system (see HTC's Sense UI) for no apparent benefit to the consumer other than to make their phone 'stand out'.

I'm currently very angry with HTC and T-Mobile for their last century attitude to mobile devices. It's ridiculous that they have promised to upgrade my Hero to 2.1 since March and still nothing - also the last firmware update also conveniently disabled all possibility to root the phone. Say what you want about the iPhone, it is at least supplied with updates for a reasonable amount of time (~3 years?) and older models don't get their update months late.

[+] NateLawson|16 years ago|reply
I agree that's the key part. However, perhaps the reason upgrades are so slow is that Google is moving too fast for OEMs. Their profit margin on these Android phones is lower because they're more powerful and costly than the typical Symbian phone. No other phones (Blackberry, Sidekick) require them to be as involved in updating software. Apple ships iPhone OS updates via iTunes, not AT&T or Samsung.

I think we'll see a fundamental testing of the limits of Android fragmentation this year as OEMs have to support so many different phones, starting from various points on 2.x. At what point will they cut off a phone as too old for updates? Will it be similar to Windows where you have an extended support period with only security fixes? Who patches security flaws in your browser on a G1 running 1.6 in 2011? HTC?

[+] enjo|16 years ago|reply
Why? Sense seems to work just fine for me. Every app I've downloaded (I've tried ~100 or so) works great. Sense integrates well, and seems to work perfectly with any integration points it has with 3rd party apps. It really seems to be a thin layer that really dresses up (in my opinion) the overall experience.
[+] rodh257|16 years ago|reply
thats the problem though, traditionally most of the time phones don't get major upgrades in their software. A few firmware fixes here and there maybe, but rarely do they get major updates like android. What benefit do HTC stand to gain in upgrading your old device to new versions of Android?

It may be a symptom of Googles quick development cycles, but its still a problem. It may be one Google cannot solve but this blog post to me didnt address that issue, rather it said this is what we think fragmentation is, look at all the things we do to fix it. But in reality, for me, the fragmentation is mostly about the varying versions of android around.

Perhaps if HTC were to charge you for the upgrade, in order for them to prioritize the development of it? Would you pay $50 for the upgrade if it meant it would happen in the next month as opposed to ages down the track?

[+] moultano|16 years ago|reply
Nice to have some actual information in one of these posts. I'd be interested to hear the experience of android app developers who have had to deal with different phone models. Android's biggest marketing challenge is the disinformation.
[+] davidedicillo|16 years ago|reply
I'll give my opinion as a designer. I want to be able to have control on what my user will be. That's why Pantones exists in print. That's why designers love spending hours to polish their iPhone apps, because they want them pixel-perfect. That's why I curse every time a client of mine tells me he can't see the site well in IE6. Will I start developing for Android as well? Of course, I'd be stupid not to, but I hate the fact I know the UX won't as near as the one iPhone users of the same app will have.
[+] not_an_alien|16 years ago|reply
iPhone devices will see fragmentation soon too. iPad has a different resolution, the next iPhone will too. The problems you see with Android today are just problems that Apple is holding on but that will have to be faced in the future - it won't be the same 320x480 device anymore.

The solution - proper placement, scaling, different layout flow methods - have been around for ages, and it's up to developers to employ them.

And because Android devs had to deal with them already, I can't wait to see the barrage of shit that will happen when devs unprepared for it have to deal with the new iPhone resolutions.