Additional Features

While Multi-Window mode is arguably the biggest user-facing change to come to Android in a long time, Android N comes with a number of small but highly appreciated changes. The first of these is speeding up the animations throughout the system. Animations like bringing up the keyboard, opening apps, and switching views have been made much quicker without any noticeable loss in fluidity. It makes the entire system feel so much faster, and I think you could argue that UI navigation in Android already felt a bit quicker than iOS or Windows phone to begin with.

Google has also made some notable changes to the notification drawer. You can now expand and collapse notifications and there's now an API available to bundle many notifications together which is helpful for messaging apps that may end up sending repeated notification payloads to a device. It's a really helpful feature because it avoids the problems of bundling all notifications into one, as well as the problems of displaying a notification for each and every message that arrives. You can even reply to notifications right from the notification shade. I've had mixed results with this. I tried it with Hangouts which is what Google does in their screenshots, but it opened the odd input field that you see in the screenshot on the left above. Skype however worked flawlessly, so it looks like there's some work to be done on the app side and potentially at the OS level to fix some bugs.

In the video above you can see an example of all the new notification related features. Still images really don't do justice to the way the cards expand and contract. It all fits in really well with Google's Material Design aesthetic, and all of the interactions feel very smooth and responsive. You can expand grouped notifications to see a summary of each individual one, and then expand that one even further to view more of the message and get quick access to actions like replying or archiving.

On the topic of the notification shade, there's now official support for editing the quick toggles in the shortcut section. You can also access your first five toggles from the top of the shade, which is a great usability improvement. Like the notification expansion this also has a really great animation. When UI elements take full advantage of Material Design the results are honestly really impressive, and they go a long way in making Android feel much more lively and fluid. The ability to quickly access certain toggles like the flashlight is a great improvement too, as it puts them only a single swipe away instead of the previous model which required you to first swipe to open the notification drawer and then swipe again to get to your shortcuts.

My only complaint about quick toggles is the fact that in the always accessible bar Google continues to just display a battery icon that only gives me a vague idea of what my charge is. If you open the menu you see the percentage, but it hides itself for some unknown reason when you collapse the menu. If you're going let the user always have a battery displayed there you should put a percentage instead of the same inaccurate and frankly useless icon that's in the status bar. Apart from that continued annoyance, the new notification shade features are great improvements. Hopefully this will encourage OEMs to stop messing with the behavior of the notification shade, as Google has basically addressed all required features here and there's not really anything to improve on.

Improving Energy and Memory Usage

With every release of Android Google introduces new APIs, and adjusts existing ones. It's always important for developers to keep up to date with these changes, as they can alter or break existing application behavior, and in general it's good practice to adopt new features relating to reducing memory and energy usage.

With Android N, Google has made some notable changes to Doze and Project Svelte, which are their initiatives to reduce energy and memory usage respectively. If you've already adapted your app for Doze these changes will come automatically, and if you haven't you don't technically need to since Doze manages all apps on Android 6.0 and above, but the new changes may cause issues with notifications and other background work if you haven't adapted your apps.

The major change to Doze in Android N is that it also activates even when a phone is not stationary. Previously Doze would activate when three conditions were met. The screen had to be off, it had to be running on battery power, and it had to be stationary. This is still the case for the most aggressive optimizations, which include disabling wakelocks, alarms, GPS, and WiFi, but it's now also the case that the phone will disable network access and defer syncs and background jobs even when the phone is moving. This means that Android devices will now enter this state just by being locked in your pocket. As usual there are maintenance windows where applications can perform background tasks and send or receive data over the network, but the fact that your phone will automatically disable network access and defer background work simply while it's in your pocket will undoubtedly bring gains in battery life.

As for Project Svelte, Google is letting developers know that certain implicit broadcasts are being removed. A broadcast is essentially a message sent by the OS that notifies applications of some change in state, such as a device connecting to WiFi or being removed from a charger. The two broadcasts removed in Android N related to changing from WiFi to cellular networking, and to taking photos and videos. According to Google, many applications wait on these broadcasts and upon receiving them would wake up to process them. Having many background apps waking up at the same time to process a common event like changing from cellular to WiFi presents a real concern for energy and memory usage, and so it makes sense that Google would be removing them.

Other Changes For Developers

Along with some of the more major features that I've talked about so far, there are some changes coming in Android N that developers should look out for and, if necessary, update their apps to accommodate. One that may pose issues for some applications is the new display size setting, which allows users to modify their virtual dpi to make UI elements larger or smaller. Users can't zoom in past a minimum width of 320dp, which is the horizontal space available on a Nexus 4.

Above you can see the impact of the display size setting. It's definitely an important feature for accessibility, as it goes beyond just making text smaller or larger. I don't suspect that the UI scaling will be a problem for most developers, but if you've been specifying the size of any elements using actual pixel dimensions for some reason it may cause issues. Google's best practices also note that apps will need to ensure that they reload assets such as bitmaps as necessary when the user changes the display zoom setting.

Google has also deprecated one permission and added another in Android N. The GET_ACCOUNTS permission is deprecated, and the OS will ignore apps requesting it that are built targeting Android N. There's also ACTION_OPEN_EXTERNAL_DIRECTORY, which is a new permission that applications can use to create folders for data storage without having to ask for full storage permissions. Keeping with Android's new permission model introduced in Marshmallow, the user will have to explicitly grant permission for this at the time it's requested.

