One of the features buried in Android N while it was still a Developer Preview was seamless update. Just like Chromebooks, Android devices would be able to download new OTAs in the background, install them while they're still running, and only switch to the updated software after a reboot. We later learned that existing Nexus devices would not benefit from the option since they didn't have the partitioning necessary to manage the technical feat of having two firmwares installed at the same time, even if temporarily.

So in order to see seamless update in action — or not see them, that's the goal really — we had to wait until the Pixel shipped, since it's the first phone to support them out of the box, and until there was an OTA update for it. That happened yesterday with the November security patch, and we got our first taste of seamless updating.

The prompt to install and download the update is the same as before. Once you agree, the OTA will be downloaded and will start installation in the background while you continue using your phone as usual.

pixel-seamless-update-1 pixel-seamless-update-2 pixel-seamless-update-3

Just like previously, there are two steps to installing an OTA, the first one takes a couple of minutes, but the second takes a lot longer. In the case of seamless updates, since you're not even supposed to notice them happening and your device has to allocate its resources judiciously to keep working as usual and not lag noticeably, the update itself, especially the second step, takes even more time.

In the screenshots, you can see that Artem launched the process at 4:10, and the download was instant, but it will end up taking more than 30 minutes for the installation to be over. It's also worth noting that while the installation is taking place, there's no notification or any indication of it.

pixel-seamless-update-4 pixel-seamless-update-5

When the installation is done, you don't get a notification either, which is sort of weird as even Chromebooks ask you to restart to benefit from a new version. But if you switch back to the System update screen, you'll see the dialogue now says "Restart now to update."

Restarting takes just a little bit longer than a regular phone reboot, David timed it to just one minute, and you magically have an updated software version when the phone is on. The only thing you may see is a notification for the app optimization step (which we already know has become a background task in Android 7.1). Even better yet, according to Googler Dianne Hackborn, the optimization of apps also happens in the background before restarting the device, so the notification you're seeing is just for a few apps that require a final upgrade step.

pixel-seamless-update-6 pixel-seamless-update-7

Essentially, if you don't go back and check the System Update screen every few minutes after agreeing to download and install, you may as well completely forget that an OTA installation is happening on your phone while you're viewing the latest presidential election videos and articles. It really installs seamlessly in the background, it doesn't slow down your phone or take over your screen for minutes on end, and it even starts optimizing apps without you noticing. Only the next reboot will take just a few seconds more than a regular one, but one minute of downtime is definitely better than 5-10 or more, and when your device turns on, you're going to see a notification for a minute or two while that last part finishes.

A notification to prompt users to reboot after the install is over would be more than welcome, but that's really the only thing we can nitpick at in the whole process. The change will surely make updating less of an inconvenience than before, and I only wish my Galaxy S7 Edge, Nexus 5X, and iPad had this feature, because each time I want to update them, it feels like it takes forever and happens at the most frustrating of times.

If you want to read more about the technical side of seamless updates, I recommend you check out Cody's long explanation with the changes to partitions and fastboot commands.