Remember when Google used to name Android releases after deserts? It would even put statues of said deserts in front of its office – things were fun back then and more importantly, every new release carried major improvements.
Some were major milestones, the likes of Android 2.3 Gingerbread, the version that was so good that it refused to die. Android 4.4 KitKat introduced extensive upgrades as well, which are surprisingly relevant to this day, eight years after its 2013 release.
First, the name – this was the first release to be named after a branded snack, all the others are generic deserts. This one was going to follow suit with the “Key Lime Pie” name, but last minute deal with Nestle gave us the name we know today. Despite this setback, pies will eventually be recognized for their importance on the table with the v9.0 release.
KitKat came after three releases of Jelly Bean, a version that focused on delivering a buttery-smooth UI. Aside from a few UI tweaks of its own, KitKat’s focus was on improving performance on devices with limited resources.
That was the goal of Project Svelte, which aimed to run Android on as little as 340 MB of RAM, though 512MB was more realistic. Looking back at some statistics, the average phone in 2013 had 1GB of RAM with 3GB being the most that you could buy. This means there were quite a few devices with sub-1 GB of RAM back then and there are such devices even today (okay, they are smartwatches, but the point stands).
Google developers created many tools to shrink RAM usage by the OS and apps. One such tool was zRAM, a compressed segment of RAM where unused data could be stored temporarily to free up room. This is different from the virtual RAM feature you see on current phones, that one leverages the fast internal storage to move data out of RAM. Of course, back in 2013 comparatively slow eMMC was the norm, especially on low-end devices, so such a scheme wouldn’t have worked as well as zRAM.
Another major change was the preparation to replace Dalvik VM with the Android Runtime (ART). The Dalvik virtual machine was crucial for early Android as it allowed software to be hardware-agnostic – ARM, x86 and even the rare MIPS CPUs were supported. Android 2.2 Froyo introduced Just-in-Time (JIT) compilation to speed up application performance, but after several years Dalvik was starting to show its age.
ART uses Ahead-of-Time compilation, basically compiling the app to the phone CPU’s machine code as part of the app installation process. KitKat still used Dalvik by default, it wouldn’t be until Lollipop that Android completed the switch over to ART. But ART is still used today and v4.4 laid the groundwork for that.
We may have undersold how much KitKat changed Android’s UI as one minor change had a major impact – v4.4 allowed users to choose a default launcher in the Settings screen. This was possible in earlier versions, but it was tedious. Now anyone could easily try out different launchers if they weren’t happy with what the manufacturer skin had to offer.
A few more UI tweaks included adopting a translucent look for certain UI components like the status bar and navigation bar. Immersive mode allowed apps to run in full screen, hiding those two bars completely, along with other OS interface elements. A new transitions framework allowed developers to create cool, smooth animations for their apps.
KitKat made the status and navigation bars translucent • The Immersive full screen mode
KitKat added native support for the IR blaster, before that manufacturers were using custom solutions, which were harder for app developers to support. Also, the NFC functionality gained support for host card emulation, allowing the phone to act as a smart card, which is used for mobile payments, loyalty cards, transit passes and so on.
Other new features include wireless printing (over Wi-Fi or online services like Google Cloud Print), the option to certify phones as Miracast compatible, improvements to connections with Bluetooth devices and more.
KitKat made phones more secure by switching SELinux (Security-Enhanced Linux) to “enforcing” mode, which prevented compromised apps from accessing parts of the system they had no business touching. v4.4 also changed how apps access the memory card and simplified the browsing of local and cloud-stored files.
Files stored on the cloud could now be browsed as those stored locally
There are many more tiny improvements that arrived with KitKat. For example, it changed the way how sensor data is tracked to reduce power usage. This also enabled the creation of the step counter feature, which was built into the OS instead of leaving it to apps to implement a power-hungry solution.
Moves and Runtastic Pedometer using the new step counter feature
KitKat’s goal was to reach 1 million users. About a year after its release, v4.4 KitKat was already running on one third of Android devices and it wouldn’t be until mid-2015 before KitKat caught up with Jelly Bean. It never hit 50% adoption as Lollipop was already out by that time and gobbling up market share. In late 2015 Android was running on 1.4 billion devices in total, so KitKat never got to power a billion devices.
But Android 4.4 KitKat’s legacy isn’t about how many phones it ran on in its heyday. The RAM optimizations that made the OS bearable on low-end devices, the performance and security improvements, plus the new connectivity features it introduced are still relevant even in version 12.