Google I/O 2017: What’s New for Android Developers

May 17, 2017 · by Aman Alam

Google announced several new products and product updates in its annual developer conference, Google I/O.

Most of the talked about features in the keynote were related to products relying on Machine Learning, and demonstrated how far these products have come in the last year.

One major highlight is Google Lens, which is a set of vision-based computing capabilities that can understand what you’re looking at and take actions accordingly.

For developers, Google Assistant SDK is now available, which can be used to deliver the Google Assistant experience right inside Android apps. As well, Google Assistant will be coming to iOS and Android TV.

Android got the last slot for announcements in the keynote, and Android Go, probably the next generation Android One program, was announced. Android Go focuses on the entry level, low-end Android devices, and tries to make them efficient and smooth.

screenshot: Android GoAndroid Go is like a “lite” version of the OS itself, which focuses on the devices having RAMs between 512mb and 1 Gigabyte. Android Go will also heavily focus on data and battery optimizations. This will be a great opportunity for developers to reach a wider audience and deliver new experiences.

Let’s look at a few key updates to Android, and what they mean for Android Developers:


Fluid Experiences


Fluid Experiences are a set of features and guidelines to improve everyday performance of Android apps and devices. It introduces things like Picture-in-Picture mode for apps, much like how YouTube app currently works, making it easier to use two apps at the same time.

Android O also improves how you select text, and uses machine learning to suggesting actions you can take.

Autofill is another interesting feature where Google learns from a logged-in user’s Chrome usage, and fills the login forms on Android apps.

image: Dave Burke, VP Engineering of AndroidDave Burke, VP Engineering, Android, using Google Keep while a YouTube video plays in PiP mode

Although most of these features shouldn’t require you to write additional code, there are behavioral changes that you should familiarize yourself with, in order to adopt your apps for them.

You can read more about these changes in the API changes documentation.


Project Treble


Project Treble wasn’t officially announced in I/O but actually a few days early. The project focuses on how Google can speed up Android updates on different devices. Project Treble separates the vendor-specific implementation from the Android OS upgrade by introducing a layer between the two.

If this project succeeds, this will be a great relief for developers who, right now, have to support users with devices running older versions of Android.

Google detailed about the Project Treble in this blog post, if you want to read about it in detail.


TensorFlow Lite


TensorFlow is one of the most popular AI library on github, and its lite version, optimized for apps, will be available for apps later this year.

TensorFlow lite can take advantage of hardware accelerated neural computation on your phone.


Kotlin Supported


Kotlin is now an officially supported language for Android. Kotlin was developed at JetBrains, and has recently garnering a lot of attention and love from Android developers.

Google also announced Kotlin’s support in the new Android Studio 3.0, so if you update your Android Studio, Kotlin support will work out of the box.


Android Studio 3.0


In a major upgrade to Android Studio 3.0, new profiling tools, along with performance upgrades are planned to be released with Android Studio 3.0.

A good profiler is certainly something that every Android Developer wants, and from the looks of it, Android Studio 3.0’s new profiling abilities look very promising, and are a great leap forward from how they used to be a few years ago.

Head over to the Android Studio Preview download site to download the latest version from canary channel


Notification Dots


Notification Dots is an enhancement to how notifications work on Android. It’s a part of the Fluid Experiences set of features, but worth a separate mention. They add the ability for developers to show that their app has an update inside the launcher icon of the app. Users can also long-press the launcher icon to preview the notification. The styling of this notification is automatically picked from the icon that you gave for the app.

screenshot: Android notification dots

Many other OEMs have been supporting this feature in some form or the other, but the official support from Android makes it easier for developers to expect its presence across the gamut of devices, without wondering which devices to enable this feature on.

You can also set a timeout for a notification, and users can also snooze a notification (my personal favorite).

To understand more on what are the changes and how they affect your app, head over to the API Overview documentation


The Vitals


Much like how Project Volta Android tried to increase battery performance, Vitals is a set of steps Android will take to make sure your users get the most juice out of their phones. The most far reaching effect that this will have for your apps is how Vitals will limit the background activities of your apps to save battery.

There are now limitations to what kind of broadcasts you can register to via manifests, along with limitations on how freely your app running in the background can access the background services.

The beginning of the behavioral changes document gives a good overview about what you should be prepared for if your app runs in the background.


The Future is Bright


Out of all these announcements, my personal favorite is the Android Studio 3.0 launch, taking app development to the next level with Kotlin support, and a lot of tools for developers to deal with drawables, network and CPU performance of their apps to build great mobile experiences.

Can’t wait to see what you build next. All the best!