[citation][nom]guru_urug[/nom]I believe when iOS devices are updated, the older models dont get all the features of the new OS. The same is not true for Android.Im sure the good guys at xda will get 4.2 to these two devices. Anyway the jump from 4.1 to 4.2 is not as huge as the jump from 4.0 to 4.1. I'd be happy with 4.1 if I owned the nexus s[/citation]
This.
I have an old Nexus S laying around that I have updated to JB and I am impressed with how smooth it runs. I prefer Google to keep it honest in terms of what OS version the phone REALLY runs on it instead of just changing the build.prop to show the latest and give me the "latest crippled" version instead.
I could change the build.prop myself if I wanted to, and boast I run Android 10.3 on it, but that doesn't make it so.
[citation][nom]flaxx[/nom]...and the iPhone 3GS, a product older than the Nexus One, is on iOS 6.01 (the very latest version of iOS). [/citation]
If you believe that the older iPhones run the full-fledged iOS 6.01, I have a bridge to sell to you.
Apple just slaps a new shinny label on that thing and claims it's the same as the iPhone's 5.
To be honest, you don't want the older devices to be able to run the latest version of OS, because that means the OS has not really evolved at all (which, unfortunately, is the case for iOS - case in point, the clunky pseudo-multitasking).
OTOH, you could argue it doesn't matter, because the iPhone hasn't really changed that much either. It's basically ONE device that ONE manufacturer has to manage.
About fragmentation: guess what? It doesn't matter.
Imagine this: a world where HTC was the ONLY Android OEM, and they have their HTC ONE series as the only phones available (OneV, OneS, OneX). Fragmentation would not exist for Android, because all these phones would run the same version, which is whatever HTC decides to dish out for it's customers. To me, fragmentation=options, and I prefer the options we have now vs. a world in which everyone is forced to use the same thing.
Plenty of people still run WinXP, plenty have Vista and plenty have Win7 on their PCs. If you take into account the few different flavors of each of these iterations (Home, Professional, Basic, Ultimate, 32bit, 64bit etc) you could say Windows is even more fragmented than Android. So what? To each his/her own. Everyone should run whatever version their hardware supports and they're comfortable with. Or, have you even considered how fragmented the auto industry is? I mean, all engines run on oil-derivatives (gasoline, diesel), but cars are so different from one another, I can't stand this fragmentation anymore, dammit, please, everyone should make only one make/model, and the only way to tell them apart should be the body paint.
Last but not least, Android offers the option of rolling back the botched updates, if needed; it's called nandroid. Same for Windows; it's called a OS DVD (or flash drive), not to mention the System Restore. Good luck trying that with iOS. Once Apple has decided to mess it up for you, you're stuck with that. Plenty of people I know that wish they never downgraded to iOS 6, but they're SOL, because Apple does not make iOS code available to developers, you can't get a system dump, you can't get anything like that.
Bottom line: if you're so upset that your phone doesn't show the latest JB version, pull an "Apple" on it and change the build.prop to show whatever you want it to show in the "about phone" section. It doesn't matter anyways, as long as your phone runs as intended you shouldn't change anything else, unless you're really into that sort of thing (flashing ROMs left and right). But then, you're deep in geek territory and you already know what I've been talking about here.