Baked to perfection —

Android 9 Pie, thoroughly reviewed

The time has come for our annual deep dive (~19,000 words) into the latest Android release.

It's time for another big Android release—and another big review to go along with it. The latest update for the world's most popular operating system is Android 9 (not 9.0) Pie. While last year's Android 8.0 Oreo release focused on under-the-hood changes, Android 9 Pie ships a ton of user-facing features and UI changes, making it feel like the "tock" to Oreo's "tick."

Android 9 Pie brings Google's updated Material Design spec (don't call it "Material Design 2") to Android OS, and it begins a wave of UI updates that will spread across Google's entire portfolio. In Android, that means revamped interfaces for the notification panel, Recent Apps, settings, and various bits of system UI. For future smartphone designs (like, say, the Pixel 3), Android 9 includes an experimental gesture navigation system and built-in notch support. There's also a new screenshot editor, lots of improvements for text selection, and changes to the way rotation works.

Under the hood, more changes have come, too, with AI-powered battery usage controls, new rules for Play Store developers, and changes to how apps get distributed.

We have a lot to cover with this release, so grab a snack, find a comfy chair, and let's dive in.

Material Design refresh

This year, Google will roll out the next generation of its design style, Material Design, across its product lineup. The update was once referred to internally as "Material Design 2," but officially it's still just "Material Design" without the numbered sequel. We've already seen big design revamps for Desktop Gmail, Chrome, the Google Search app, and tons of other Google apps; with Android 9.0, this new design style now comes to the base OS.

The initial version of Material Design, which launched in 2014 with Android 5.0, wasn't just a design system for Google's apps and OS; it also became a recommendation for third-party Android app developers. It was the first time Google published a comprehensive set of design guidelines, and the new style really did get traction with developers. To date, millions of apps have adopted Material Design. With official guidance for icons, navigation, layout, text, and colors, Material Design brought a new level of consistency to the Android app ecosystem. Perhaps it was a little too consistent, though—the designs let you play with color and not much else.

A design system for making design systems

At I/O 2018, Rich Fulcher, the UX director of Google's Material Design team, said developers "didn't always see Material Design as flexible enough" and that "products from different brands looked too similar." In response, Google developed "Material Theming," a guided way for third-parties to use the Material Design fundamentals to create a custom design system. Google then used this new system to create a Google-specific version of Material Design called the "Google Material Theme."

This new incarnation of Material Design separates fundamental usability and understandability concerns from the individual styling of elements. For instance, button styles can have varying shapes, colors, shadows, and typography and can live in a few different locations, but the fundamentals (like minimum touch sizes, padding, font sizes, contrast, and display size responsiveness) are dictated by the Material guidelines.

Matias Duarte, the head of Google's Material group, calls Material Theming "a design system for making design systems"—a set of guidelines for making your own design language.

The best way to get a handle on it is to try out Google's new Material Theme Editor, which is a plugin for Sketch, the popular Mac-only design app. Start the Material Theme Editor and you'll be presented with an interface creation system that suggests a video game character creation screen. Rather than picking from skin colors and hairdos, though, you craft an app design language, picking from a curated selection of color palettes, shapes, fonts, and icons.

First, you'll create a theme color palette, picking a primary color, a secondary color, and a background color (usually white or black). For all these options, you can pick a white or black text color, and the system also generates light and dark color variants, which get used in some UI elements. The system even checks for contrast problems and will warn you if, for instance, you come up with a hard-to-read "dark-on-dark" combo.

Next come fonts, and the editor can either intelligently apply an entire family of fonts across the design, or you can use several fonts for things like a standout title and normal body text. Before this design revamp, the only recommended font was Roboto.

After fonts, you can pick a shape motif (round or angled), set all the corner angles or radii individually, and pick the number of corners. The shape gets automatically applied to some action buttons and cards, but of course you can go in and tweak whatever you want. Finally, you can pick from several pre-baked system icon sets.

These choices are then applied throughout the design. A basic theme is generated with a ton of different layouts (more on those later) and some sane defaults. From here, you can do further tweaking, adjusting the layout, shadows, buttons styles, and iconography. It's like a big Lego set. Google even calls Material Theming "infinite possibilities with guard rails."

This isn't something Google imagines large companies using, but it allows small app developers to get up and running quickly with a competent, customizable design system.

Another major new push in this new version of Material Design is engineering support. Creating cool mockups and animations for UI design is one thing; turning them into functional apps is another. The first wave of Material Design guidance didn't come with much advice to translate these designs into working code. Duarte recently revealed that his Material group now has more engineers than designers, however, and this group is pumping out real code to make Material easier to implement.

This has led to things like the Material Theme Editor, along with a whole open source repository of "Material Components" that covers many of the common needs of a Material Theme, like tabs, action buttons, and toolbars. This isn't just for Android, either—the components are available for iOS, the Web, and Flutter, too.

How does this play out in Android? Google uses the Google Material Theme in its apps and on the OS skin that ships with the Pixel phone. It looks like non-Google phones will get something very close to the Pixel skin but with (as we've seen in the past) slightly tweaked colors. Third parties will use Material Theming to create their own versions of Material Design and apply that to apps.

Material Theming was only announced in May, so it's early to see how this will play out in the third-party ecosystem, but so far Google has called out Lyft, Genius, NPR, Pocket Casts, and Zappos as early partners.

Channel Ars Technica