> Circa 2002 they had '95, 98, ME, and XP spread across over half a billion units. With further varied patch configurations and service packs.
It's worth pointing out that this comparison isn't the same. You could, in 2002, run the latest version of Office on all of their operating systems. With Android, there are situations where even Google's own software (see Chrome on Android) only runs on the absolute latest version.
Further, in 2002, all the big name vendors were generally shipping Windows XP on their machines. With Android, vendors are still shipping devices with 2.3. It's still a good OS, but it has to be frustrating as a non-tech user to understand why your brand new Android device can't run software released last week.
Chrome is a beta released three weeks ago. And while I like it, it's a long way from being production quality. Are there any other examples of ICS-only software? Anywhere? Really the only serious bump in the Android API has been Froyo. There are lots of apps that require Froyo. Honestly I can't think of a single one (other than trial stuff like Chrome or niche things like handset-specific root tools, etc...) that requires even Gingerbread, much less ICS.
I thought that was part of what Frasier is getting at, fragmentation gets you both coming and going.
Both ICS and iOS 5 were released at about the same time, iOS 5 is now the majority OS for iOS devices. On the other hand, ICS is available on about minuscule percentage of Android devices.
Software written for ICS won't work on the vast majority of devices and there is little incentive to write for ICS (which will keep hurting Android tablets).
Developers can start taking advantage of iOS 5 APIs today and incentive is growing. At this rate, iOS 6 will be the majority OS on iOS before ICS gets that title for Android.
Except that you can build apps that are optimized for ICS and that degrade nicely for older versions / less capable devices.
That's how smart developers always operated. I remember when Id's Quake 1 first appeared ... I could play it on a 2 year old Pentium processor on MS-DOS 6.22, even though Windows 95 was capturing the headlights.
You can start taking advantage of ICS APIs today. It's more work because you have to test and workaround older versions too, but the thing that differentiates Android from other frameworks is that it was built with degradation in mind.
Which is a valid point, I think. New features don't get adopted quickly in Android apps because of the need to support legacy handsets (one big one was the gesture support that landed in Gingerbread -- Froyo-compatible apps can't use it, or must use it only for non-critical functionality).
But no, that was clearly not Frasier's point at all. "With Android [...] even Google's own software [...] only runs on the absolute latest version." is a complaint that recent software isn't backwards compatible. And that's just wrong.
It does not change his point. Many Windows users are not regularly applying security patches or upgrading to the latest Windows version, making the Windows ecosystem fragmented, yet this did not prevent it from becoming a market leader on desktops, with a large Windows development economy flourishing and producing apps compatible with many different Windows versions and service pack levels.
For the same reason, Android fragmentation is a non-issue.
or upgrading to the latest Windows version, making the Windows ecosystem fragmented
No, this did not made the Window ecosystem "fragmented" in the sense that Android is. Windows always had excellent backwards and forward compatibility, which meant you could develop for XP and still run on Vista and vice versa. You just couldn't take advantage of the latest and greatest APIs, but most apps used the classic APIs anyway --you still had access to the whole of the OS and hardware across all Windows versions, even with a custom built C API or MFC.
On Android devices you are cutoff from using tons of features if you can't deploy to the latest versions. And you have to walk a very fine line to make it compatible with all versions/form factors, and mostly cut corners.
For the same reason, Android fragmentation is a non-issue.
A, the classic "lalalala, fingers in the ears" argument.
Android too offers excellent forward compatibility! It is easy, as API changes are generally additive. I challenge you to find a few different apps written for, say, Android 1.6 that don't run on 4.0. I am sure some examples exist, but they are rare. In fact, I would even argue that Windows apps fail more often to be forward compatible than Android apps, because of the sheer complexity of the Windows software stack compared to Android.
As to backward compatibility, just like on Windows, it is the developers' responsibility to ensure he refrains from using APIs that are too recent. For example, if you write a Windows Direct3D 10 game, it won't run on XP because this API is only available on Vista and up. Same thing for Android: select the right API level when developing your app! http://developer.android.com/guide/appendix/api-levels.html How is Windows better/different than Android in this respect?
I speak from experience. I have developed on both Windows and Android, contrary to most people in this thread.
Handset vendors and carriers push security patches routinely (though not commonly, the sandbox architecture makes it a lot less needed than on a desktop OS). It's OS upgrades that are slow. Holes get closed.
You distinguish between security updates and OS updates. I'm not aware of any difference, an update is an update. I've never seen an OTA update that wasn't a point release. How are these deployed differently?
The article links another article which shows, graphically, how long a number of popular Android phones were getting updates - including security patches. According to it, Android users are lucky to be getting updates after a mere 10 months. Including security patches. And that's assuming you buy the phone immediately after it hits the market.
There are many, many unpatched vulnerabilities on Motorola Milestone XT720 (and many others). Google doesn't even release security patches for old releases (until recently)--their opinion seems to be that all manufacturers should update to Gingerbread or whatever the latest OS happens to be. Google finally seems to have pulled their heads out of the sand or stopped humming with their fingers in their ears recently and made security point release for Froyo a few weeks ago that backported some security fixes that had been in Gingerbread for a long time, though.
To be fair, when iMovie launched (an Apple app) it only worked on the brand new iPhone 4. If you had a 3GS (i.e., hadn't upgraded yet), you were out of luck. It didn't matter that you had the latest iOS. You didn't have the latest hardware so you couldn't run it, although oddly you accidentally buy it through the app store.
> With Android, vendors are still shipping devices with 2.3.
How is this bad? Do you realize that 4 months ago, 2.3 was the very latest Android version available for phones? Its successor, 4.0, was barely released in Nov 2011 (3.0 was for tablets only). A few months delay is perfectly understandable because vendors need time to customize, build, test, ship, and clear inventory levels of devices running the previous Android version.
> You could, in 2002, run the latest version of Office on all of their operating systems.
This statement does not prove that forward/backward compatibility is easy in Windows. How much time did Microsoft waste into making Office run flawlessly across a wide range of Windows versions? With an application the size of Office (30M lines of code), it is almost certain that it has hundreds, if not thousands, of workarounds for limitations or bugs affecting the oldest Windows versions that Office needed to support.
Office is Microsoft's own software. And 2002 is still one year later compared to when XP was launched. Manufacturers generally start using the new version of Android 6-12 months later, too.
The difference between Windows and Android is that even if Microsoft finished XP in 2000, they waited until all the manufacturers put it on new hardware to release it. Google doesn't do that. They release it as soon as it's ready, and then manufacturers have to put it on hardware. It's just a matter of perception of who has it "faster".
But I suppose Google could do the same - finish Android 5.0 this spring, and then only release it in winter with a bunch of manufacturers at once.
As for Chrome, this is really an exception, and I don't think you can point any other example where an app only works on Android 4.0. This happened because Android 4.0 is a pretty big overhaul, and Google didn't want to bother with the legacy, when they know that within a year 50% of Android devices will have the 4.0 version. They just wanted to take advantage of all the new API's and not have to find workarounds for the other versions. It's kind of like Microsoft not wanting to make IE9 work on XP anymore, because it's a much different version than Vista and 7.
>The difference between Windows and Android is that even if Microsoft finished XP in 2000, they waited until all the manufacturers put it on new hardware to release it. Google doesn't do that. They release it as soon as it's ready, and then manufacturers have to put it on hardware. It's just a matter of perception of who has it "faster".
Is the XP timeline an idle speculation on your part(as seems to happen with your posts about MS) or do you have references to back that up? You couldn't be wronger.
Microsoft regularly shares builds with OEMs so that they can start optimizing their hardware and even publishes beta versions to the public so even small developers can start making their software compatible.
What do we get with Android? For something that's supposed to be open source, the source gets thrown over a wall at release. One OEM does get a head start at the expense of others though.
Microsoft just released Windows 8 developer and consumer previews, did Google do that with ICS?
>It's kind of like Microsoft not wanting to make IE9 work on XP anymore, because it's a much different version than Vista and 7.
IE8 came up almost 10 years after XP. Not to mention that Vista and Windows 7 were on atleast 40% of mahines then and selling on almost 100% of machines. With ICS the numbers are 1%.
My understanding is that Chrome on Android is still very much in Beta and they are intentionally doing a very limited release while the major bugs are being worked on. Isn't IE9 only available for Vista and 7 while XP still has neck and neck market share with 7?
It's worth pointing out that this comparison isn't the same. You could, in 2002, run the latest version of Office on all of their operating systems. With Android, there are situations where even Google's own software (see Chrome on Android) only runs on the absolute latest version.
Further, in 2002, all the big name vendors were generally shipping Windows XP on their machines. With Android, vendors are still shipping devices with 2.3. It's still a good OS, but it has to be frustrating as a non-tech user to understand why your brand new Android device can't run software released last week.