You are too naive about the FCC secrecy.
I've done an FCC submission. Have you?
As I pointed out, Apple has used the methods I talked about, in order to totally hide a new iPhone model until the day it was debuted.
This notion there all these demos of smartphones in 2006 doesn't ring right. I don't think Android etc would have been caught off guard so much if these other phones were out there.
They weren't caught off guard about future products with capacitive finger friendly screens. They were caught off guard by Apple's jump to production a year of everyone else.
And I don't think Apple is that concerned about being first to market.
You're right, which is why I didn't say they were concerned about first to market.
Jobs wanted to be seen as first to invent, which is why he broke with all his usual secrecy, and revealed an unfinished product six months ahead of going to market.
Isn't some fragmentation inevitable? The point is to keep it to a minimum. Could you produce a fragmentation infographic for Android as easily? No, it would be huge with 1000's of incompatible devices.
Not really. There's only a handful of basic screen resolutions and device feature sets. And, unlike the way iOS development was done for years, Android developers avoided hardcoding screen positions to the point of being dependent on exactly how many pixels a display had.
How do Android developers chose a version to support?
The same way that good iOS developers "choose": by supporting as many versions as you can.
Heck, most apps don't need anything beyond the most basic APIs, so they can easily work on even the oldest devices.
If/when you need a more recent feature, a good developer either uses an addon replacement library (Google often supplies those for older devices), and/or checks and uses a different option (common with both Android and iOS).
Here's a good article on supporting multiple versions under iOS. The same techniques are used with Android:
http://www.raywenderlich.com/42591/supporting-multiple-ios-versions-and-devices