ZDNet's Adrian Kingsley-Hughes had an.
Quoting a third-party report from Chitika Insights and Google's own public stats, it appears that 60% of iPhones are running iOS 6 just 3 weeks after its release, while Android 4.1 Jelly Bean, after 3 months, resides on just 2% of Android devices.
The most 'popular' flavor remains Android 2.3, Gingerbread, which runs on 55.8% of Android devices, despite being three versions behind and not being updated for a year.
After Gingerbread, the next most popular is Ice Cream Sandwich, which after a year has just 23.7% share.
Now, mobile devices have a short lifespan. 2 years is typical; 3-4 years is pushing it. So Google's inability to get more than half of Android users off a 22 month old flavor (Gingerbread was released in December 2010, though to be fair, no devices appeared until after that Christmas) is, in the post-PC era,(which, coincidentally, was released 11 years ago).
Google can take steps like hand out the latest Android SDKs 2-3 months before its official release. That will help ensure that new devices have the latest updates. But it doesn't help with existing devices, which often never get updates.
This is bad for users, who miss out on cool new features or security fixes, but also bad for developers, who are forced to develop for a lowest common denominator lest they cause their app to break.
Kingsley is right when he ascribes the problem to "so many cooks with their hands in the Android broth."
(Speaking of Android, check out the trio of webcasts about managing Android devices and building Android apps for enterprises.)
The handset makers and the carriers each want to customize Android before they release it to users. Often, that means no updates will ever arrive, because neither of the above parties is incentivized to do them. As Kingsley says, "the handset makers have sold you a phone and hope to never hear from you again until it's time to buy again," while "the carriers already have you hooked up to a multi-year contract, and as such don't seem to care about what operating system your smartphone or tablet runs."
Kingsley offers some solutions: work closely with select OEMs and carriers, or bypass carriers in favor of handset makers.
Me? I favor a market-based solution. Sign contracts with carriers and handset makers that explicitly reward them a) the faster they deliver Android updates to users; b) the faster their users download those updates. And give them the chance to earn significant incremental revenue if they truly hit their numbers.
Why? Because reducing fragmentation and getting users onto the latest version of Android makes the latest, greatest apps available to them. That will boost app sales at Google Play. And it will also cut development time and cost for developers, freeing them write more and better-quality games and apps. And that builds the Android ecosystem, in turn attracting more customers.
If I were Google, instead of nagging or beating its partners into compliance, I would make it in their financial interest to update Android faster. Offer a carrot rather than the stick. I doubt Google has tried this approach. But it's the one that I think could make a big difference.