Android Pie? Popcorn? Pringles? —

Android P Developer Preview arrives with new notification panel, notch support

Preview the next major version of Android with the Android P Developer Preview.

Google's logo for the Android P Developer Preview.
Enlarge / Google's logo for the Android P Developer Preview.
Google

In what is quickly becoming an annual March tradition, Google is once again releasing an early preview of the next major version of Android. The Android P Developer Preview is out right now for developers (and eager Android enthusiasts) to take for a test drive. It's still very early in the news cycle for Android P, and while we haven't installed it yet, we do have a lengthy Google Blog post to draw details from. Highlights include enhancements to the notification panel, indoor positioning, support for iPhone X-style notches, and a million under-the-hood improvements.

However, device support for this release is pretty limited: you'll need a Google Pixel phone to play. The developer preview works on the Pixel 1, Pixel 1 XL, Pixel 2, Pixel 2 XL, and that's it. Pour one out for the Nexus 5X, Nexus 6P, and Pixel C tablet, which were all part of the Android O developer preview but didn't make it to Android P. I actually confirmed this with Google—those three devices won't be getting Android P.

Additionally, if you want to try Android P yourself, you won't yet have the convenience of using the Android Beta program, which lets you sign up for an over-the-air update that is delivered to your device. While that will come with later releases deemed stable enough for the "beta" tag, for now Google says this is "an early baseline build for developers only." You'll need to fire up some SDK tools and flash the Android P images manually.

Now for the good stuff!

The all-new notification panel

Let's get the most shocking part out of the way first: the notification panel has, once again, been completely overhauled. In the images above (which are early-state images and might not be 100-percent accurate) a whole bunch of status indicators have been wiped away, and we don't see a time, date, or cell carrier indicator. The quick settings buttons at the top now live inside of circles, which turn dark gray or light gray depending on whether they are active or not. Just below those is a handle indicating that you can pull down on the quick settings to expand them, which seems like much clearer communication than the tiny carat icon that was in Android 8.1.

Speaking of Android 8.1, the truly awful transparency effects that were introduced in the notification panel have been rolled back, and it's now a smooth, crisp white. Quick settings and the notification panel both now live in separate boxes with rounded corners and will probably match up well with the rounded corners that are all the rage on smartphones nowadays.

The "messaging" notification style, which is used by just about every texting and instant messaging app, has also been redesigned. Android 8.1 would only show unread replies from a contact, but Android P now shows the recent context of a conversation, with replies from your contact and you, like a mini messaging app that lives right in the notification panel. The messaging notification will even show any pictures your contacts have sent over.

Below the message stream now is a section for Google's machine learning-powered Smart Replies, which scans your messages and will suggest custom replies for you. Google recently started experimenting with in-notification smart replies with the release of the "Reply" app. Reply was an experimental hack job feature that plugged into Android notification access APIs—and now, just three weeks later, in-notification smart replies are part of Android.

Assuming this feature works similarly to the Reply app, it will have the capability to interact with all your messages, even from third-party apps (presumably after an opt-in with lots of notifications that this is happening), and Google's machine learning bots will go to work writing replies for you. You get three replies back to choose from, or you can tap the reply button and type out something yourself. I've been using the Reply app for the past few weeks, and while replies are usually very short and often a little terse, it can do some useful things. The best is answering "when you will be home" with something like "13 minutes" by calculating the actual trip time from your current location to your house and loading that number into a smart reply. We speculate that Smart Replies will have a lot of additional functionality to be explored.

The notification panel's evolution is a major change to one of the most important areas of Android, and after a Bloomberg report that promised a "dramatic redesign," I wonder if anything else looks different.

The new status bar with iPhone-X style notch support

With phone screens getting bigger and bigger and bezels getting slimmer and slimmer, device makers are starting to run out of room for the camera, earpiece, and other components that typically go on the front of a device. The solution popularized by the iPhone X is to hack away part of the screen to make room for whatever cameras and sensors you need, making for a non-rectangular shaped screen.

