i dont understand what this segmentation is your talking about? could you elaborate please
This guy explained it from a Developer's perspective fairly well here:
http://www.zath.co.uk/problem-with-android-version-hardware-segmentation/I think he glossed over (though did mention) the larger problem from a user's perspective, which is versioning segmentation. A perfect example:
1. If you bought the HTC Dream (the Google G1) which was released on October 22, 2008, you are still stuck on Android 1.6. To move to a newer version, you have to buy a new phone. This was true even while you were still almost certainly under contract with your provider, so buying a new phone wasn't a simple matter, even if you wanted to.
2. If you bought the Apple iPhone 3G, which was released a few months
earlier on July 11, 2008, you can be (and usually are) running the current iPhone OS 3.1.3, and will still get a free and immediate update to 4.0 when it ships. You might not always get all the new features, but you get bug fixes, improvements to the browser, Application compatibility, and all the other stuff.
With Android, when Google releases a new version you have to wait for your handset maker to convert the new OS to work on their phone, and wait for your provider to decide to bless the release, and then finally you
might be able to get it. In practice, this has been extremely slow, and often never actually happens (despite promises to the contrary). The handset makers and cell phone providers would both absolutely rather just sell you a new phone, so they have no "motivation" to actually do all that work for no monetary gain.
Another perfect example is the Motorola Droid. It was released on November 6, 2009 and came with Android 2.0. Just two months later, the Nexus One came out on January 5, 2010 with Android 2.1 (which had substantial improvements to some core applications). Motorola Droid users didn't get the update to 2.1 until
late March 2010. In fact, after the Nexus One came out with Android 2.1, there were still phones being
released that were limited to Android 2.0. Who knows what will happen when FroYo (the next-gen Android release) comes out!
Not only is this a frustrating pain for end-users, it is an absolute nightmare to developers. So, if you're writing your code, do you write it for Android 2.1? Android 2.0? Android 1.6? Or for the still-not-insignificant set of users on Android 1.5? And that's not even considering hardware support. With a wide variety of screen resolutions, CPU speeds, GPU capabilities, button-sets, and everything else... How can you be expected to write an app that will work for everyone's device? You can't unless (a) you write a different version for each and every device you want to support separately, or (b) you write only to the lowest-common-denominator, which means all the apps are limited to what the HTC Dream could do (hint: not much).