Android is full of little features, some of which are surprisingly important for how little we talk about them. Many older ones helped shape the Android we know today.
Here are ten particularly important older Android features.
ART and AOT (Android 5.0 Lollipop)
Android Runtime (ART) was a huge deal when it officially launched in Android 5.0 Lollipop. With ART came ahead-of-time compilation (AOT), improved garbage collection, and tons of other features. They were mostly for app and game developers, but these changes helped apps launch and operate more quickly than ever.
ART was one of the biggest changes to early Android.
ART received tons of improvements between then and now. Android 7.0 Nougat added support for JIT, or just-in-time compilation for faster device boot times. Android Oreo improved garbage collection and lower pause times. Android 9 Pie added support for ahead-of-time conversion of DEX files.
It would take all day to list all of the under-the-hood improvements ART brings to the table because it continuously gets better every year, even if we don’t really talk about it much anymore. Even the upcoming Android Q has a few small improvements to ART.
Batch and automatic update apps (Android 2.2 Froyo)
Android 2.2 Froyo turns ten years old in 2020, and one of its best features still remains. It was the first version of Android with native support for automatic app updates, as well as batch app updates. There isn’t much technical babble with this one. You can hit the button in Google Play to update all of your apps at once in the background and it’s thanks to Android Froyo.
This feature also received improvements over the years. In early 2019, Google began testing simultaneous app downloads after removing the feature some years ago. This would theoretically make the process of updating all of your apps at once even faster.
It's hard to imagine updating Android apps manually and one at a time.
Consequently, Android Froyo also introduced Android features like support for HD (720p) displays, Wi-Fi hotspots, GIF support for the stock browser, and the ability to connect your phone to your car’s Bluetooth — a feature many people use every day.
Hardware Sensor Batching (Android 4.4 KitKat)
Android KitKat gave us another great feature with hardware sensor batching. This was one of the first real attempts from Google to get battery life under control. The premise is simple: Sensors would collect and deliver data in batches instead of in real time. This allowed devices to stay in a lower power state for longer and save battery.
Google eventually emulated this behavior on the software side as well. Doze Mode restricts app usage in the background and defers app syncing to a maintenance window. Basically, it puts all apps to sleep except for small windows of time where they can update, send notifications, and use the CPU. Hardware sensor batching works very much the same way.
The feature has other uses as well, including fitness (step tracking), location tracking, and other monitoring. Android 4.4 KitKat also added support for step tracking and the step tracking feature works with the hardware sensor batching.
Host Card Emulation (Android 4.4 KitKat)
Host Card Emulation (HCE) is kind of a big deal, and it has an interesting little story. Originally, Google used a Secure Element (SE) chip on phones to store your payment details. The SE was heavily encrypted and secure to avoid data theft. However, Verizon, AT&T, and T-Mobile blocked Google Wallet in favor of its Softcard (formerly ISIS) initiative by preventing Google Wallet from reading the Secure Element.
In response, Google launched HCE, which intercepts the communication transmission from payment terminals and sends it directly to the OS instead of the Secure Element module. The OS creates a token to represent the actual card and sends it back in place of your actual debit card number in a process called tokenization. HCE also runs in the background without any input from the user, so you can just tap and pay even if your phone screen is off.
Google made HCE to keep consumer's options open after carriers tried to limit those options.
HCE eventually killed off the need for Secure Element hardware in the first place and carriers gave up, selling Softcard to Google in 2015. It’s worth noting because tokenization and using tap-to-pay on your device is actually more secure than using a physical card.
OMS and RRO theming (Android 6.0 Marshmallow)
Runtime Resource Overlay (RRO) and Overlay Management Service (OMS) are two theming frameworks in AOSP Android. Sony put both frameworks into Android and it exists in many devices today. The official debut for it was Android Marshmallow. RRO came first and was eventually supplanted by OMS, but they both do mostly the same thing.
Most apps have XML files with things like color, layout, and other design elements. OMS let you overlay your own custom XML files instead for a customized look. Thus, you can turn an app with a white background and black text into an app with a black background and green text without affecting how the app actually works.
OMS is as close as Google has ever come to native theming in AOSP Android.
This isn’t something you can just use, but OEMs and themers use it often. Apps like Synergy, Substratum, and Pluvius use OMS for root and non-root theming depending on your version of Android. Samsung started using OMS with Android Oreo for its themes as well. These theme engines simplify the process of creating, customizing, and overlaying XML files to make it easy enough for most people to use.
Unfortunately, the future for OMS is unclear right now. Google turned off support for it in Android Pie on purpose, which incited fury in the theme community. Here is a good interview with a few of Substratum’s creators, where they explain how they use OMS a little bit more.
Project Butter (Android 4.1 Jelly Bean)
Project Butter was one of the most important Android features back in the earlier days of Android. The project includes a number of improvements and tweaks to make the system UI run smoother and faster. Earlier Android devices really struggled with input lag and stuttering. Over time, Project Butter largely fixed all of them.
Project Butter brought other optimizations, like triple buffering, VSync, and improved touch responsiveness. These features let the OS run at 60fps and better synchronized the display with the CPU and GPU for smoother performance. Of course, all of this stuff improved over the years with newer versions of Android.
We’ve seen the march for buttery smoothness continue with 90Hz and 120Hz displays as early as 2015. Can you imagine how bad those displays would look before Android 4.1 Jelly Bean?
Recent apps and App Switching (Android 3.0 Honeycomb)
Recent apps mode was a big deal when it launched on Android 3.0 Honeycomb. It was Android buying into multitasking, one of the big features it had over iOS at the time. The recent apps button let you see all of your open apps in a single interface, switch between them at will, or close them out entirely if needed. This functionality alone basically killed the task manager app market, the same way the flashlight toggle killed the flashlight app market. Android still uses the swipe-to-close method in its recent apps to this day, albeit with some enhancements and visual changes.
For an OS that only ran on tablets, Honeycomb had a lot of forward thinking ideas.
Eventually the feature improved with a bunch of other functions, like a Clear All button for quick app closing, app pinning to keep apps open, and, best of all, app switching. App switching works the same way as Alt-F4 on a Windows PC. You can quickly switch between the two most recent apps you used with a double press of the recent apps button. Android Pie added a swipe gesture to quickly switch between any two apps.
Google is revamping Android’s gesture controls again with Android Q. It’ll probably change how recent apps work as well, but we’re pretty sure recent apps will still be there. It’s definitely one of the biggest and most important Android features of all time, and it was one of the few that were so important that it made it onto the home screen controls.
Soft keys (Android 3.0 Honeycomb)
Many take soft keys for granted. In the rush to get gesture controls into Android Pie and Android Q, it’s worth stepping back and looking at what a monumental impact soft keys had on phone design in the early 2010s. Before soft keys, device OEMs had all manner of buttons all over the device. Android 3.0 Honeycomb, and later Ice Cream Sandwich, put an end to all of that and helped usher in the era of the clean, button-free candy bar phone we all know today.
Soft keys evolved over the years, mostly in size, shape, and design. You can long press home for Google Assistant, change button theming with things like Navbar Apps, and some OEMs even let you add new soft keys to the bottom row.
Unfortunately, it won’t be long before soft keys eventually exit, as gesture navigation is taking over. Soon, we’ll all be swiping and dancing our fingers around like Dance Dance Revolution players.
Soft keys will always hold a special place in Android’s history as a singular feature that shaped how phones were designed for years.
TRIM support (Android 4.3 Jelly Bean)
TRIM support isn’t original to Android or a newer feature, but it was very important. Linux added it to the kernel back in 2008. Microsoft included support in Windows 7 back in 2009. Apple added it to OS X in 2011, and has a unique TRIM method for iOS devices. Android 4.3 Jelly Bean finally added the feature in 2012, admittedly a little late to the party.
TRIM is a simple but important feature, and it deals with flash storage. Flash storage, unlike mechanical hard drives, has a bit of trouble with writing new data. It can write quickly to empty space, but if data needs overwriting, the process takes significantly longer.
TRIM was a minor, but surprisingly important addition to Android.
This caused massive slowdowns over time and may have contributed to premature obsolescence of many older Android devices. TRIM prevented the slowdown by essentially managing the flash storage, including its garbage collection and free space allocation.
Many attributed the Nexus 7 2012’s slowdown issues to a lack of TRIM support and reported performance gains after an update to Android 4.3 Jelly Bean. TRIM isn’t one of the most glamorous Android features, but it’s certainly one of the most important and your phone still uses it.
USB Host Mode (Android 3.0 Honeycomb)
USB Host Mode is a powerful feature that doesn’t get the love it probably deserves. It originally debuted on Android 3.0 Honeycomb and most people used it for its USB on the go (OTG) capabilities. But the mode does a lot more than that.
USB Host Mode is what lets us use USB mice and keyboards on Android devices, as well as MIDI keyboards and other specialized tech. Basically, if you can hook anything up to your phone and use it through the USB port, you can thank USB Host Mode.
Android 8 Oreo added support for two-factor authenticator keys. Android 9 Pie brought the ability to charge devices and transfer files simultaneously. Most versions of Android have improved peripheral support and access as well. If Google ever makes an Android laptop, USB Host Mode will be the key to making everything work right.
More posts about Android Q
It’s hard to believe sometimes, but Android is much bigger than camera quality and notches. A bunch of software features helped drive the platform forward, even in the background where we didn’t always see it.
What is your favorite Android feature?