With Android N comes a move to OpenJDK 8 as the Java platform implementation. With that, Google is noting that some behavior has changed, and developers relying on alternative implementations should be aware. Developers will likely be happy to see features like lambda expressions which can simplify much of the code for anonymous inner classes, along with other forms of functional expressions and some of the other features that were added in Java 8.

Finally, Google is reminding developers to stop using private APIs and native libraries that aren't part of the Android NDK. Devices will now put up an error message when this is detected, and I've already encountered Skype causing them on the Pixel C.

Multi-Window Support Initial Impressions
Comments Locked

124 Comments

View All Comments

  • raptormissle - Thursday, March 10, 2016 - link

    Have they ever given Apple "recommendations"? I'm on the side they haven't. Ars must think Apple is beyond reproach.
  • michael2k - Friday, March 11, 2016 - link

    Well, do you have any? Note that N is going to come out a year after iOS 9, which already added multitasking and windowing improvements, for example, as well as having the nominally better sleep and memory behavior mentioned as improvements in the article. iOS doesn't broadcast changes to wake up apps, so doesn't need to remove that. Thanks to having support for multiple binaries and a fixed number of CPU configurations, iOS also allows for per CPU optimization to improve performance and memory optimizations.
  • raptormissle - Saturday, March 12, 2016 - link

    You need to qualify your statements. First, Android N multi-windows works on all devices - phones and tablets and whatever else that runs N. Additionally, apps already work with Android's multi-window without any modification whatsoever.

    As for iOS - multi-window support is only available on 2 or 3 iPad models and is not available on phones. Additionally, to support the multi-window functionality in an iPad the app must be modified to support it.
  • Brandon Chester - Thursday, March 10, 2016 - link

    Android does not publicly have a built in battery percentage nor the ability to use Multi-Window apps. It doesn't matter what you can do with adb or system UI tuner, it's effectively not accessible for 99% of users. To claim that all of these features "has been in Android for years" is simply incorrect and ridiculous.

    Also, you're misunderstanding what I've written about the multitasking button behavior. Holding down the multitasking button has absolutely no effect right now. Holding down a button and tapping it are not the same action. In Android N depending on whether you hold or tap it you get a different response due to the new Multi-Window features. However, because that interaction hasn't previously existed, Google should make it clearer to the user that they can do that.
  • ThisIsChrisKim - Thursday, March 10, 2016 - link

    But the most popular Android OEM, Samsung, implements these features in their phones and tablets. So it's probably a bit more commonly used than you might think?
  • extide - Thursday, March 10, 2016 - link

    In Samsung phones you hold the back button to bring up the multi window menu, not the app-switcher button, so it is different. You can also swipe from the top right to make an app into a window on Samsung devices, and that may be different too, so he made a perfectly valid statement.
  • ThisIsChrisKim - Thursday, March 10, 2016 - link

    I was referring to battery percentage and multi window existing in Samsung's software. Not the way you interact with the multitasking button.
  • BenSkywalker - Friday, March 11, 2016 - link

    Doubling down on your extreme iOS perspective, OK. iOS doesn't have a 'built in' YouTube app- would you honestly try and pass off YouTube on iOS as a new feature? I have here an old CupCake Android phone with the battery indicator as numeric- it has been around as I stated, for many years. For side by side multi tasking on Android- *YOU* wrote an article last year about this functionality on a *second generation* Tab S device last year(the one where you went all iOS even in the specification chart, listing the originals as running 4.4 when 5.0 had been over the air for *six months* prior to your article). You want screenshots of these things, or are you going to explain to people that iOS can't view YouTube because it isn't actually part of the OS?

    Holding down the multitasking button has absolutely no effect right now.


    I read this article for the first time on an OPO. I hit the multitasking button and it brought up the browser options- I held the multitasking button down and it opened up a view of every application I had running. That interaction has existed, on Android, for a long time now- as have the other features as others have already mentioned.

    This isn't iOS- one size doesn't fit all, devices are free to do whatever they want- including rebuilding the entire OS- Amazon's Fire line is a good example- still Android. They exacting build you have on one particular device does *NOT* mean "Android". This isn't iOS. Seriously, if you could read yourself from an enlightened perspective you would realize how absurdly foolish you sound. Your world revolves around iOS, that's fine, get someone who knows what they are talking about to handle Android.

    For the record- Your excluding Slingshot and Car Chase is getting embarrassing, we are coming up on a year now for Slingshot.
  • erple2 - Saturday, March 12, 2016 - link

    No, Brandon is correct. None of my Nexus devices with base Android have any of the multitasking features that you claim exist. They simply aren't there.

    Once you start talking about customizations of Android with various vendor flavors, including custom ROMs, all bets are off. I could fork Android and implement some crazy feature with my fork, but I can't claim that Android supports my crazy feature.
  • BenSkywalker - Sunday, March 13, 2016 - link

    Brandon is absolutely wrong. You claim your Nexus devices don't have multitasking features that I claim exist? First, I would point out that older iPads aren't Nexus devices, then I could point you to hundreds of different places-

    http://nexus7.wonderhowto.com/how-to/extreme-multi...

    Yeah, even the four year old Nexus 7 has had multi window multi tasking available for years. That is a straight from Google device using a straight from Google build of the OS and multi window support is available. Not exactly your highly customized fork. Brandon doesn't like Android, we all get that, he is very devoted to iOS, again, no problem with that. Someone who actually is an Android user should probably cover Android devices to avoid looking completely ignorant.

Log in

Don't have an account? Sign up now