Don’t miss this inside look at Android L by Featured Writer Phillip Jackson.
There are some big changes coming for Android fans later this fall/winter, so I would like to cover some of these changes and new features that will be available in the upcoming release of Android L (L is the current code name for the project, by the way). The developer preview was released late June 2014 to the Nexus 5 and 7 platforms, and there are videos of it running on a Galaxy S5. Although there has been no official release date announced as of this writing, its expected date is late 2014.
Design & Layout
In each version of Android, the layout is updated with little tid-bits here and there. But not in Android L – you can call this a complete revamp because almost nothing is the same!
The new design is based on a set of design standards that Google rolled together into a framework called Material Design. It adopts a lot from responsive web design best practices and throws in a good measure of opinionated patterns of its own. Google is not only applying these techniques and principles to future versions of Android, but they are also applying them to all Google products across the board. If you are a Chrome Mobile user such as myself, you will see Material Design all over the latest versions. This is intended to streamline the user experience across all Android devices, and will also make moving from one app to another much easier on the eyes.
By far the biggest change that users will not actually notice at first will be the new runtime that Google is using in L. This new runtime, called ART (Android RunTime), is quite cool, but it also has a slight drawback. To understand the advantages and disadvantages, we need to first understand how the current runtime, Dalvik, works.
Dalvik (Android 101)
Android is a Linux OS with the Dalvik runtime sitting on top of it. When you install an app on your Android device you are downloading the built-in Java application, known as a JAR file. This file is decompressed and files are placed into their proper directories. When you launch the app, the native Java files are compiled into bytecode using a JIT (Just In Time) Compiler for the Java Virtual Machine, which then runs your application.
Most developers will pre-compile larger/more memory-intensive parts of an application into .dex or .odex files. In this scenario, when you launch the app, these files are not compiled at runtime since they were pre-compiled, giving the app and the user better performance.
In both cases once the application is closed, the Dalvik bytecode is removed from memory. Rinse and repeat.
If your device uses the ART runtime, the process is a bit different. The new process consists of an AOT (ahead-of-time) compiler that performs all conversions of the native code at the time of installation. It then places the necessary files into their correct directories. When you launch the app, there is no need to run the application’s code base through a compiler. This is because all transformations were applied at the time of installation.
The Good & Bad of ART
As with all things, ART has its strengths and weaknesses, so let’s cover as many of them as we can.
- Application performance will improve. UI elements will be more fluid and apps will launch faster. This case study shows massive improvements.
- The new process will allow the device to be more efficient since it has to do less work when launching apps.
- ART is backwards compatible with older .dex and .odex file types. This means that developers will not have to rewrite their apps to take advantage of the new runtime.
- If you own an Android device that is running Android 4.4 (KitKat), you might be able to take advantage of ART right now.
- Since ART compiles all of this code at install, apps do take up more space on your device. For just about all Droidians, this is not a real issue since we have access to an SD card slot with support of uber high volumes.
- Installing apps will take longer and will use just a little more juice to do so, but not as much as compiling the application countless times over and over.
Android is introducing a new notification system that allows for notification messages to be displayed and managed from the lock screen. Tapping on a notification opens the app from whence it originated. Also, closing that notification dismisses the notification. I know this sounds, well, “elementary”, but it is one of my biggest gripes with my current S3. Some third party apps already do this, but this will now be a default Android behavior. Accessing your settings and notifications from the home screen has changed on some models, most notably on the Nexus series. However, videos that I have watched of a Galaxy S5 running Android L show that things seem to work pretty much the same as usual for Galaxy S users. Notifications will also learn your preferences. If you respond to more notifications from Twitter than Facebook, then the Twitter notifications will be displayed higher up on the list. This puts the most important notifications front and center for you.
One last little tid-bit, not exactly in the vein of notifications, but sort of: When accessing your list of running apps (multi-tasking), it will look just a little different. The following image should explain everything.
There are plenty of reports of increased battery life, primarily coming from ART and apps that use the new runtime. But there is also a new task scheduler (API) available in Android L that works wonders on squeezing as much battery life as possible out of the devices that will be running it. Project Volta (as it is being called at the time of this writing) has allowed some users to see improvements upward of 36%. Others, though, not so much. This large swing is due to some users not using software designed to take full advantage of the new API. So the jury is out on just how much juice is being made, but we know that it’s making it!
Encryption By Default
These days, security is everything. And like iOS8, Android L will include disk level encryption by default. This has been offered in all versions of Android since v3.0, but you had to turn it on yourself. You used a four-digit PIN or password to unlock your phone (bad idea, by the way). To reduce the time spent entering PINs and passcodes, Android L comes with ‘personal unlocking’. This feature enables the device to determine if it’s in a trusted environment, such as the owner’s hand or beside the owner on a table, or that it has a Bluetooth connection with a particular device.
Also, the unlock code/key that you use to unlock your phone will not be stored on the device itself. This makes it virtually impossible for a malicious third party to brute-force your device. It will also be using a far superior encryption algorithm than previous versions.
All in all, Android L will be the biggest update to the Android OS since it was first rolled out in 2008. There are many new additions that users will find beneficial and well worth the upgrade. The TaskScheduler API, when developers take advantage of it, will be very nice. Actually, there are roughly 5000 new API methods available throughout the Android code base. Again, this is a BIG update! Although marketed poorly (in my opinion), the updated encryption, the environment detection, and the fact that it will be on by default are enough bonuses to shake a stick at. The new layout and design are really nice. So yes, all in all, there are some really good things coming the way of Android users.
Until next time, “Keep your sights clear, your code clean and your arrows sharp!”