Google is taking a different tact for its newest version of Android than it has in the past. Instead of announcing and releasing an official version of the operating system, it has released a developer preview—dubbed “L”—thus giving developers and manufacturers time to get ready for it before its official released.
Dave Burke, Google’s head of Android engineering, says that L is the biggest release Android has ever had. Looking at the breadth of L, it’s hard to disagree. Google has long promised that Android would eventually be in everything, although that’s been a long time coming. But Google plans to make Android L a vehicle for smart televisions, automobiles and wristwear, finally giving developers, manufacturers and consumers a way to actually build for the next stage of mobile computing.
Historically, Google has given each version of Android an alphabetical name taken from sweets. Android 2.2 was “Froyo”; and Android 4.4 was “KitKat.” Google hasn’t officially named—or numbered—the next version of Android, but the next letter in the alphabet is “L.” Will it be a Lollipop? Or Lemon Meringue Pie? Or perhaps Licorice? No one outside Google knows.
L changes the design scheme of Android as well as adding some important projects to trim and analyze battery usage, a new compiler and bringing Android everywhere. If you’re an Android developer, here’s what you’re going to need to know about Android L.
Material Design And Graphics
Google has changed Android’s design scheme to give it a more universal look, one befitting an interface designed to show up across a broader array of devices. Its “material design” schema aims to provide a more intuitive look and feel that works on a variety of screen shapes and sizes while bringing more tactile response to Android navigation.
“In material design, surface and shadow establish a physical structure to explain what can be touched and what can move,” wrote Google designer Nicholas Jitkoff. “Content is front and center, using principles of modern print design. Motion is meaningful, clarifying relationships and teaching with delightful details.”
Material design has some new features that developers and designers will want to figure out before the official release of Android L:
- Theme: It exposes new colors and represents all colors as greyscale that can then can be tinted.
- Widgets: It employs a new CardView and RecycleView (ListView2) that greatly eases the burden on making ListView in Android. There are new controller features in the MediaStyle and MediaSession functions, and playback widgets in the new Android Extension Pack.
- Realtime soft shadows: These provide the ability to “lift” images to the top of the view hierarchy where they can cast subtle shadows that aim to convey how objects interact.
- Animations: A good portion of material design has to do with animations such as transitions within or between apps. Animations are baked into the platform and can be shared between activities in order to make transitions intuitive for the user.
Google has also updated to OpenGL ES 3.1 in Android L, with backward compatibility to previous versions.
One of the biggest updates to Android will be in the “recent apps” drawer. Essentially, Google is broadening the notion of recent activity by including opened websites and documents as well as apps in a card-style user interface.
Google updated the Android status bar in Android KitKat 4.4; L offers some more improvements such as the ability to change the transparency and color of the status bar to match the brand color of a developer’s app.
Project Volta, meanwhile, is Google’s effort to make Android L more energy efficient. It will show battery stats for individual apps, while a battery historian reveals how apps use power over time. Google says that Project Volta is “like traceview for power events.”
A new “JobScheduler” will let that apps condition their activity on a variety of new criterial. Currently, for instance, if an app needs to update or check for background data, it just turns on the phone and its network connection and tries to run its job. With JobScheduler, the app can first check for a Wi-Fi or cellular connection and make sure the battery holds sufficient juice. The new JobScheduler is basically intelligent background processing for Android apps.
Android L also employs a new multi-networking feature that will help apps switch seamlessly between networks without interrupting the user flow and interaction within an app. In theory, that means that if you move from Wi-Fi to a cellular network, the changeover won’t necessarily disrupt an app’s functions.
Bluetooth will feature more peripheral device support, which will be necessary for TV and Android Wear devices. Android L also promises to make NFC easier to develop with and for users to find—accomplishing the latter by including Android Beam in the Android “Share” menu.
Some of the biggest changes in L involve notifications. In accordance with material design concepts, notification backgrounds will be card shaped with shadow casting, while the foreground allows for dark text and actions with all icons treated as silhouettes. The design will feature new accent coloring and small icon badging. L builds upon—but doesn’t replace—Android notification features from previous versions of the operating system.
“Heads-Up” notifications are high priority notifications involving people; they will emit an audible alert and blow up to a full screen when they come into a user’s device. They are designed to be easy to act on and easy to ignore.
Android L also features new lock screen notifications similar to those that manufacturers have introduced to specific devices, such as the Moto X from Motorola. Developers and users can set these notifications to adhere to a specific privacy settings (see picture below) ranging from public to secret.
Notifications are also getting improved metadata as well to annotate how what information is collected and presented to the user.
L’s Odds And Ends
Google is replacing Android’s traditional Dalvik virtual machine in L, as I first reported almost eight months ago. The new Android compiler is called Android Runtime (ART); it features smaller garbage collection pauses, dedicated space for large objects and a moving collector for background app functions. Android Runtime can compile apps on the fly (i.e., what’s technically known as just-in-time, or JIT, compilation) or well in advance of use.
L features new enterprise-security features such as a new device policy manager and new profiles for device owners or the companies that manage devices.
For Android TV, L now offers a new leanback launcher as an intent category.
Google did not announce updates to the new tools in Android such as the Android Studio integrated developer environment but we were promised that the Google tools team would have an update Thursday morning. Google Play Services and the Developer Console also have some significant news such as a Wear Data API and new analytics.
Developers interested in working on apps for Android L can visit Google’s preview site and download the latest version starting today, June 26.
Lead image by Owen Thomas for ReadWrite