I completely agree. Using 4.x today allows to write code in a much cleaner and efficient way; a few examples: gestures (for iPhone), blocks, GCD. Besides multitasking and background processing allows features that were impossible to get or required complicated hacks. And now that we must provide iOS4 and iOS5 mixed compatibility, we cannot absolutely maintain any compatibility with iOS3.
It is quite impressive that in just over a year developers are able to start requiring iOS 4.
I hope that iOS 5's OTA updates we could get to the point where iOS versions older than a few months are considered obsolete.
Apple has done a great job at fostering this culture of upgrading as soon as possible. Microsoft and Google still have problems were the average consumers see OS updates as something that can cause problems, not bring new features.
>I hope that iOS 5's OTA updates we could get to the point where iOS versions older than a few months are considered obsolete.
While a very nice idea, I'm not convinced it much will change due to old hardware being incompatible with new versions of iOS. It's rarely the x.y versions which are the barriers to progress, but the x.0 versions.
That is true but Apple does seem to have a higher adoption rate with their physical products. iOS 4 killed support for the original iPhone and now iOS 5 is killing support for the iPhone 3G.
When the iPhone 5 comes out this fall I think by June of next year there will be enough penetration of iOS 5 that some apps will be able to put that requirement on it.
Heck if we're lucky iOS 6 will finally kill support for non-Retina displays.