Freeform windows in Android 10

I was very happy to find out that Android 10 ( R.I.P. dessert-themed version names) has support for freeform windows that’s easily enabled. It’s been around for a few years, but this is the first version of Android where you can get at it without using ADB or a third-party app.

The feature is exactly what it sounds like: it lets you open apps in resizable, movable, stackable windows like you can on a full-fledged computer running a desktop OS. I’ve imagined for years that this would be a nice thing to have, and it is pretty neat. It does have limited usefulness on a relatively small phone screen, so it makes sense that it’s still disabled by default, but it’s a nice option to have. It seems like it would be very useful when using a secondary display.

Here are a few things I learned from playing with it so far on my Pixel 3a:

  • You do really have to restart your phone after enabling the feature. It won’t work until you do.
  • Sometimes Pixel Launcher will crash when playing with freeform windows. That’s okay. (I’m using a third-party launcher, so that may be why)
  • Entering the multitasking view seems to dismiss any windowed apps you have open.
  • To get multiple windows open simultaneously, I’ve had success with the following roundabout procedure:
    1. Open the first app and switch it to freeform mode.
    2. Open another app and switch it to freeform as well.
    3. Reopen the first app from the homescreen (i.e. without going into the multitasking view).
  • Once an app is switched into a window, it seems to mostly stay that way until you tell it otherwise, even if you stop it and reopen it.

I can definitely tell this is still an experimental feature and there are plenty of bugs to work out. However, it is pretty exciting to see Google developing something like this, and I’m looking forward to seeing more refined versions come out in the future. In the meantime, I kind of want to see how it would behave with a secondary display and a mouse. I think that’s what I need to try next…