Direct Boot mode allows apps to communicate and interact with us before we have unlocked our phone after a reboot. This is more important than you might think.
We all hate it when our phone reboots. Sometimes we mean for it to happen and sometimes we don't, but a reboot means we aren't logged in, preventing many background tasks from working. It's even worse if you use your phone as an alarm clock or reminder.
Android 7.0 Nougat can help through its Direct Boot feature.
What is Direct Boot?
We've all probably been there. We have a lock screen so nobody else can see what we have stored on our phones (everyone has that one friend) and something happened and our phone rebooted. If you didn't realize it, you may be sitting there happy (or sad) that you aren't getting buzzed every 10 minutes — until you notice and log in, only to see everything you missed. Hopefully, it wasn't something too important.
Not every app needs to use Direct Boot, and developers need to think before they enable it.
Google has things covered in Android Nougat, potentially making that scenario a thing of the past. We assume Android 7.0 will be stable, and any reboots few and far between, but just in case, the new Direct Boot feature will let an app (or part of an app) run as soon as your phone is finished booting and before you sign in.
Keeping you secure, and informed
The way things work as of Android Marshmallow is pretty good from a security perspective. When your phone gets turned on or recovers from a reboot, the operating system loads and then everything halts while it waits for user input. That means you need to enter your password or PIN or you need to swipe your pattern. Even if you don't lock your phone you need to swipe the lock screen away. (But please, lock your phone.) If you have an encrypted phone, the data you have stored stays encrypted and unavailable by any means until you get logged in. That's a good way to help you keep unwanted eyes off of your stuff.
With Android 7.0, there's a new step in the boot process. Once your phone is fully powered up and Android is running, there's a method for developers to allow communication before you log in. Everything else stays locked up, and you can't interact with any other app. Google has even inserted a new storage area called Device Storage for apps that need to run immediately because they will have no access to the normal credential-protected file system.
A new storage area is in place for apps that need Direct Boot because everything else is still protected.
Here's an example of how this would work with a simple messenger client. The developers of the messenger can allow the app to collect messages and fire off a notification before you unlock your phone for the first time, but you wouldn't be able to access your photos to send a reply because they are protected by your login password.
To get to them you would need to log on. For encrypted devices, Direct Boot mode allows for data in the new Device Storage area to run while the rest of the data on the phone stays encrypted. It's a nice compromise between security and convenience. Google is getting pretty damn good at those, and it's working — more people are locking their phones and protecting their privacy and data. To Google, that's a good thing. And we agree.
Not for every app
Not every app will (or should) start running immediately. The Googlers we talked to at Google I/O this year all agreed that most apps shouldn't run right away using direct boot. The new mode is reserved for things that you need right away and you don't want to miss after a reboot. Examples are your alarm clock, your texting app, or an app that helps in the accessibility department — these are the types that need to run right away. Developers can add the functionality to any app when it's installed on a phone running Android 7.0 (API 24) or higher.
Google tells us they won't stand for apps that try to abuse Direct Boot.
The folks we talked to also were aware that this could be abused. Nobody wants some spammy ad network dropping links in their notification bar or the lock screen every time the phone starts. And some apps shouldn't be storing things until you log in and decrypt them. For apps that are in Google Play, they will take claims about apps abusing the Direct Boot feature very seriously, and won't hesitate to remove them from the Play Store.
Direct Boot is another of those features you can't see but needed a lot of creative thinking and engineering to implement. These small features and improvements should add some much-needed polish to Android, and make our phones work better for us.
If you're a developer and interested in Direct Boot, be sure to check out the documentation at the Android Developer site as well as watching the video below.