Android Dev Summit 2021: What’s new in Android for developers
The open-source Android operating system is under continuous development, with Google contributing the majority of new code to the platform, most of which is kept private until Google is ready to launch a new version of the OS. Earlier this month, Google uploaded the source code of Android 12 to AOSP, marking the official launch of the new version following months of public beta testing. Today, Google is following up on that release with a minor update to the Android platform. At the Android Dev Summit, Google announced a developer preview for Android 12L, an update that adds new multitasking features and refines the UI for large screen devices.
Android 12L: Android’s first interim release in years
Android 12L is the first interim update the Android platform has seen in years. The last interim update to introduce a change in both the user-visible version number and the API level was Android 8.1 Oreo (API level 27) in late 2017, approximately four years ago. Google has refrained from releasing interim updates over the past four years for reasons that have not been disclosed, but the company is choosing to do so this year to meet the growing demand for tablets, foldables, and other large screen devices. In fact, Google states that they’ve seen nearly 100 million new Android tablet activations in just the last 12 months; likewise, high demand for foldable devices and Chromebooks has driven major year-on-year growth for both form factors. Today, Google says there are over 250 million large screen Android devices in active use, which is why the company has devoted the bulk of new changes in Android 12L to improving the experience on large screen devices.
While Android 12L does not introduce nearly as many new features and APIs as Android 12 does, Google is choosing to release the new version alongside a new framework API level – API level 32 – because the current version already reached Platform Stability back in August. Google says it has “been careful not to introduce any breaking changes” for app developers, so the company is choosing not to update Google Play’s target API level requirement. Google Play’s shifting target API level requirement forces app developers to stay up-to-date with new features, behavior changes, and security practices, and Google offers ample time for developers to update their applications. Since Android 12L does not introduce any breaking changes, Google Play’s target API level requirement will skip API level 32 in 2023, and will instead increment to API level 33 that year.
The new version is purpose-built for large screen Android devices, so most of the new features it introduces won’t be available on small screen devices like phones. The Android 12L update will, however, still be available for phones, though apart from a handful of new APIs including one for spatial audio and another for drag-and-drop, it isn’t clear what, if any, new features will be available for phones. Our upcoming deep dive into the developer preview build released today will provide additional insight into the new features for phones poised to launch with Android 12L, which rumors suggest will include an open-source implementation of Google’s dynamic coloring system called “monet” and a duration slider for the long-press power button gesture.
In Google’s official press release, however, we were given some information about the new changes that will make Android look and feel better on large screens.
Android 12L: New features and UI changes for large screen devices
Android 12L’s design remains fundamentally the same as Android 12, which introduced a major visual overhaul in line with Google’s new Material You design language. Instead, 12L adjusts the layouts to take better advantage of the larger screen area of tablets, foldables, and Chromebooks. On screens above 600dp, the notification shade, lockscreen, and other system surfaces utilize a two-column layout to show more information. The home screen, recents overview, and system apps have also been optimized.
Notably, Android 12L introduces a taskbar, a feature commonly found in desktop operating systems. Android’s taskbar will let users quickly switch between apps without jumping back to the home screen or opening the recents overview. In addition, the taskbar puts Android’s split-screen multitasking feature front and center; with a simple drag-and-drop, users can launch an app in split-screen mode. Android 12 and now 12L make split-screen standard behavior for all apps regardless of their configuration, provided the app is running on a screen above 600dp. That means that users won’t have to worry about an app not supporting split-screen mode, though it should be noted that device makers can override this platform behavior.
Finally, Google says that Android 12L offers a better letterboxing experience for users running apps that haven’t been designed for the particular screen layout of their device. Letterboxing is now easily customizable by device makers, who can set custom letterbox colors or treatments, adjust the position of inset windows, apply custom rounded corners, and more.
Android 12L: Source code, release date, downloads
The source code for Android 12L will likely be uploaded to AOSP under the “sc-v2” branches once the release is finalized. SC-V2 is the code-name for Android 12L, with “SC” referring to the “Snow Cone” dessert name that Google internally gave the Android 12 release. Google has not shared an exact release date for Android 12L, though the company says it plans to release the update sometime early next year. As usual, Google’s OEM partners will get pre-release access to the new Android codebase, so the top tablet and foldable device makers will have a headstart in bringing the new features to their future and existing devices. With the upcoming launch of new tablet, foldable, and Chromebook hardware, Google says now is the right time for app developers to optimize their apps for large screen devices.
Starting today, developers can test their apps on Android 12L by downloading a developer preview build. App developers can boot an Android 12L system image in the Android Emulator as well as download the latest tools from the latest preview release of Android Studio. Google has not opened up the developer preview to Pixel devices yet, though they eventually plan to do so. For more details, visit the Android 12L developer preview program page.
New tools to build apps for large screens
Alongside the Android 12L developer preview, Google is also releasing new tools to make it easier for developers to design fully adaptive apps.
First of all, Google has finally published documentation on Material Design 3, or Material You as it’s marketed. Google has updated its Material components, libraries, and guidelines to help developers implement dynamic colors (including a brand color scheme), design for foldable devices, build with design tokens, refresh their widgets, and more. Some of the tools that are available include a Material Theme Builder Web tool, a Material Theme Builder Figma plugin, and a Figma Design Kit. There’s also a codelab and design lab on applying and visualizing dynamic color, documentation for Material You in Jetpack Compose, and guidance on common layout patterns.
Google’s new page for Material Design 3 also offers guidance on how to tailor a navigation UI to the Window Size Class of a user’s device. Window Size Classes are a set of viewport breakpoints that developers can design and test resizable application layouts against. There are currently three categories – compact, medium, and expanded – which represent a large proportion of devices in the ecosystem. Google recommends using a navigation bar for compact screens and a navigation rail for medium-width class devices and larger. For expanded-width devices, such as foldables, Google recommends a List/Detail interface implemented using SlidingPaneLayout. WindowSizeClass APIs will be available in the upcoming Jetpack WindowManager 1.1 release.
In conjunction with the new WindowSizeClass breakpoints, Google is releasing four reference devices across various Android Studio tools that help you design and test UI and layouts. These reference devices – Phone, Foldable, Tablet, and Desktop – represent popular (or soon to be popular) form factors that developers are encouraged to build responsive layouts for.
If your application has multiple activities, then look out for the new Jetpack WindowManager 1.0 beta 03 release which adds new activity embedding APIs that make it easier to support UI paradigms like a TwoPane view. Activity embedding, as the name suggests, lets you show multiple activities at once, and the new Jetpack WindowManager APIs work seamlessly on foldable devices even with little to no refactoring of your app. Developers can display activities side-by-side, stacked, or as a full task window by creating an XML config file or making a WindowManager API call.
SlidingPaneLayout will also be updated in the coming months to support these new activity embedding APIs.
Next, Google is providing guidance on how to make your app aware of changes in the form factor, such as when a foldable folds and unfolds. WindowManager provides an API surface for window features like folds and hinges, which apps can use to adapt window contents to avoid or take advantage of.
If you aren’t sure about what steps you should take to adapt your UI for large screen devices, Android Studio’s new visual linting tool will proactively show UI warnings and suggestions in Layout Validation. This will help identify potential issues impacting large screen devices, including the form factor that’s affected. This tool is currently available in Android Studio “Chipmunk” builds, which are currently in the Canary channel.
Finally, Android Studio “Chipmunk” also includes a resizable emulator configuration that will let you quickly toggle between the four reference devices previously mentioned. You can use this to validate your layout at design time and test the behavior at runtime. To create a Resizable emulator, create a new Virtual Device in Android Studio’s Device Manager and then select the “Resizable” configuration.
What’s new in Google Play: Improving discoverability of apps optimized for large screens, strengthening user trust
Google Play is introducing changes that will improve app recommendations for users with large screen devices. First, Google Play is adding new checks to assess apps against Google’s large screen app quality guidelines. Google’s featuring and search rankings will take these metrics into consideration when surfacing app recommendations on large screen devices. Google Play will soon show a notice on an app’s listing page if that app hasn’t been optimized for large screens. Next, Google Play will soon show users app ratings that are specific to the form factor of the device they’re using, as announced earlier this year. Finally, Google is highlighting its recent policy changes that affect all applications with subscription models; starting next year, the service fee for all subscriptions on Google Play will be cut in half.
Google Play will soon roll out a new data safety section that shows information on how applications collect, share, and protect user data. This data safety section is shown on the app listing page before users install the app. Google itself does not provide the information that will be shown in the data safety section. Instead, developers must submit that information to Google through the Play Console. For more information, refer to Google’s blog post from earlier this month, or check out the blog post from today announcing what’s new in Google Play.
What’s new in Jetpack: Material You comes to Compose, Compose comes to Wear
Jetpack Compose, a modern UI toolkit with a View-based UI approach rather than XML-based UI, now supports Material You with the first alpha release of Compose Material 3, which offers Material Design 3-styled components and theming. The first beta release of Jetpack Compose 1.1, meanwhile, includes features like stretch overscroll support for Android 12, better touch-target sizing, experimental lazy layout animations, and more.
More importantly, Jetpack Compose for Wear OS is now in developer preview, simplifying UI development for Android wearables. Samsung’s Watch Face Studio simplifies watch face development to the point where coding isn’t required to produce a watch face. For more information on what Google announced for Wear OS at the Android Dev Summit, read Google’s press release.
Apart from Compose, other Jetpack libraries have also been recently updated. Navigation adds multiple backstacks support, WorkManager adds support for expedited jobs, Room adds auto-migration and multimap relations, and Macrobenchmark adds simplified and more accurate frame timing and backward compatibility to Android M.
At Esper, we build Android across many different form factors. Google’s announcements at the Android Dev Summit are thus of particular interest to us, even if it’ll be months before the Android 12L source code is released to the public. Reach out to one of our experts if you’re wondering how Google’s latest announcements will affect your device fleet.