The first high-profile Android phone with a notch was the Essential Phone (technically predating the iPhone X!), which shipped with Android 7.1 Nougat and required all sorts of custom work to make the notch work smoothly. The status bar was extended to double height so it could fully surround the camera notch, which served to protect apps from the notch and give them the usual clean rectangle to work in. Status bar icons were even taught to jump over the notch, so if you had a really busy phone, you could still see all the icons.

With Android P, much of these changes are coming to AOSP (Android Open Source Project), as the OS now has full support for display cutouts. Android device makers will be able to define the height of the notch, and Android will stretch the status bar out accordingly to fully encase it. With the status bar handling the cutout, normal apps should work seamlessly. For "immersive" apps that hide the status bar and take up the whole screen (like games and media apps), developers get a new set of APIs to detect the cutout size and location and can adjust their content relative to the notch. For testing purposes, any Android phone can now emulate a notch through a new option in the developer settings.

That's not the end of the status bar changes. Every status bar image in Google's blog post has a left-aligned time! The time in Android has always been on the right side after all the phone status icons, but now it's on the left side. Presumably notification icons pile up after it. The blog post doesn't even mention the new time location, but I've got to believe it has to do with notch support. Android 8.1's layout, which has status icons and the time all piled up on the right-hand side, could easily overflow into a wide, iPhone X-style notch. This new design distributes the important status bar bits more evenly across the top of the phone, leaving more room for a screen cutout.

If Mobile World Congress is any indication, we're going to see a whole lot of notched Android phones show up soon, so it's good to see this taken care of in AOSP. Sadly, given the fact that this release isn't due out until the end of the year (and coupled with the pathetic update speeds of most Android device makers), it's a good bet that none of those MWC phones will actually ship with Android P and the notch support.

Forcing app developers to target "Modern Android"

As was previously announced in December, this year Google will finally force app developers to upgrade their apps to target a modern version of Android. Android device makers' disinterest in shipping timely updates means Android versions take forever to reach the critical mass of adoption that many app developers are looking for. When Google releases a new version of Android with new app features, security enhancements, or restrictions, many developers just don't care, because it will be years before the majority of their userbase will get that OS version.

In September 2018, the Google Play Store will require all app updates to target Android API level 26, which corresponds to Android 8.0. Today Oreo has rolled out to 1 percent of users, which understandably gives developers little incentive to update their apps, but come September 2018 any update to an app through the Play Store will require targeting Oreo. Unless an app has been completely abandoned by a developer, it will need to be updated.

Every new version of Android comes with changes to the app framework. These usually take the form of new security measures, new features, and sometimes new restrictions on what apps can do. Today developers can just opt out of these changes by targeting an older version of Android, but the new Play Store rules change the game—developers will be forced to adopt Android changes made in Oreo. Note that the "targeted" API has nothing to do with backward compatibility, which is a totally separate setting. Apps can target Android 8.0 Oreo and still work fine on older versions of Android.

While these are just Play Store rules, Android P is doing its part to spur adoption, too. If users install an old app, they will now get a warning message letting them know the app is old and busted. The OS warning message is nowhere near as aggressive as the Play Store timeline, with the current warning threshold set for API level 17, aka Android 4.2.

