Fragmentation IS an issue for Android. If you refuse to believe it, you're just digging your head in sand.
- Smugmug released a camera app for iOS, and then cited fragmentation as delays for the Android one coming out.
- Lets take CM9 for example. Most of the devices (except for the NExus S and GNex) are still focusing on porting device drivers working. Video recording on the SGS2 didn't work til last week. I'm not saying the devs are doing a bad job, but they have to reinvent the wheel for each device.
- Each time a new device comes out, we spend countless hours trying to root it. Every device is different. If all devices could be rooted the same way, how many countless hours would that save?
- The SGS1 phones were very well developed for CM7. They had practically everything working. Why? Because they shared the same hardware as the Nexus S. This worked to an advantage. Things were easily ported over from the Nexus S to all the SGS phones.
- Now take the SGS2. It's just as popular as the SGS1 phone if not more. Leading Android phone. However, what other phone uses the Exynos and Mali stuff? The Galaxy Nexus is quite different. As a result CM7 development for the SGS2 was a total mess. FM Radio doesn't work, the Market freezing issue is well known in the CM7 final. CM9 is a mess too. On the other hand you take less popular phones like the Sensation and other HTC phones, and they're a miracle to develop for.
Look, I admire hardware choice and what not, but imagine if there were only ONE phone for Android. Or let's say 5 global phones. If developers could concentrate on just 5 phones instead of 800 phones, wouldn't development get further?
Screen resolutions like qHD, wvga, Motorola's idiotic 858x480 resolution, 720p, etc make app development hard. I remember one app they developed specifically broke on my Motorola Milesstone because they didn't account for the 858x480 resolution. I worked with them on XDA to fix it. Think of it like developing webpages. Devs hated developing to be compatible for IE6 and IE in general.