

On Android Fragmentation - jokermatt999
http://android-developers.blogspot.com/2010/05/on-android-compatibility.html

======
martythemaniak
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
_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.

~~~
martythemaniak
Maybe it's my web-dev background, but Android reminds me a lot of that. When
designing a web-app, styling it using CSS is such a fundamental part of it,
that it shouldn't be considered a different activity. No one would seriously
put up a webapp that relied on the browser's native rendering of lists, input
boxes etc.

With the iPhone you do get a lot of that polish for free, whereas with Android
the basics won't get you as far. How much more difficult is it? Depends, it's
somewhere between an iPhone and a webapp. IIRC, I probably dedicated about 1
week on my last project to this kind of work, which was around 10 weeks.

Another thing to consider is how much of that polish is simply due to timing -
many iPhone apps have been out there much longer and until it's recent stellar
rise, Android was seen as a second-rate platform with far fewer resources
devoted to it (for example, the Facebook apps).

~~~
Groxx
I see a _ridiculous_ amount of fixed-width webpages, which would imply that
using even fairly simple, standard components in a fluid way is _far_ more
difficult than many developers are interested in doing. _Many_ , not all by
any means.

Ask an average phone user if they think of the UI as a webpage. Given that
nearly all are menu / button based, not links-in-content based, I'd imagine
nearly all will say "no". The expectations differ, so their perceptions of the
same app differ.

Ultimately, which do you want: ubiquitous Android, or geek-only Android? And
guess which the average users (and thus hardware makers) want. The push _will_
be to make it ubiquitous, thus successful apps _must_ compete with the iPhone
_directly_ in usability and "feel", or people will always feel they've got a
second-rate device / application, which is degrading to the whole ecosystem.

(for clarification: different devices on the hardware don't bother me for
programming - use them or don't, it's your app. The many screen sizes however
imply fluid layouts, or huge amounts of fixed + minor fluidity... and clearly
nobody wants to make those if they've got careful design (see: webpages). In
time with a good library or ten, this could definitely change, as would more
focus on design for Android apps. But until that happens, it's fairly damaging
to highly-polished apps, which tend to make money more effectively.)

~~~
theBobMcCormick
martythemaniak said Android UI development is _similar_ to doing HTML + CSS,
he didn't say it's the same. The Android UI layouts are _significantly_ less
broken than CSS, even before you include the clusterfuck that is varying
browsers support for CSS.

If you've ever tried doing a UI Layout for Android, you'll find it's actually
pretty damn easy to support multiple resolutions. If you're actually
interested, here's the canonical resource on supporting different screen in
Android:
[http://developer.android.com/guide/practices/screens_support...](http://developer.android.com/guide/practices/screens_support.html#range)

BTW dealing with multiple resolutions is a problem that's rapidly heading to
the Apple ecosystem. The iPad is 1024 × 768, the current iPhone is 320×480,
the next iphone is rumored to be some multiple of the current iPhone
resolution, etc.

~~~
Groxx
Thanks for the link, hadn't seen anything for Android yet. But it does nothing
to alleviate the problem. Re-post of my other comment:

You still need to make a ton of resolution-specific images if you want the
sharpest possible image, which - again - matters for perceived value. And
you're royally screwed if you do pixel-art instead of something easily
resized.

The issue here isn't for _all_ applications, it's for _highly styled_
applications, which are kicking _ass_ lately and are important for perceived
value of a device. Resolution independence and fluid-ish layouts do indeed
make basic UI _extremely_ easy. But basic UI evidently can't compete equally
with a more stylized UI, as the iPhone shows pretty clearly.

~~~
enjo
_But basic UI evidently can't compete equally with a more stylized UI, as the
iPhone shows pretty clearly_

Support that. I can name several apps on my iPhone that are hardly high-style,
yet useful and well received (Quickoffice, iFitness, Yelp!... just to name 3
on my home screen).

Larger than this. This is something that vector graphics solves extremely
well. You want really nice images at multiple resolutions? Illustrator is your
friend.

~~~
theBobMcCormick
Highly styled apps _have_ taken a while to arrive on Android, but they
definitely _are_ arriving. The new Twitter app for Android, for example, is
might nice looking. (here's an article about it:
[http://blog.twitter.com/2010/04/twitter-for-android-
robots-l...](http://blog.twitter.com/2010/04/twitter-for-android-robots-like-
to.html) , and another here: [http://android-
developers.blogspot.com/2010/05/twitter-for-a...](http://android-
developers.blogspot.com/2010/05/twitter-for-android-closer-look-at.html). One
thing not readily apparent from the screenshots is the way the whole app is
animated. The little bird and cloud backgrounds are animated and _move_ on
almost every screen.

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

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

~~~
biafra
I think the problem with sense ui is not so much the apps but the time HTC
needs to upgrade to the latest Android release on their phones.

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

~~~
jcsiracusa
"it won't be the same 320x480 device anymore."

Well, it'll be 640x960 which is a nice integer multiple of the current iPhone
resolution, allowing older apps to remain visibly unchanged without and code
changes. As for the iPad, it's distinguished from the iPhone and iPod touch
not by its resolution but by its size, necessitating new UI for that reason
alone. I expect Apple to continue along these lines, requiring UI designs
tailored to a few physical screen sizes, using integer multiples of existing
resolutions to insulate developers from these changes.

~~~
ZeroGravitas
No-one seems to mention the downside of this approach. The iPhone is going to
jump from what has always been an okay resolution but is now becoming low
resolution, to what is going to be a high resolution but not for very long
because very similar phone resolutions have been available for about a year
now. Newer devices will continually increase the resolutions available but
Apple can't improve on theirs until they double height/width, and quadruple
pixels again.

Similarly the iPad doesn't have steller resolution, and unless they want the
_dreaded_ fragmentation, they'll not be able to do anything about it until
they can double/quadruple the screen from what it is now.

By locking themselves into these resolutions they wander far from the display
screen sweet-spot either shipping cheap, low-res displays or expensive, high-
res displays. They can't even go to triple current resolution, as that would
still look grubby on the middle device without a separate image which defeats
the point.

And, apart from certain types of apps, it doesn't buy them anything. When
displaying video or images, no difference as it's just scale to fit
regardless. When displaying text in books or websites, they take the quality
hit whenever they're not at the top of the resolution cycle. In return they
get app UIs that are basically hand-drawn pictures and grid-fitted pixel art.

It's an engineering trade-off, and for my particular uses, it doesn't really
pay off.