Google plans to push the minimum target API levels forward every year by steadily increasing the Play Store update threshold and Android warning threshold. With this change, Google can greatly accelerate any Android changes (like Oreo's new background restrictions) out of the developer ecosystem and deprecate old APIs faster. Overall, this should lead to a healthier, more secure Android ecosystem.

And speaking of clamping down on apps, Android P will be the first version to restrict apps from using some non-public APIs.

And much more!

There are a million other changes that we don't have much detail or background for yet:

  • Faster ART: The Android Runtime (ART)—the engine that powers all Android apps—was originally developed with Android 5.0 Lollipop as a "platform for the future." Sure enough, every Android release since then has come with ART improvements that automatically make all your apps faster. Android P is no exception, and Google's blog post says ART "now uses profile information for on-device rewriting of DEX files, with reductions up to 11% across a range of popular apps." Google says to expect less memory usage and faster startup times.
  • More media support: Android P adds support for the HDR VP9 Profile 2 codec, making it easy to deliver HDR video from sources like YouTube, Play Movies, and others. There's also support for the High Efficiency Image Format (HEIF), a modern JPEG alternative that is already supported in iOS and Mac OS. JPEG is more than 20 years old, so it should be no surprise that a brand-new image format can do a better job than JPEG. HEIF promises to store double the information of JPEG in the same size file. JPEG's benefit is near-universal compatibility, but with Apple and Google now on board, HEIF is a good portion of the way toward universal acceptance.
  • Multi-camera API: With phones shipping with more and more cameras, Android's existing camera API is getting a bit of an upgrade. If you're running Android P on a phone with dual front or back cameras, apps will get a camera stream that "automatically switches between two or more cameras." Google says this will allow developers to "create innovative features not possible with just a single camera." For Google in particular, this will probably help the company's augmented reality framework, ARCore, which today cannot use dual rear cameras to see in 3D.
  • Indoor Wi-Fi positioning: Android P has support for IEEE 802.11mc, also known as Wi-Fi Round-Trip-Time (RTT). While GPS mostly doesn't work indoors, Wi-Fi RTT on Android will allow an app (with permission) to calculate your position to within 1 to 2 meters, provided three or more access points are in range.
  • More power savings: We'll have to wait for the developer documents to go up for the details here, but Google Android P will "continue to refine Doze, App Standby, and Background Limits to further improve battery life."
  • Privacy improvements: Speaking of background processing, apps that are idle in the background will no longer have access to the microphone, camera, or sensors. Any app that legitimately wants to monitor these things will need to spawn a notification to tell the user what's up, so they then won't treat it as idle. Additionally, the platform's build.serial identifier will now be locked away behind the READ_PHONE_STATE permission, and there's an experimental MAC address randomizer you can enable in the developer options.
  • Backward compatibility for Autofill: Password managers have existed in Android for a long time, mostly as hacks using the ultra-powerful Android accessibility API. Android 8.0 added a great new Autofill API, which gave password managers an official way to integrate into the system. The only problem with Android 8.0's implementation is that an app needed to be optimized for the new Autofill API in order for it to work well. While Google still doesn't want developers using the accessibility API for non-accessibility purposes, the official Autofill API now has a backward-compatibility mode that "lets password managers take the accessibility-based approach in apps that don’t yet have full Autofill support."
  • Better backup encryption: Google automatically backs up Android phone data on its servers, and the data can be restored after a device wipe. While the stored information is encrypted on Google's servers and locked behind your Google password, Google says that "a future Android P preview release" will further protect these with an encryption locked with a "client-side secret." We asked exactly what Google means by this, and it turns out this refers to the lock screen challenge. The idea is that when you set up the phone, you'll be asked to log in with your Google password and pick a backup. You'll then get the lock screen challenge for that specific backup. Without the lock screen password, even Google won't be able to open it.

We didn't even cover everything in Google's blog post—the above are just the highlights. There has also been work done on the Kotlin programming language, a new version of the neural network API introduced in Android 8.1, and another new fingerprint API. As a cursory look at Android P, though, this post is probably long enough.

Remember, the Android Developer Preview releases are only ever the AOSP side of Android. There is a whole world of proprietary Google code that accompanies any major Android release, which we aren't seeing right now—what we have only gives us half the picture. This is also just the first developer preview release of Android P. There will be many more preview releases coming down the road, with a final release usually coming around September. Google promises "more features and capabilities" in future preview releases, and the company says it will have "even more to share at Google I/O."

We'll have a ton more coverage for Android P as soon as we've had a chance to spend some time with it. Starting today we can actually install the OS, eyeball every single pixel, and pore over the developer documents, so stay tuned!

Channel Ars Technica