Android is not fragmented. Android has a version problem but that more accurate statement doesn't sound as cool nor as dramatic. There is a big difference between fragmentation and versions. If you are stuck on an older version of Android, you have no shortage of places to point your finger like the OEM that made the device, the carrier that blesses updates, or even Google that issues them.
What Google did between versions, however, was pretty bad. Going from 2.x to 3.x and then 4.x, they made some significant changes to Android and notably the UI components. Many apps from earlier versions would run on later versions, but wouldn't look right. Apps written today for ICS require special handling to support previous versions. I haven't dove into multiple version support yet, but it's a pretty nasty mess. Google did create a compatibility API/SDK components which abstracts some of the messiness of supporting many different versions, but it isn't without its quirks, and few developers have re-written their code to support it.
In general, developing for Android is harder than it should be and supporting all of those versions it difficult. If you are developing an app, do you write to the 2.x train which is old or the 3.x or 4.x? Wait, 5.x is coming.
Mike Fratto is a principal analyst at Current Analysis, covering the Enterprise Networking and Data Center Technology markets. Prior to that, Mike was with UBM Tech for 15 years, and served as editor of Network Computing. He was also lead analyst for InformationWeek Analytics ... View Full Bio