Android O is upon us! Well, not really. But the first developer preview has been released and we're starting to uncover what Google has been doing with Android for the past year and what to expect when it's released.
Google says to expect the full version in the fall of 2017 (likely with a Pixel 2 that runs it), but we should see a major update and a new preview version in mid-May right around the time Google I/O 2017 is happening. Our bet is that we will also see a proper beta program release then, but Google hasn't said as much.
In the meantime, we'll keep this page updated as the best place to find everything you need to know about Android O!
Notifications can be snoozed, and batched into topic-based groups known as "channels". Android "O" contains integrated support for picture-in-picture modes.[9][10] Adding a custom ringtone, alarm or notification sound is simplified.
Platform.Android "O" will add support for Neighborhood Aware Networking (NAN) for Wi-Fi based on Wi-Fi Aware,[13] wide color gamuts in apps, an API for autofillers, multiprocess and Google Safe Browsing support for WebViews, an API to allow system-level integration for VoIP apps, and launching activities on remote displays.Android Runtime (ART) features performance improvements. Android "O" contains additional limits on apps' background activities in order to improve battery life. Apps can specify "adaptive icons" for differently-shaped containers specified by themes (such as circles, squares, and squircles).
Starting with Android 7.0, Android can restrict certain activities an application wants to do while it's in the background. Android O builds on this beginning and places top priority on saving power and improving battery life without the user (that's us!) having to do anything or install anything,
New limits on implicit broadcasts (sending "signals" for other apps or activities to act upon), background services (activities of an app that continue to run when it's not on the screen) and location updates (checking to see where you are using Android's location services) are automatic. This means it's easier to build apps that don't have an impact on battery life and the user doesn't have to manage anything.
Notification channels
Android N brought a new framework for notifications and ways for developers to use it so we get more information in a space where real estate is at a premium.
With Android O Google is introducing new Notification channels: grouping notifications together by their type. Notifications are still managed by the app that delivers them, but users can control how things are displayed on a per-channel basis. This way we can decide things like how a news app notifies us or a music player shows a persistent notification. Notification channels is a new way for us to control the rich notifications that Android apps bring to us.
Autofill APIs
Platform support for autofill means better security and a powerful way for an application to store repetitive information.
With the new Autofill API, a user will be able to choose a source for autofill data, and applications that need to store and retrieve this sort of data no longer will need to act as an Accessibility service. An app like a password manager can bundle its own activity for using the autofill API and we can choose it when we need it much like choosing a new keyboard. An app could also be built that acts as a global storage for autofill data without being associated with any one particular program.
Android O promotes fonts to a full resource type.
This means that fonts can be defined the same way colors and other resources are in application layouts using XML, and developers will have more control over the fonts and style they use. This might mean we can have apps with their own custom fonts without any complicated procedures by developer or users.
The Google Pixel Launcher brought adaptive icons, and now Android supports them systemwide and natively.
Options can be given for different shaped masks that define the outside border (think squircles) and icons can be animated. Adaptive icons will be supported in the launcher, shortcuts, device Settings, sharing dialogs, and the app overview screen.
Wide-gamut color for apps
Developers building applications for Android O on devices that support wide-gamut color can now leverage those displays.
Apps like photo editors and image viewers can make use of this, and the developers simply need to enable a setting letting the system know the app is wide-gamut color aware and embed a wide color profile. Some of the support profiles are AdobeRGB, Pro Photo RGB, and DCI-P3.
Connectivity
Android O brings some changes to the way our devices communicate with other devices. Welcome changes include:
The new AAudio API was built for applications that need a high-performance and low-latency audio path. Audio data can be read and written via normal streams and the AAudio API handles the routing and latency.
The first versions of the AAudio APIs are not yet complete but are a great way for developers who need these features to provide feedback. We want the people building an equivalent of GarageBand for Android to have some say in how the new features work!
WebView enhancements
Android O enables the multiprocess mode for WebView components from Nougat as the default and adds an API so that developers can handle their own errors and crashes.
This makes applications that use web development languages better stability and security, and users will benefit if developers enable Google Safe Browsing for remote URLs.
Java 8 APIs and runtime optimizations
Android O supports new Java Language APIs, including the new java.time API introduced with the latest version of Java 8. Optimization for the new runtimes is also included for better performance and stability in apps designed for Android O.
It's important to remember that early builds of Android O are designed for app developers to get a head start and aren't really consumer focused. That means the features introduced during any preview period are subject to change, get better, break or even be removed. We'll keep this page updated as we see more from Google about Android O!