A recent barnburner of bad intelligence by David Gewirtz has one thing standing out in particular to me: He doesn’t seem to know how to add.
I don’t know David. But I do know how to count. His terrible article makes the even-more-terrible thesis that fragmentation in the Android API, will destroy the platform, and Microsoft will take over with UWP.
I’m not going to berate Mr. Gewirtz here, or debunk his lunacy-grade Linux kernel claims (especially as they pertain to Android), but I will tell you that the crux of his thesis is due to his inability to add. In the article, he claims that Android 4.4, KitKat, is the most-used version of Android today.
The most common version of Android in use today is KitKat, a version of the operating system released more than a thousand days ago. – David Gewirtz in the aforementioned article.
He claimed this because it had the highest percentage of users in the Android dashboard table.
Only, it doesn’t. If you look at Lollipop, Google breaks Lollipop down into two API versions – Android 5.0 and Android 5.1. But both 5.0, and 5.1, are cumulatively, Lollipop. There is a small API difference between the two. But – and here’s the important point – Lollipop 5.1 is binary-compatible with Android 5.0 APIs. That is why they’re both called, you guessed it, Lollipop.
Hence, Lollipop 5.0 is the most used version of Android today, as all Android 5.1 devices can run Android 5.0 (API 21) targeted apps without issue. That’s one of the huge benefits of Android… if a new version isn’t so hot, you can simply target the older API version, and everything is fine. But that destroys the whole thesis of David’s argument, ahem.
To give Windows loyalists a comparison, you wouldn’t describe Windows 10 Anniversary Update installs as a different generation of Windows, from the original Windows 10 RTM. Because UWP, like Android APIs, is backwards compatible – ensuring a Windows 10 RTM UWP app runs just fine on the Anniversary Update build. Hence, Windows 10 is one block – just like API 21 and 22 Lollipop builds are equally homogenous.
I dove deep on this not for word count, but because I’m sure someone would claim that API 21 and API 22 are separate, and thus, API 19 (KitKat) has a larger percentage. So I had to make clear that API 22 is backwards compatible with API 21 – which if you built Android apps, you would know. I don’t expect David Gerwitz to understand stuff like that… I do expect him to ask good questions before claiming KitKat is the most used version of Android. As I’ve dissected just now, it isn’t – on every level. API 21 (Android 5.0) has a plurality of users, as API 21, 22, 23 (Marshmallow), and 24 (Nougat) devices, are fully compatible with API 21’s apps.
They have to be, or else they legally (per Android CDD) can’t call themselves Android devices.
No matter how you count, by devices or by API compatibility, Lollipop is the most used version of Android today. No ifs, ands, or butts.
Which is greater in this picture? Lollipop or KitKat? You and I know, 35.5% (Lollipop) is greater than 29.2% (KitKat)
Lollipop is only one major version behind Marshmallow, and Nougat has not yet even fully shipped. It is not yet available for all Nexus devices, even. I can’t even build Nougat for my new Nexus 6 from AOSP yet, as neither the restore images nor the AOSP drivers have been posted. And, the Nougat CDD is not public yet, either – ahem, Google.
More people use Lollipop, and more apps are compatible with Lollipop devices, than with KitKat. Saying anything otherwise, is dead wrong.
I’ve seen a few questions on social media asking what API 20 was. The answer is pretty simple: It was reserved for Android Wear 4.4.
Because Android Wear debuted after KitKat, but before Lollipop shipped, it required a separate set of API changes, hence it got its own API designation.
API 19 – Android 4.4
API 20 – Android Wear 4.4W
API 21 – Android 5.0
API 22 – Android 5.1