Over on the Android Developers’ Blog, we just published On Android Compatibility by Dan Morrill, who manages both the Open-Source and Compatibility work here.
It’s like this: The source code is the technology. The Compatibility Definition Document is the policy. The Compatibility Test Suite is the OEM tool. And the Android Market is the enforcement mechanism.
I think it’s an important piece, because there’s been a lot of talk around these issues and, as far as I know, nobody had ever written up, for anyone except the OEMs, exactly what the Android policy and mechanisms are. My feeling is that anyone who wants to hold forth on these subjects really ought to invest some time reading this, as well as the documents it links to.
Comment feed for ongoing:
From: Gary (Jun 01 2010, at 17:39)
I personally take issue with a quote I read during the I/O; "People call it fragmentation but that’s the wrong word for it. I think the right word is legacy".
I disagree with this as it makes the assumption that devices were well supported before they got old. For example there are many Android phones (GSM HTC Hero, Motorola Dext, Samsung i7500) which are months old but are still running the same Android version that they launched with!
I understand that this is a manufacturer related support issue but when I see Google shrugging off the 'fragmentation' issue, as a HTC Hero owner I can't help but feel a little bit left out in the cold because this 'bogeyman' is standing in the way of some pretty cool Android updates/apps!
From: Richard Sewell (Jun 03 2010, at 09:36)
I'm not sure it really makes any difference what you call it.
The effect is the same - if you have a lot of variants of an OS out there in the wild, it will be harder for developers to exploit the new features of the newer versions, and it will be harder for developers to build products that work well across all the devices they may find their code running on.
It seems clear now that device vendors are not going to put out upgrades routinely, so we'll still be supporting users with (say) CLIQs on 1.5 for a couple of years to come.
From: Matt J. (Jun 11 2010, at 18:26)
I read Morrill's comment on Fragmentation to which you now refer. He is dead wrong about his first point. Fortunately, he is quite right about his important point. But since 1 out of 2 is not a passing score, he missed an opportunity to describe how Android addresses the fragmentation problem better than any previous mobile phone platform.
For the word 'fragmentation', despite Morrill's protests, is a valid word to use, and has real meanings. In fact, it has several of them, as was well outlined in an obscure Master's Thesis for the University of Tartu (an example of internationalization), in which Andres defines 1) device-level fragmentation, 2) standardisation fragmentation, 3) API fragmentation and 4) implementation fragmentation.
All of these have been a major blight on JME (aka J2ME) phones, none of them are a serious problem on Android -- thanks to Google's diligence.
So it is simply not true that the term is meaningless.
The Thesis is at http://dspace.utlib.ee/dspace/bitstream/10062/1071/5/tederandres.pdf. Even though it was written and accepted as far back as 2006, it is still excellent reading even for today's market.