Today Google is launching Android Q beta 5, the fifth of six beta releases before we get the final version of Android Q, version 10. Google already finalized the Android Q APIs in Beta 4, so what does that leave for this release? Apparently lots of changes to gesture navigation.
To recap: with Android Q Google is introducing a brand-new “Fully gestural” navigation system, which eschews Android’s traditional three-button navigation system for a gesture system that enables all three functions (Back, Home, and Recent Apps) to be triggered with swipes. The new navigation system saves a ton of space, with only a transparent gesture bar at the bottom of the screen, just like on an iPhone X.
Three functions do not quite cover all of the functionality of the old three-button bar, however. You could also long-press on the home button to summon the Google Assistant, and in previous betas, this feature didn’t make it to the gesture-navigation system. For Beta 5, Google is introducing a new gesture for the Google Assistant—swipe up from the corner. Dragging in from either bottom corner of the screen will now open the Google Assistant, and Google says “you’ll notice ‘handles’ that serve as a visual affordance that we’re continuing to tune.”
We are just working off of a blog post for now, so we don’t have any screenshots, but XDA was able to score an early build and show off the new Assistant gesture. For now, two “L” shaped indicators sometimes appear at the bottom corners of the screen. I thought it was taking a screenshot at first, but it’s just for the Google Assistant.
Google is also changing the way the navigation panel works in Android Q. Android Q’s back gesture is a swipe in from the side of the screen, and traditionally opening the navigation panel has been a swipe in from the side of the screen, so one of them has to change. At Google I/O, Google gave several talks explaining the new navigation panel behavior, saying the navigation panel would eat the first swipe in from the side of the screen, and a second swipe would trigger back. Now, just months after I/O, it’s changing that behavior again: tapping on the side of the screen will now cause the navigation drawer to peek out from the side of the screen, where it can be opened.
🚧 The drawer behavior is changing. Users will be able to open the drawer by peeking the drawer, and then swiping. Big benefit is that this works with existing apps with “old” DrawerLayout versions. pic.twitter.com/WVyOzQFzHO
— Chris Banes (@chrisbanes) July 2, 2019
The way developers can reserve parts of the gesture-navigation area for controls is also changing.
The fact that Google is changing the gesture-navigation behavior after Google I/O, after it has already published a lot of docs and videos about how everything is supposed to work, is a bit alarming. Google has already committed to standardizing the Android Q implementation of gesture navigation to the point where OEMs will no longer be allowed to make their own alternative forms of gesture navigation. As Google explained at I/O, apps need to design their UI around the behavior of gesture navigation, and making developers have to deal with seven or eight different gesture-navigation systems from the big OEMs would be too much work.
Forcing everyone to use Google’s gesture navigation is taking on a lot of responsibility, and Google really needs to nail Android Q’s gesture-navigation implementation. Yet we now have one more beta left, and things are still changing, and it seems like Google is going to take this down to the wire.
For some aspects of gesture navigation, Google is already moving the goal posts for the Android Q launch deadline.
Gesture navigation won’t support third-party home screens at launch
One of the best features of Android is the ability to customize the home screen. You can install a ton of different third-party launchers with a bevy of options, some representing a normal home screen layout with power user settings and others completely redefining the home screen experience. Today, along with Android Q Beta 5, Google is announcing that Android Q’s gesture navigation won’t work with third-party home screens at launch.
“Custom launchers are another area where we’ve heard feedback and we’re continuing to work on issues, particularly with stability and Recents.” Google writes in its blog post. “Starting in Beta 6, we’ll switch users back to 3-button nav when they are using a custom launcher by default. We’ll address the remaining issues in a post-launch update so those users can switch to gestural navigation. We’ll be working with our device-maker partners to include with their devices shipping or updating to Android Q. Meanwhile, please continue to give us your feedback.”
Android Q’s gesture-navigation system has continually had problems with third-party launchers, but it was easy to just chalk the problems up to “it’s a beta” and the problems that go with that. The current gesture-navigation system doesn’t even work that well with Google’s launcher! The news that the launcher bugs aren’t going to be fixed in time for the final Android Q launch is a major bombshell, especially given how much work Google usually puts into maintaining developer compatibility.
Compare this launcher incompatibility announcement to the run-up to storage-access protections in Android Q. Scoped storage has the potential to break Android apps, so Google announced it with Beta 1 in March. It got a ton of feedback from developers over a few months and later announced that mandatory scoped storage would be delayed to next year’s Android R release. By contrast, developers have had very little time to deal with gesture navigation, which, as we pointed out earlier, is still being changed today.
As of Beta 4, using gesture navigation with a third-party launcher didn’t work at all. Home screen defaults were often not honored, and if your home screen default was honored, the system would just crash over and over. Since May, when gesture navigation was dropped on everyone, we’ve seen rival home screen developers come together and coordinate filing bugs to try to make sure Google fixes everything before launch, but apparently there just isn’t enough time. Google would not give me a timeline for when all of these problems would be fixed post-Q launch.
Beta 5 is out today for Pixel devices. We still have one more beta next month before the final Android Q launch, which is sometime in Q3. (Although, Google, if you want to push that date back a bit and make launchers work, that would probably be fine!) The blog post also notes that the Android engineering team will host a Reddit AMA on r/androiddev sometime later this month, so be sure to save up your burning questions.