Tuesday, December 31, 2013

A review of Android 4.4.2...

Been away for a while. There's not been a lot of time to review things nor have I had much to review. I'll probably have another rapid review soon, but for the moment, let's take a look at Android 4.4.2.

Note: I skipped over reviewing Android 4.3 because I thought it was really more incremental than essential. 4.3 can be basically summed up as Bluetooth 4.0 LE support, TRIM support, auto-complete in the phone dialer, some minor Bluetooth boosts, a few graphical tweaks, revamped camera app, and a lot of under the hood changes.

Android 4.4 KitKat brings some of the most significant changes to the operating system since Ice Cream Sandwich 4.0. On the surface, the first thing you'll notice on stock Android is the removal of holo blue accents from the operating system. The designers for Android have stated that the holo blue actually interfered with a lot design aesthetics for the system and a switch to a more neutral tone helped bring out the apps instead of focusing on the OS UI.

Personally, at first, I was apprehensive about the change. It took a long time for me to get used to the holo blue theme after becoming enamored with Gingerbread's green. Now, I'm being corralled to another style. Thankfully though, it's actually grown on me due to the semi-transparent notification and navigation bars. At first I thought this transparency would cause issues seeing the clock or buttons, but it didn't prove so.

The only negatives I have with it is there are still some holo blue accents in the system. While the clock, navigation bar, quick settings toggles, and a few others have gone all white, you still have some suspiciously holo blue areas like the settings menu quick toggles for the Wifi and Bluetooth, plus a few random menus. (I will admit, as I'm on a custom ROM, either Google or the ROM developer has taken the time to remove the last of the holo blue accents from my version, but stock ROMs still have it to my knowledge.

This UI polish has also gotten a healthy boost in performance from two areas: memory reduction and better 2D rendering. Project Svelte was introduced in 4.4 to make the OS run smoothly on hardware as low as 512 MB. While you won't see any upgrades to older chipsets outside of custom ROMs, this makes it easy for just about any newer hardware to take advantage of the new version of Android. This is more fragmentation combating to hopefully prevent OEMs from just slapping an old version of Android on their phones and calling it a day.

Smoothness has been enhanced thanks to software vsync that helps predict usage ahead of the hardware vsync and I can attest to its benefits. Much like 4.1 made my Galaxy Nexus feel like a new phone, 4.4 did the same for my Nexus 4. There are a host of technical improvements so if you want to read about them from a former Google software developer, check out this link.

Before I mention any other features, I should mention Google has done a lot this release to shore up consistency. I mentioned in my Ice Cream Sandwich post that the OS seemed all over the place, with certain areas looking different from others. KitKat doesn't have much of this. Some things have been made similar like to add a calendar appointment you get this little clock you punch in your time. This was applied to the alarm clock section as of KitKat. A few other things were made consistent. The font is a little more streamlined, the ugly bold numbers in the lock screen clock and clock app have been made slim, and indicators in the navigation bar on the lock screen help you know to pull up Google Now or go to the camera.

Moving on from the polish of the UI, the most changed thing in the OS is the dialer. The holo theme is almost completely gone here, replaced with a search bar at the top and you favorite contacts when you open the app. You have to push the dial pad button on the bottom to bring up the dial pad with a slick animation. Even on my custom version of KitKat there's still some holo blue in the dialer which shows Google still has a ways to go to remove the overarching theme of the past three releases.

The dialer still has autocomplete like before, but Nexus 5 owners get the extra benefit of being able to search business phone numbers directly from the app and have a internet based caller id from Google Maps. I've tested it out on my phone, sideloading the app, and I can only hope they remove the exclusivity of it and bring it to all Nexus devices. Nexus 5 owners also get the Google Experience Launcher that is basically an extension of Google Now. It does have the nice feature, after installing offline language recognition in US English only, to be able to talk directly to your phone from the home screen and have it search for you. Doing a little sideloading on my Nexus 4 shows it works wonderfully even on my older hardware.

Outside of that, the average user will take note of the wireless printing option in the settings menu. Unfortunately, I can't be of any assistance here, but I'm sure some will find it useful. There's also a Tap and Pay option baked directly into OS that seems to appear when the NFC chip is on. This was likely to stop pushing Google Wallet and put it directly into the OS. Whatever the case may be, I've only been able to successfully use NFC on my phone to pay for something when I had a Google Waller gift card. It never worked with my bank card to my dismay and I've never bothered to try again.

There's a Document app that allows you to view photos, videos, and music. It's basically a stripped down version of a file explorer and I find it a waste. Even the most ad-ridden free file explorer is much better than this so just don't bother. For those with stock Nexus experiences, you'll see there's two gallery apps, one is the old school gallery app and the other is tied into Google+ called G+ Photos. Redundant for sure.

Outside of all this, there is a lot of under the hood changes including APIs for native IR blaster support, sensor batching, step detection, and counters. Immersive mode is a feature that lets you remove the status and navigation bar in apps that you use it. You can get either back just by flicking from the bottom of the screen, but this has to be programmed in. It was first seen early on in the YouTube app which did something similar. You've also got the AOSP browser running Chromium engine instead of Webkit but nobody will notice this outside the support for HTML 5. Stock Nexus devices come with Chrome pre-installed anyway.
Location settings have been separated into high accuracy (which is GPS, Wifi, and mobile networks all at the same time), battery saving (just Wifi and mobile networks), and straight GPS only.

There are a few other minor things like being able to set your default SMS app, but the biggest one that most people won't deal with is the ART runtime. It's a feature buried in the developers section of the settings menu. This alone requires you to go into the status section of settings and click your build number 10 times just to get the developers menu anyway, so this really isn't for the faint of heart.

Basically, ART runtime is the intended future for Android. In the early days of Android (Pre 2.2), things ran pretty crappy on the system and it was sluggish regardless of hardware power. Froyo introduced the Just-In-Time (or JIT for short) compiler. What it did was compile some of the apps code initially to help the app start and then compile what else was needed as you ran the app. Nowadays with high end hardware, JIT is more of a memory hog and a burden than a benefit. ART intends to change this by compiling the entire app from the time of installation (or a reboot when you see the "Android is upgrading" screen) to reduce CPU cycles and memory bloat. It's an experimental feature right now and doesn't work for all apps, but many people have reported getting much better battery life thanks to it. The trade off however, is longer installation times for apps.

Overall, KitKat is great upgrade. It strengthens even the weakest hardware and makes the top-end hardware run great. I can attest that even without ART runtime, I get better battery life and a much smoother performance. Initially, I swore off the upgrade for a while because the custom ROMs were struggling a lot harder to get a stable version going unlike previous versions, but things have come along a lot more smoothly lately. I give KitKat two thumbs up and I think Android is going to be shaped more and more around Google Now in the future.