Since the release of the Google Nexus, Android has enjoyed rapid expansion and success, but is Android a victim of its own success? There are literally hundreds of Android devices. Each device has a different hardware configuration. The result is a wide disparity of capabilities across the market. CPU, camera, flash, internal memory, Bluetooth, network, screen resolution, and wireless specifications can be vastly different on any two given handsets. To compensate for the diversity of these devices, developers must either abandon devices or develop for the lowest common denominator. The situation is illustrated by Rovio, the maker of Angry Birds, who has been forced to officially ignore nearly twenty phones. That's more than the total number of iOS devices.
Carriers and manufacturers have exploited Android's "open" platform as a means to add their own features in an attempt to differentiate themselves in the marketplace. Aside from often creating usability problems, these unnecessarily customized versions of Android have delayed firmware updates for older devices, and even resulted in carriers abandoning phones entirely. Presently there are eight versions of Android application framework API that a device can support. With no clear upgrade path for many devices due to UI extensions like HTC Sense, the platform is even further fragmented.
Google's official line on the topic of fragmentation is that it's a non-issue. According to Android's Dan Morrill, "Fragmentation is a bogeyman, a red herring, a story you tell to frighten junior developers. Yawn." Yes, Dan, were Google to enforce their own Compatibility Definition Document with carriers and OEMs, that statement might even be true.