Kind of like IBM compatibles? Or maybe Java-capable phones?
Diversity of hardware is not something to be afraid of. Yes, it can cause a few difficulties, but it also provides a much wider market to sell to at the same time.
Choice is good.
The second pie chart is split by OS ID strings. While it shows fragmentation, it hugely exaggerates it because it counts all builds of a given version, say of 2.2, as unique even though they are built from the same or similar (i.e. bugfixed) sources. Besides that, there a a lot of single digit builds that are unidentifiable based on the name - what version of Android are the two copies of "Interceptor V5", for instance?
As a thought exercise, imagine what that pie chart would look like for any phone OS other than iOS. Symbian http://en.wikipedia.org/wiki/Symbian_OS and Windows Mobile http://en.wikipedia.org/wiki/Windows_mobile (soon to become fragmented again as WP7) both have several major version (i.e. true fragmentation) and many, many different handset manufacturers and flavors within each major version.
Look, fragmentation increaces costs. A well capitalized developer can cover those costs and do the marketing to drive the volumes needed to ensure a good ROI. The economics aren't as attractive to small developers.
Android could end up with a much larger market share than iOS, though they'll be fighting with Microsoft to get it.
Even so, that isn't enough to guarantee a good market for app developers. The Android marketplace hasn't exactly caught on like the App store, not yet.
It seems silly to me to say blankly that "Choice is good." Obviously there are upper limits on how true that can be. If Motorola were designing and shipping and selling thirty different android phones right now, that choice would not be good. The phones would suffer and customers wouldn't know where to begin thinking about which phone they wanted.
The hassles for a developer associated with testing and making apps compatible on such a wide variety of devices are not trivial. It's a tradeoff, and Google is making no effort to control how that tradeoff breaks. Microsoft is taking a different approach. We'll see how that plays into things.
I know several developers who frequently complain about Android fragmentation, but then again they might just be spoiled by iOS.
WP7 doesn't really allow for any oem/carrier skinning though...
Of course, it is hard to fragment 0. http://www.google.com/search?q=windows+phone+7+release+date
With that said, I have yet to write a mobile app, so I don't have real-world experience. It's the lack of definition around "fragmentation" that is bothersome to me. What are some real issues faced by those here who have targeted a wide range of Android devices?
The way to ensure the diversity remains compatible is by building a strong ecosystem around it that requires that compatibility -- the x86 ecosystem is a perfect example. By building applications that work with the Android mainline you create gravity forcing others to follow that path as well.
Saying Android is fragmented because of many unique OS strings is kind of like saying the web is fragmented because of many unique user-agent strings.
It's apparent that TweetDeck understand this, but it seems Engadget just highlighted the "Fragmentation" aspect to drive page views.
If seeing that doesn't scare you...you obviously don't care much about testing or user experience.