Android 7.0: Multi-window for everyone

Android Nougat's biggest user-facing feature has to be the new native multi-window support. The concept isn't new. Samsung's been doing it for a while, Microsoft is changing the way they do it for smaller devices and even Apple is doing it on tablets. Now it's Google's turn.

It's not an entirely new concept for Google, either. The basic Android framework has always allowed what you see on your screen to be drawn at almost any size, and the idea of having more than one view shown at a time was kicked around in more than one session at Google I/O 2011 as part of the "next-step" for Android Tablets on Honeycomb. Five years later, it's finally ready.

A good part of the reason it took longer was because baking it into Android at the system level can be tricky. Android is designed to run on just about anything with a processor. It powers microwaves, washing machines, refrigerators, sprinkler systems and more. It can even solve a Rubik's Cube with ease. The things that run Android and have a display — like your phone — also come in many different sizes. Once you change the operating system so that every app can run in a multi-window environment, it has to work everywhere.

And that's what Google did. Android 7.0 supports three types of multi-window views natively. That means any app you download can use it unless the developer of the app writes it so that it tells the system no when you try to move it to a multi-window view. And it's not just a split screen system — the other views make it even more complicated.

Android Nougat has three different types of multi-window mode.

Split-screen view is almost the same as what we see on Samsung phones right now. You can either long press a thumbnail in overview mode or long press the overview button and you'll be able to have two separate windows with separate apps running in each. You can drag and drop data between them, and the dividing line is movable so you can make one app larger than the other. Developers can optimize their apps by doing things like declaring a minimum size for the window it's in, but even if they do nothing their app will try to run in split-screen multi-window mode. Google says split-screen mode was designed for handheld devices, which means tablets and most phones.

Multi-window can also be displayed in a picture-in-picture mode. We already talked about how it works and how it will make Android TV better. When an app goes into a picture window, things like the controls and interface elements need to be hidden and the content portion shrinks to a size based on the dot pitch of the display being used. Also, apps can sprout the second view and have a picture window of one part of the app while another part of the app is in full-screen mode. The new API's support the new window view, and a developer can use it in their app without too much of a hassle. This is designed for Android TV and the people who built the actual hardware need to enable it. An app designed for picture-in-picture mode won't do anything if the user tries to put it in any other mode unless the developer has also included support for them.

Multi-window has a third view — freeform mode. So far it only officially exists in the documentation. It got hacked onto the first Android N preview, but since we haven't seen it. The Android Developer website says:

Manufacturers of larger devices can choose to enable freeform mode, in which the user can freely resize each activity. If the manufacturer enables this feature, the device offers freeform mode in addition to split-screen mode.

Notice they don't specify what a larger device is. So far it seems that this doesn't include tablets like the Pixel C, but it could be enabled on bigger devices with 12-inch screens, or Chromebooks that run Android apps. It's up to the manufacturer to decide if they want to include support.

The short time we had to play with freeform mode during the Nougat Developer Preview showed that it puts apps into floating windows than can be resized, moved around, minimized or maximized. This is just like how the software on your laptop or desktop computer works. The apps will support drag-and-drop data sharing and every app knows when it's been moved to the top layer and we're actively using it. Apps can even open in a "shrunken" view provided the developer chooses to do so. The apps each run in their own process and are independent of each other, though.

If a developer targets their app for Android 7.0 they have a few options for a multi-window view. They can define the size and the layout of the app when it's not using the full screen and make it easier to use after it's shrunk down. Because that's a real issue — some apps just don't look good or aren't very usable if they only use half of an already small display — developers can also decide to not support the feature.

If apps aren't updated, they are forced into a multi-window view by the system itself — sometimes with bad results.

If a developer doesn't update their app, it will be "forcibly resized" by the system after a dialog letting us know it's an older app that doesn't support the feature so things may be broken. If the app was written to only support a fixed size, multi-window mode is closed and that app takes the entire screen.

We already knew from hacking Samsung's Multi-Window feature that most apps just shrink down to one side or the other without much of a fuss if they aren't officially supported, and our time with the Nougat Developer Preview shows the same results. While the code used to do things is a good bit different as an Android native feature, the basic concept remains and apps that use best practices in the code look and work the same, only smaller. But not every app plays nice and we hope developers will soon update those to handle things gracefully even if they don't change anything else.

Finally, if you don't want to use multi-window on your phone, you don't have to. All Android apps will still run full screen until you tell them to change their view.

Jerry Hildenbrand
Senior Editor — Google Ecosystem

Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.