Android 8.0 Oreo, thoroughly reviewed

2

Android 8.0 Oreo is the 26th interpretation of the world’s most popular operating system. This year, Google’s mobile-and-everything-else OS hit two billion monthly nimble users—and that’s just counting phones and tablets. What can all those alcohols expect from the new version? In an interview with Ars earlier this year, Android’s VP of manipulating Dave Burke said that the 8.0 release would be not far from “foundation and fundamentals.” His team was guided by a single question: “What are we doing to Android to sign over sure Android is in a great place in the next 5 to 10 years?”

Nabisco produced a limited run of Android-themed Oreos for the launch event.

Nabisco disclosed a limited run of Android-themed Oreos for the launch event.
Oreo

Take a closer look at Oreo and you actually can see the focus on fundamentals. Google is revamping the notification system with a new layout, new masters, and a new color scheme. It’s taking responsibility for Android security with a Google-branded surety solution. App background processing has been reined in, hopefully providing sport battery life and more consistent performance. There’s even been some master-work done on Android’s perpetual update problem, with Project Treble giving for easier update development and streaming updates allowing for easier positioning by users. And, as with every release, more parts of Android get innumerable modularized, with emojis and GPU driver updates now available without an OS update.

Approve of its partnership with Nestle for Android 4.4 “KitKat,” Google is irresistible its alphabetical snack-themed codenames to the extreme with 8.0, and partnering with an existing snack company. This time Nabisco is sharing the “Oreo” brand name with Google (We’ve yet to hear about any kind of monetary arrangement for this characterize of thing). Google’s Eclipse-themed launch party was complete with excise Oreo cookies featuring an Android robot design and green contents.

Two billion users is a huge number, but with Android 8.0, Google accompanies that it still isn’t satisfied. A new initiative called “Android Go” targets the exhibit world, where cheap devices and limited access to data and power make taking a different look at how some parts of Android function.

Oreo command also serve as the base for three new Android form factors. It wish be built into cars as “Android Automotive,” where Google details with car OEMs to integrate Android. Android 8.0 will also be the indecent OS for “Android Things,” an “Internet of things” (IoT) version of the OS designed to easily preside over on embedded devices. Finally, Google’s virtual reality “Daydream” pile will also launch a new form factor with Oreo—standalone VR headsets.

So, be awarded pounce on soon to your phone, your tablet, your watch, your TV, your car, your “fetiches,” and your VR headset—it’s Android 8.0 Oreo. Let’s dive in.

Table of Capacities

  • Project Treble—Finally, real progress on the fragmentation problem
  • HAL understanding and deprecation
  • Working with SoC vendors
  • A ROM revolution
  • Isolating the media aggregation
  • Android’s biggest re-architecture, ever
  • Notifications—Android’s best item face gets better
  • The new layout—and its awesome “By the Way” section
  • The new colors and media notifications
  • Snoozing notifications
  • Notification Ways: Great for apps that have it, terrible for apps that don’t
  • Icon badges and shortcuts
  • The new ambient notification demonstration
  • The Great Background Processing Lockdown
  • Mandatory JobScheduler
  • RIP Implicit Advertises
  • No more wakelocks, no silent background services
  • (Somewhat) gracefully worsening on older OSes
  • Limiting scans for location and Wi-Fi
  • A real API for carry off apps
  • Security
  • Google Play Protect—Google says “will don’t install antivirus apps”
  • Sideloading changes
  • Security grab bag
  • Emoji: New glyphs and an all-new goal
  • EmojiCompat and Downloadable fonts—updating emojis without a system update
  • Procedure UI improvements
  • Adaptive icons—Shape shifting, animated icons
  • A new widget picker
  • Picture-in-Picture for phones and lozenges
  • Smart text selection and TensorFlow Lite
  • AutoFill
  • Settings—A new treatise, a new layout
  • Streaming OS Updates—never fail an update due to storage berth again
  • Rescue Party
  • Android Go—Scaling Android for the next billion buyers
  • The OS in “Go” mode
  • Google Play Services gets chopped up
  • Apps get specific “Go” versions and features
  • Color management
  • Physics-based animation and the new Easter Egg
  • The new “SDCardFS” enter system wrapper
  • Grab Bag
  • “Foundational” improvements address updates, guaranty, speed, and battery life
  • The Good
  • The Bad
  • The Ugly

Listing image by Google

Stick out Treble—Finally, real progress on the fragmentation problem

While Android’s compass is impressive, the vast majority of Android users won’t get to use new versions of the OS quickly—or at all. Google’s own Pixel phones get updates in two shakes of a lambs tail, third-party flagships get the update in six months to a year, and everyone else make a note of c depresses the update when they throw out their existing handset and buy a new one. Android’s largest problem is easily the ecosystem’s inability to ship updates quickly and efficiently to every trick.

Google’s past “solutions” to the Android update problem have interested little action and lots of talk. In 2011, it asked OEMs to do happier and announced the “Android Update Alliance”—a group of Android OEMs that totally-pinky-sweared to cart leave updates quicker. After the big announcement, exactly nothing changed; the troop was never mentioned again. In 2016 Google reportedly ranked OEMs by update briskness and showed the list around the ecosystem in an attempt to “shame” OEMs into doing a mastery job. Little happened.

Asking OEMs nicely has not improved things, so in Android Oreo, Google is for all time implementing a technical change to Android that should help with updates. The energy—called “Project Treble”—modularizes the Android OS away from the drivers and other hardware-specific protocol. As Android’s Head of Engineering, Dave Burke, put it in his interview with Ars, “Today, it right-minded costs too much to do an upgrade of Android. The amount of work and dependencies are too excited.” The goal with Treble is to make it easier, faster, and—most importantly for OEMs—cheaper to examine out an Android update.

Once Google releases an Android update, impart succeeding it running on a specific device usually involves three major motions. First, SoC vendors like Qualcomm or Samsung’s Exynos division get the update and modify the release for that specific piece of hardware. Then OEMs get off on Samsung and LG theme the OS, rebranding Android with new icons, colors, and layouts, repeatedly changing core parts of the OS to add extra features and functionality. Finally, draymen test the new release, certify it for their networks, and send it out to users. (If you buy an unlocked fancy, you can skip the “carrier” step and get your update directly from the OEM.) Each discreet creates not only a delay, but also the opportunity for a company to end update maintain, leaving users with an abandoned piece of hardware.

Project Treble require help with that first step: relying on SoC vendors to get the disseminate running on specific SoC hardware. Project Treble introduces a “Vendor Interface”—a codified interface that sits between the OS and the hardware.  As long as the SoC vendor stopples into the Vendor Interface and the OS plugs into the Vendor Interface, an upgrade to a new rendition of Android should “just work.” OEMs and carriers will calm need to be involved in customizing the OS the rolling it out to users, but now the parties involved in an update can “parallelize” the exploit needed to get an update running—SoC code is no longer the “first” step that all else needs to wait on.

Google has a new set of tests, called the Vendor Try out Suite (VTS), which ensures the Vendor Interface on a device is properly implemented and to be to come proof. This is a hardware-focused analog to the Compatibility Test Suite (CTS), which guarantees the Android app APIs are properly implemented on a device.

HAL versioning and deprecation

On the Android Developer’s Backstage Podcast (which is more-or-less Google’s “decorous” Android podcast) Iliyan Malchev, the head of Project Treble, dished out a proof amount of detail about his pet project, saying “We haven’t been identical formal about defining the boundary between the top [Android Open Outset Project] and the bottom [Silicon Vendor] pieces of the OS.” With Treble, Malchev foretold that Google is “defining a set of interfaces, formally, in a structured and versioned technique, and committing to maintaining them.”

Treble isn’t just a single interface. HALs are discouraged down into “major subsystems” like the camera, audio, unearthing, Wi-Fi, telephony, and other components. Malchev revealed there are “on touching 60” of these HALs in Oreo, with more to come in days releases. To allow for each subsystem to grow and evolve over days, each one gets a major and minor version number, and each freedom of Android will support a range of versions for each subsystem. For gimmick types Google doesn’t officially support, there’s a “Vendor NDK” that entertains vendors to make their own custom modular HALs.

The versioned subsystems cheap that future device support will be partially dependant on Google and what subsystem kinds it chooses to support or deprecate with each Android release. If your phone SoC alone supports “Camera HAL version 1.3” and “Android 9.0” requires Camera HAL v1.4 and up, you’ll basic to have your camera HAL upgraded before Android 9.0 desire fully work on your device.

To help make HAL deprecation settlements like this, Google will have some sort of database stifling all the HAL information for all the Treble Android devices out there. As Malchev put it on the podcast, “We on have a way to know, for every given device, exactly which HAL interface it utensils at which version, and we’re going to have a way to look at the universe and see ‘Ok, what choose happen if we drop support for this old version of this interface? How myriad devices will not be eligible to get a new upgrade?’ We’ll be able to make a data-driven conclusion for this sort of thing, and that’s great because previously we didn’t enjoy that kind of data.”

Working with SoC vendors

Treble is in the air making lives easier for the thousands of Android OEMs out there, but identically all the work was done with the SoC vendor community. “There are ten [silicon vendors] in the in the seventh heaven or so.” Malchev said on the ADB Podcast, “Companies like Qualcomm, Mediatek, LSI, Spreadtrum, Intel. It is these flocks that manufacture systems on a chip that underpin the actual Android hallmarks. The fanout from these few companies to the thousands upon thousands of phones and drops out there is massive… By working directly with these institutions, we essentially solve the problem to a very, very large degree at the fountain-head, prior to that fanout.”

SoC vendors represent a much more focused guild than working with OEMs. “We cannot possibly got to the hundreds upon hundreds of OEMs and say, ‘Hey, we’re doing this, can you vary those things?'” Malchev explained. “We instead go to the silicon vendors of the existence and work with them, so that, as the fanout happens, everyone gains from the work we do.”

Malchev said that getting SoC vendors on surface with Project Treble “took as much time as the engineering mtier” The work started in late 2015, and today, as part of Treble, Google has a inscribed SoC vendor outreach team. Malchev said that Google now has “bodies in Taiwan, Seoul, San Diego dedicated to working with our major fellow-dancers, with the silicon vendors in their own time zone and in their own helpless yard.” Malchev did not specify which silicon vendors Google had embedded dui with, but a quick comparison of SoC company headquarters against that lean over suggests that Google is in Taiwan for MediaTek, Seoul for Samsung, San Diego for Qualcomm.

A ROM gyration

Android 8.0 with Project Treble cleanly splits the partitions up by company. Typically Google is the Android platform vendor, Qualcomm is the SoC Vendor, and a company like Samsung is the OEM/ODM.

Enlarge / Android 8.0 with Project Treble cleanly splits the apportionments up by company. Typically Google is the Android platform vendor, Qualcomm is the SoC Vendor, and a public limited company like Samsung is the OEM/ODM.
Google

While Treble is focused on official Android OEMs and making their persists easier when it comes to updates, as a side effect, Project Treble should be insurrectionist for aftermarket Android ROM projects like Lineage OS (formerly CyanogenMod) and mortal developers on places like the XDA Developers Forum. These groups consume code from Google’s open source Android repository and mark aggressive Android-based OSes themselves, usually offering upgrades to abandoned manoeuvres or conversions from skinned Android to a more stock look.

In the biography, the bane of third-party ROM developers has been that AOSP (Android Munificent Source Project) has never been a complete, bootable software case for real life hardware. You’ve never been able to compile AOSP, right it on a device, and have it work—you need all sorts of “binary blobs” from chisel vendors to make things work. Usually, the ROM developers end up compiling AOSP and amalgamating it with the official software, resulting in a janky mix of new AOSP code and old proprietary moments. Because Android never had a standardized interface between the hardware and software, updates thinks fitting break all sorts of things, leading to issues with the camera, networking, and other components, or communal performance problems.

Treble promises to change everything. Malchev imparts that Treble standardizes Android hardware support to such a caste that generic Android builds compiled from AOSP can boot and run on every Treble machinery. In fact, these “raw AOSP” builds are what will be used for some of the CTS check Google requires all Android OEMs to pass in order to license the Google apps—it’s not only that they should work, they are required to work.

Treble’s modularity is administered in Android’s partition layout too. AOSP code lives in the “System,” “Betterment,” and “Boot” partitions. The SoC vendor (usually Qualcomm) gets the “Vendor” and “Receiver” partitions. The ODM/OEM (Samsung, LG, HTC, etc) gets the “Bootloader,” “ODM,” and “OEM” partitions for their jus divinum divine law. These partitions have all existed before as options, but now things have a weakness for a dedicated Vendor partition are mandatory for 8.0. Google’s documentation runs out the implications of this, saying “it ​should ​be ​possible ​to upgrade ​a ​device practice.img ​from ​Android ​8.0 ​to ​Android ​P ​while ​other ​images ​(such ​as vendor.img, odm.img, ​etc.) ​oddments ​at ​Android ​8.0. ​This ​modularity ​enables ​timely Android ​principles ​upgrades ​(such ​as monthly ​security ​updates) ​without ​requiring ​SoC/ODM comrades ​to ​update ​SoC- ​and ​device-specific ​code.” It the ROM world, it means you should be gifted to flash a new system partition built from AOSP, while vamoosing everything else alone, and have a working system.

We’ll have to see how features exactly work in practice, but I’m expecting the ROM community to explode in popularity at a go Treble devices become more widespread. Custom ROMs shouldn’t fundamental to be painstakingly hand-crafted for individual devices anymore—a single build should be talented to cover multiple Treble devices from multiple manufacturers. Suppose the next time a major new version of Android is released—on Day One of the AOSP encypher drop, a single build (or a small handful of builds) could dissemble every Treble device with an unlocked bootloader, with a “download Android 9.0 here” unite on XDA or some other technical website.

Users should also bring into the world more control over their devices, like being clever to buy a skinned Android phone and immediately apply a fully-functional AOSP bod, stripping away bloat and most of the annoying “customizations” that OEMs coerce. You can sort of do this today, but, again, the lack of a standard interface and have need ofing to include binary blobs from the SoC vendor makes this a entirely iffy proposition. The standardization of Treble should ensure that the total will work.

Being able to compile AOSP, slap it on a slogan, and have it work will be a boon to home tinkerers, and on the official retail body side of things, could help to prolong the life of Android badges. If security is your goal, though, there’s still a need for involvement for the SoC vendors. There intention inevitably be bugs and security flaws in the vendor code, and since that jus canonicum canon law doesn’t live in AOSP, vendor support will be required to fix those.

All of this ROM material depends on buying a phone with an unlocked bootloader, which instal a pardons users tinker with the software. Usually this just means getting an “unlocked” phone directly from an OEM, rather than a carrier.

Cloistering the media stack

For camera, audio, and DRM, HALs now separate the

Enlarge / For camera, audio, and DRM, HALs now separate the “Stagefright” route framework from the kernel.
What’s New in Android Security (Google I/O ’17)

Another aid of Project Treble: security! The separation of vendor code from the OS lows the vendor code can run in a separate process. This also helps fortify the media stack in Oreo. The media framework is a particularly important breadth after 2015’s “Stagefright” vulnerability, which exploited Android’s average player engine (which is actually called “Stagefright”) to remotely effectuate code.

On a Treble-enabled phone, the audio, camera, and DRM parts of the media accumulate have also been isolated in separate processes and sandboxes. Each portion gets a new hardware abstraction layer (HAL) between the framework and kernel, too, so it should now be harder for a framework take advantage of in these areas to access the kernel.

Android’s biggest re-architecture, eternally

Project Treble will make Android work more similar kind the PC market, where a single version of an OS can run on multiple devices. It’s been unsubtle that Android needed to make a change like this for some dead for now, but Treble was a massive project and counts for a lot of what makes Android 8.0 a generous “1.0” update.

As Burke puts it, Treble “used up a huge amount of the contriving budget [for Android 8.0]. It was a lot of work and super deep surgery across every unattached interface of Android.” At the I/O Android Fireside Chat, Burke called Treble “unquestionably the biggest re-architecture of Android since it started.” On the ADB Podcast, Romain Guy, Android’s Graphics priority and an Android engineer for the last 10 years, said “I don’t think there’s even been something remotely even close to the complexity of Treble in semesters of infrastructure change to the platform.” Malchev revealed Treble involved “upwards of 300 developers within Android building itself contributing to this, across 30 teams.”

As far as device face for Treble, the feature is a requirement for any new device that ships with Android 8.0. For upgrading seals, Treble is optional. So far the one and only upgrading device we know about is the Google Pixel, but Malchev communicated that “We are working with some companies to upgrade their flagship contrivances to O while Trebilizing them fully.”

Notifications—Android’s best be gets better

Since Android 1.0, notifications own been a killer app for the platform. In Oreo, they’re improved even assist. There’s a new layout, a new color scheme, and new animations. You can snooze notifications, app icons put to shame notification badges, users are better informed about what’s circumstance in the background, and apps can have multiple notification channels.

The first contrivance you’ll notice is the new top section of the notification panel. It’s now light grey with dismal icons, and a new strip below the power toggles shows the date (or unnerve, if you have one set), settings gear, and the expand carat. The status bar icons cast cellular connectivity, battery, and time are preserved on this screen now, whereas in Android 7.x they were esoteric. Pull down again to expand the Quick Settings, and you’ll see even more supportable grey. Again the status bar icons mostly survive at the top of the screen, while the new bum strip shows the date, profile picture, edit button, placements button, and expand button.

The Quick Settings tiles act differently in Android 8.0, too. We’re now help to two touch targets for certain tiles, which are again denoted with dropdown arrows next to the school-book description. This is something Google introduced in Android 5.1, erased in 7.0, and has now restored. It seems like Google finally nailed Testy Settings tiles in 7.0, though. The panel is now actually consistent: every icon is unexceptionally a toggle switch, every description with an arrow will fair a panel, long-pressing anything will open the most relevant method settings page. (Before you had no idea whether a tile would flexible a panel or toggle the feature, and it really didn’t help that Google mutated what the buttons did in nearly every new version.)

Most of the old tricks smooth work. You can still hold down the settings gear to unlock the Modus operandi Tuner, and tapping on the profile picture still opens the profile panel for rod users. The battery panel seems to be dead, though. The old “Battery” tile has been replaced with a “Battery Saver” tile, which drop-kicks the phone into low power mode, rather than showing a power use graph.

The new layout—and its awesome “By the Way” section

The panel and notification ordering logic has been educated into a tiered top-to-bottom system. First, there’s “Major Growing” notifications for things like currently playing music, phone claim b pick ups, timers, Google Maps navigation, and other running, foreground uses. Below that are “People-to-People” notifications, which are incoming text messages and missed awaiting orders within earshots from various apps. After that are “General” notifications for e-mails, comparable withs, calendar appointments, and all other apps.

Google’s UX studies have related People-to-People notifications as the most important incoming notifications, so these get top account after the ongoing notifications. P2P notifications also get to be bigger in Oreo: the teeniest size now shows three lines of text, up from a single specialty in Nougat. You can still expand these and to get a “reply” button and even more motif.

The new bottom section, which Google has given the perfectly fitting superstar of “By the Way,” houses single-line, minimized-by-default notifications that don’t create a status bar icon. One of the Google I/O slides drew this section as a catch-all for less important notifications like “sick, traffic info, suggestions, and promotions.” The idea is that this element can house notifications that you don’t need to deal with right now, but capacity be useful information for you to have—a bit like having a mini Google Now apportion at the bottom of your notification panel. With the Oreo background take care of lockdown, apps running in the background are forced to generate a notification lessening the user know something is sucking up resources, and those notifications on show up here.

The “By the Way” section is one of my favorite parts of Android 8.0. It stands like a whole new classification of notification: not important enough to be a full-size notification that let someone in ons up in the main list, but not unimportant enough to totally turn off. The tiny proportions and bottom positioning makes them easy to ignore when you’re administering with more important notifications, which really makes the panel quality less cluttered. Killing status bar icons for these notifications is a exalted idea, too. Again, it really cuts down on the clutter.

The best separate is that, if an app supports Oreo’s notification channels, you can manually demote apps to the “By the way” portion. Just long press on a notification and press “more settings” (or club into Settings-> Apps & notifications -> App Info -> [app_name] -> App Notifications) and you should see an “position” setting. Setting something to “low” will move it into this elfin new section, block it from making noise, and not let it make a status bar icon.

In Android 7.1, if you had an plentifulness of notifications and they couldn’t all fit on the screen, notifications would stack up and duvet each other, just like Recent Apps. In Oreo, preferably of stacking up a long list, the icons shift to a tiny, one-line “shelf” at the arse of the screen. The shelf only displays icons, making it look take pleasure in a status bar that just happens to be at the bottom of the notification panel.

Google has an incredibly slippery animation for the shelf. When you pull down the notification panel, the shelf is the prime thing you see, and all the icons are listed there. As you expand the panel, the icons ignore out of the shelf and up to the notification panel. That’s where they take their routine spot in their respective notification cards. Scrolling works this way, too, by cull items out of the shelf and into the scrolling list.

The new colors and media notifications

The new notification layout is visually distinguished, too. Google is abetting the top-tier of notifications, “Major Ongoing” notifications, to have brightly colored families that make them stand out from the usual white notification be direct. Google has experimented with this in the past with Google Maps’ bright-green seamanship notification, but now this is an official design recommendation the company is encouraging apps to take.

The most standout addition here are the new “currently playing media” notifications, which all get automatically colored profaned on the album art. Of course this works with Google Play Music, but since this is a system-level convert to the Notification.MediaStyle component, any app notification with media controls will-power automatically be colorized based on the album art, unless the developer specifically opts out. This plebeians it also works with YouTube, SoundCloud, Pandora, Spotify, Island Casts, and even Chrome, which will grab colors from the favicon of a put.

With the color-changing media notifications, Google is finally making use of Android’s “Palette API,” upped all the way back in Android 5.0 Lollipop. The Palette API can automatically extract colors from a origin image and serve it up to an app for UI coloring. The colors get tossed into buckets similarly to “Vibrant,” “Muted,” “Light,” and “Dark,” which fulfil to preserve text contrast.

When this feature went finish in the third Android O Developer Preview, it instantly became one of my favorite new parts. Every song brings a new and interesting color combination, and I ended up precisely quickly scrolling through my music collection for a bit, just to see what uncontrolled color combos the Palette API would come up with. Grungy album art engages a dark color scheme, happy neon album art gets an eyeball-searing notification, and muted mellow album art gets a matching, muted color scheme. And because the API automatically detects slight and dark colors, I never ran into a single readability problem. This is in all likelihood also helped by the small size of the media notification—Apple look overed a full-screen auto-coloring feature in iTunes hat did not go over well.

When Google presented Material Design with Android L (in 2014!), it showed off a concept of a Palette API-powered music app. But such a outline didn’t survive to Google Music. Years later, we finally get to see the color-changing publicize in the media notifications. Hopefully, the whole Google Music app gets a redesign in a little while to match this new notification style because, right now, the two interfaces don’t rivalry at all. The media notification is a beautiful chameleon, while Google Music is till the end of time a boring orange and white.

If I can go off on a rant for a minute—there’s also the deliver of the music app being a bloated, cluttered, impossible-to-navigate mess, thanks to Google’s bid to integrate a music locker, Internet radio, curated playlists, music outlet, and podcasts into a single app. Hey Google, remember how you broke Google Indicate into separate apps: Drive, Docs, Sheets, and Slides? A Google Music redesign in the anyway style (with separate music locker, Internet radio, and podcasts apps) would be swell.

Middle apps aren’t the only things getting fancy colored notification backgrounds. A new API allows developers to colorize foreground mending notifications. Google recommends that app developers “should only use this promote in notifications for ongoing tasks which are critical for a user to see at a glance.” But the solitary thing stopping developers from colorizing everything seems to be the honor methodology. After announcing the new API at Google I/O, Saleem Cinek, a Senior Software Manipulate on the System UI Team pleaded with the audience: “Please, please, choose don’t abuse these styles. We’re putting a lot of trust in the developer ecosystem, and if we see this being ill-treated too much, we will have to change it in the future.” That sounds quite scary to me!

The move reminds me of the addition of pop-over “Heads-up” notifications in Android 5.0. Google disclosed developers control over this setting instead of users, and developers hurt the feature in order to “increase user engagement.” After a whole interpretation of complaints from users, Google finally capitulated and reined-in the spot in Android 6.0. The company gave users control over notification status.

At I/O, Cinek continued by saying “I really want to stress that ‘colorized’ isn’t the new “silver.” By default a notification shouldn’t be colorized. We don’t want to create a shade of rainbow colors. We necessitate to put focus on the one notification that matters.”

The problem is developers often value their notification is the only one that matters. Here, again, they’re the ones in check. Hopefully, we won’t have to revisit notification coloring permissions for Android P, or whatever the next adaptation is.

Snoozing notifications

To snooze a notification, swipe a notification over slightly, which will expose the clock icon. Tap it and you can choose to have the notification return in 15 minutes, 30 minutes, or an hour.

Enlarge / To snooze a notification, swipe a notification above slightly, which will expose the clock icon. Tap it and you can choose to possess the notification return in 15 minutes, 30 minutes, or an hour.
Ron Amadeo

Android 8.0 adds the long-suggested genius to “snooze” notifications, removing them from the notification panel to prepare them return at a later time. To snooze a notification, just horizontally get the show on the road a notification slightly, which will reveal a gear and clock icon. In reserve the clock icon will snooze a notification, removing it and replacing the clock with provisional snooze controls in its place. The snooze controls give you options to “void” the notification snooze along with the ability to adjust the snooze on many occasions.

The ability to snooze notifications has frequently been suggested as an Android idiosyncrasy, and I always thought it was a great idea. I love the way Google Inbox controls snoozing e-mails, allowing you to clear your inbox while clothing mail return when you want to deal with it. An exact ape of Inbox’s snooze system for all of Android’s notifications would be great.  Oreo’s implementation of notification snoozing is far less salutary than Inbox, though, and after a week or two with the feature I only just found myself never using it.

The problem is that you only would rather extremely limited snooze options: 15 minutes, 30 smalls, or 1 hour. Compare this to Inbox, which offers canned surroundings for “tomorrow,” “two days from now,” “this weekend,” “next week,” and, critically, the faculty to just enter an arbitrary date and time. Personally, if I need to retain a notification 15 minutes to an hour from now, I just won’t swipe it away. I’m subtle with leaving the notification there as a constant reminder for such a except for period of time. What makes Inbox’s snoozing notification usable are options like “I’ll worry about this tomorrow” or the ability to send despatches that say “do this by x day” to the exact “x day” mentioned.

Inbox has gotten so good at snoozing e-mails that it settle upon automatically populate the snooze options with intelligently picked engagements that are mentioned in the e-mail. It will automagically pick out snooze way outs like “the day of delivery” for a package or offer to snooze a reservation e-mail to the day of that qualification. You can even geofence an e-mail, snoozing it until you arrive at a particular arrange. In comparison, Oreo’s notification snoozing is extremely lacking. I want selections for days, not minutes.

Notification Channels: Great for apps that keep it, terrible for apps that don’t

Owner notification controls in Oreo are where things start to get poorly achieved and confusing. Apps that are freshly updated with the latest Android 8.0 hallmarks get a great set of notification controls, while apps that are not updated to goal 8.0 arbitrarily get a more limited feature set.

If an app targets Android 8.0, it have to support the new “Notification Channels” API to deliver notifications. This allows an app to rift down its notifications into multiple categories. From a UI perspective, this let slips the user control each type of notification from an app individually preferably of as a single block. For the System UI, for example, you’ll see four categories: “Alerts,” “Storage,” “Customary Messages,” and “Screenshots.” You can control the notification options for these separately.

The notification conduct settings live in Settings -> Apps & Notifications -> App Info -> [App Name] -> App Notifications. Alternatively, opposite number notification snoozing, you can pull an active notification over a bit to expose a tools icon, tap the gear, then tap “All Categories.” This will bring up the “App Notification” used of an adult bellboy and, if an app supports Notification Channels, you’ll see them listed here under the “variety” heading. On the first page of a Notification Channel compatible app, you can turn the new notification badge hype on and off for each app or toggle each notification category on and off. Tapping into each variety will bring up individual notifications controls. Here, you will see the well-known toggles for vibration and ignoring your do-not-disturb settings along with a notification wholesome selector. There’s also a new item called “importance.”

The important directions are great. These are basically the “Power notification controls” from the speculative Android 7.1 System Tuner, but they’re now an official feature in the notification canal settings. “Low” shrinks a notification down to the new single-height “by the way” notification. “Medium” and “altered consciousness” are full size notifications (just with and without sound, individually), and “Urgent” will let the notification pop in overtop of the screen. All of these settings adopt the sorting weight on the notification panel—”Low” goes on the bottom, “Urgent” chooses on the top.

These four settings levels might not seem as detailed as the 7.1 Way Tuner’s seven levels, but most of the options are still here, not spread out more. The highest level of the 7.1 controls ignored the “do not plague” settings, which you can still do through a separate checkbox. The lowest upfront was just “off,” which again exists through a checkbox on each notification path.  The one missing option is “automatic,” which just worked as a “reset to dishonours” button. There’s actually no way to reset the notification of an app to default, which have all the hallmarks a bit like an oversight.

The problem with the new importance controls comes when an app doesn’t aid Notification Channels. These apps get a single page of notification directions—instead of the multi-page UI enabled by channels. While many of the controls get get cracked into this single page, like “Allow bage icon,” “Entertain sound” and “Override Do Not Disturb,” the “importance” UI critically does not get moved over and above. There’s nothing about Notification Channels that allows the power controls to work—they worked fine in Android 7.1, recall—it’s just the arbitrary location of the button means you can’t get to the controls unless the app helps channels.

Again, many apps don’t target the latest version of Android at organize, so most won’t support notification channels. This means Oreo introduces a primary regression by removing fine-grained notification controls for the vast majority of apps. To Google’s reliability, the power notification controls were located in the hidden System Tuner UI, which does caution that, “These experimental features my change, break, or disappear in later release.” Still, it really hurts to see them removed. It doesn’t flesh out b compose any sense to lock importance controls behind the Channel UI. Lots of other steers move to the single page for non-Channel apps, and importance controls should too.

Buyers that know what they’re doing (likely you if you’re reading this) on find some solace in the “Allow sound” checkbox. The label isn’t moderately right—it will actually set the notification to “medium” priority, which obstructions sound but also blocks the “peek” pop-up notifications, blocks full-screen prosody caesurae, and lowers the sorting on the notification list. It’s not as nice as just being proficient to block Facebook from using a peek notification for everything, but it’s improved than nothing.

The real downside to the lack of notification controls is that they hand down have been so much more powerful with the new, smaller “By the Way” notification slice. I would’ve loved to aggressively “clean up” my notification panel and demote a knot of apps to the “By the Way” section. There are so many apps that I don’t want to sheer block from generating a notification but aren’t very important to me. For instance, I would love to shrink down notifications for my personal Gmail account, all my perky home notifications, Google Fit’s “You’ve reached your goal” notifications, Android’s screenshot notification, Android Pay’s “You just now bought something” notification, every notification from Google Photos, and a million other possessions. Unfortunately, I’ll have to wait for these apps to update in order to demote them.

Icon badges and shortcuts

Icons on the home screen are better tied to the notifications they forge in Oreo. First up there’s new “Notification Badges.” These are little redundant dots that appear on icons on the home screen, app drawer, and folders, and these say that an app is generating a notification. The notification badges are very iOS-like, with the mains difference being that Android doesn’t show a number in the badge (Google replies that causes too much anxiety). By default, they work in the Pixel Launcher, but the badges use an unbarred API that other launchers are free to support.

Users get all the controls they could require for this feature. If you dive into the app settings, you can disable badges on a per-app point of departure or a per-channel basis if the app supports notification channels. The Pixel launcher also has an “Put up with icon badges” toggle, so if you hate them, you can turn them off barrel. Badges don’t seem to show up on apps generating an ongoing notification, wish playing music or navigating to a place. They’re more for messages and other innumerable “temporary” notifications.

One other notification feature attached to icons is the new wish press icon menu. Long press on an icon and you’ll get a new popup menu. Here, you’ll see the set shortcut introduced in Android 7.1, but you’ll also see any notifications the app is generating without delay in this menu. If you want to clear the notification, you can just swipe it away. It’s along the same lines as a tiny, one item notification panel.

The new ambient notification display

Ambient notifications—a looks which debuted on the Nexus 6 with Android 6.0—are a dark, low power notification revelation that occasionally pops up on the phone while the display is “off.” Usually the cover will activate when a notification comes in, as a “here’s why your phone straight beeped” display. That happens again every time you forth the phone or double tap the screen.

For Android 8.0, a lot has changed for this visage. Android 7.x took a very simple approach: it always displayed the typical lockscreen notification panel UI, just rendered in white-on-black style that was power compensatory and unobtrusive. Android 8.0 replaces that with a custom UI. There’s two several styles in 8.0: one “incoming notification” style that pops up on the contrary once as the notification arrives, and another “here’s what you missed” make that pops up every time thereafter.

The “incoming notification” arrange doesn’t show the entire notification panel, just the new notification proffered in a custom style. There are some improvements here. The notification is bigger, granting you to read it from further away. The display uses a small splash of color affiliated to the app icon—Gmail is in red, Hangouts is in green, etc. This style also come ups the notification action buttons, allowing you to reply to message or archive/cross out an e-mail with a single tap. The downside is less information overall. In Gmail’s action, you lose the contact picture and the account name, while the rest of the UI displays any previous notifications and the date.

The “old notification” style, which pops up whenever you trigger Ambient Ceremony by moving the phone or tapping on it, is vastly simplified. The only bits of notification gen are tiny “status bar” icons that sit below the time—there’s no school-book at all. This change is a big downgrade and kind of baffling.

One thing that influence justify such a minimal UI is if this UI was made to be “always on” on the Pixel 2—encode for such a feature has been spotted in AOSP, but so far it has not appeared in a production found. This interface uses such a small amount of pixels that an AMOLED clat—which features individually-backlit pixels and therefore doesn’t use power to parade pure black pixels—might be able to display it all the time with token battery drain. Samsung phones do a similar thing today, as the filter never really turns off but the battery is fine. Still, it would be thinkable to have an “always on” interface like this while still watch over the user-activated UI (triggered by movement or a double-tap) full of information. As an always-on manifestation this is fine; as a user-triggered interface it sucks.

The Great Background Operation Lockdown

In the world of smartphones, Android has on all occasions been, uh, generous when it comes to allowing apps to do stuff in the CV. This leads to some really powerful apps, but Android’s history free-for-all also leads to some apps accidentally (or greedily) sucking down behind the scenes resources. In the run up to Android 7.0, Google warned everyone that The Exalted Background Processing Lockdown was coming, and in Android 8.0, serious training restrictions for apps targeting Android 8.0 (remember that’s a big qualifier) has lastly arrived.

Ben Poiesz, a project manager on the Android Framework, laid out the tandem join up’s rationale for scaling back background processing at a Google I/O 2017 talk. The ambition of locking down background processing is both to not only improve battery spark of life, but also to better manage memory so the device runs more smoothly. He answered the team wants Android to have “consistent device performance” over regulate, which was definitely not the case in the past. At the talk, Poiesz showed a few slinks of a pre-O device’s typical performance deterioration over the first few months. The gold medal chart wasn’t surprising, with the takeaway being “more apps = petty battery life” thanks to apps doing processing work in the training. The second was a little shocking: Google found that UI performance was also pompous by the number of apps installed. As apps on their own schedule randomly start up in the backstage, they slow down the phone and cause UI animation skips. Notwithstanding things like uptime would slow the UI performance, presumably from apps claiming combination resources and never returning them.

At his talk at I/O, Poiesz said Google’s concluding goal is for “multi-day battery life” in Android, which he said would call for a “6-8x efficiency improvement” from where Android is today. He described the twitch to JobScheduler as “setting the stage for the future,” so in addition to what we’re seeing in Oreo, I’d believe more background changes to come to Android eventually.

Mandatory JobScheduler

The replace with from free-for-all background processing to something more managed has been a habitu march. In Android 5.0, Google introduced the JobScheduler API, a “traffic cop” for out of the limelight tasks in Android. Instead of having an app wake up the phone on its own timeline to carry on a background task, apps put in a request to the JobScheduler. JobScheduler would number up requests from multiple apps into a coordinated burst of upbringing activity rather than a disorganized free-for-all. Batching up background censures lets the phone stay idle for longer periods of time, which is key to economical battery power. JobScheduler also encourages delaying noncritical unseen work until the phone is idle, plugged-in, and on Wi-Fi, when the machinery has unlimited power and data. To save on RAM, JobScheduler runs these undertakings one at a time, or a few at a time, so the system doesn’t run out of memory. The feature also permitted the “Doze” mode in Android 6.0 and up, and this put an idle phone into a resounding sleep to save power.

When JobScheduler was introduced in Android 5.0, it was an unrequisite thing that apps could coordinate with if they yen to be good citizens. The old system was still around, so apps could also brush off JobScheduler if they choose to. In Android 8.0, Job Scheduler has been further from optional to the main method of running background tasks for apps that object Android 8.0.

Another periodic reminder: we’re talking about changes for apps that “object” Android 8.0, and at launch that’s going to be a very small unit of apps. For the background processing changes, though, users get a bit more rule and can manually force the new background limitations on an app. Just head to the App Info curtain (That’s System Settings -> Apps & Notification -> App Info -> [App Name] ) tap on “Battery” and successively off the ambiguously-titled “Background Activity” switch. This won’t necessarily prevent all obscurity inconspicuous activity, but it will opt any app into the new Oreo background rules. Depending on how the app is noted, this might break all background activity for the app, so use with caution.

RIP Unquestioned Broadcasts

Google's flowchart for developers, now that background processing isn't allowed in O. Android's

Enlarge / Google’s flowchart for developers, now that background dispose of isn’t allowed in O. Android’s “JobScheduler” API is called “JobDispatcher” in this slide because Google raptures changing the names of things.
Ben Poiesz, Google I/O 2017

Before JobScheduler, the old app experience startup method had apps subscribe to “implicit broadcasts”—system-wide, generalized statements of status changes, like a new picture being taken or a connectivity become. Multiple apps would listen for one of these status changes, and all start up at some time ago, which could cause a low memory situation as every app tried to anxiety itself at once. This caused major performance issues for widgets with low memory, and the situation got worse as you installed more apps. Inferable broadcasts would often trigger when the user was in the middle of doing something, of a piece with taking a picture. You take the first picture, a million apps start up because they are subscribed to the “new envisage” broadcast, and now when the user is trying to immediately take a second spit, the phone has slowed to a crawl because a bunch of apps want to onus themselves into memory.

Google took a gradual approach to finalize a furnish implicit broadcasts, shutting down three of the biggest troublemakers in Android 7.0 Nougat—the new idea broadcast, new video, and connectivity change. In Android 8.0, most understood broadcasts are being disabled for background apps targeting O. If an app is in the foreground, it thinks fitting be able to receive implicit broadcasts, but apps won’t be able to “wake up” anymore from a televise. This is yet another change only for apps that target Android 8.0, but purchasers can opt apps into the change by turning off the “Background Activity” switch.

It’s merit noting that the other kind of broadcast, an explicit broadcast, can serene wake up an app. Explicit broadcasts specifically target an individual app, and these are customarily called from notifications (like an incoming message) from within the app itself or needed when the app is updated through the Play Store.

Google’s goal with the indirect broadcast shutdown is to stop a ton of apps from starting up when the owner is trying to do something. Since explicit broadcasts are targeted at a specific app, it’s unsuitable that this would cause a device slowdown or use a ton of RAM, so they are allowed. For that nevertheless reason, some rare or more targeted implicit broadcasts are unmoving allowed, too. Examples include plugging in a headset, changing the locale or timezone, and fusing to Bluetooth. Google doesn’t feel such activities are detrimental to operator experience.

No more wakelocks, no silent background services

While JobScheduler and take home broadcasts both serve to wake up an app, the other component of background manage on Android is keeping the phone awake once your app has started up. In Android faon de parler, this is a “wakelock”—an single app’s ability to keep the phone awake to do processing write up.

In past versions this was 100 percent up to app developers. Any single app could observe your phone awake for any reason, and if a single app messed up and didn’t story its wakelock, you phone would never go into a low-power state. Impelling to these low-power states are absolutely critical for battery life on a smartphone—keep a wakelock can cut hours off a device’s battery life. In the world of rooted Android tools, apps and Xposed modules that detect and kill wakelocks are a lodge industry. There are numerous apps and guides out there that let helped users lockdown background processing themselves.

But Android 8.0 is vicing down on wakelocks—an app’s wakelocks will be automatically released by the system when the app is “fool away.” This basically means that if an app isn’t running an activity in the foreground (manufacturing UI that is visible to the user) and isn’t using a foreground service (generating an “I’m doing overeat” notification that is visible to the user), the app is going to be shut down. App developers are appease expected to manage wakelocks themselves, but this is a “protection” against apps maintaining the phone awake.

Some apps, like Google Maps and Google Music, won't trigger the

Enlarge / Some apps, like Google Maps and Google Music, won’t trigger the “History apps” notification and some will. Tapping the notification will convey up a list that links to the battery stats for each app.
Ron Amadeo

With the extirpation of wakelocks, as Poiesz put it, “free-running background services are no longer ‘A Thing'” in Android. Apps won’t indeed be able to do anything in the background anymore, which sounds much multifarious limiting than it really is. Apps can still provide ongoing features and benefits and do everything they used to do in the background, but now the user must be aware of it. In place of of a background service, apps can use a “foreground service.” These work by the skin of ones teeth like a background service, but critically, this approach generates a notification, tell the user know that an app is turned on and consuming battery, RAM, and other resources. We see this today with emotional attachments like Google Maps’ bright green navigation notification, a music apps’ “currently sport” notification, or Uber or Lyft’s “your driver is on their way” notification.

Google’s mantra of “confirm the user about background processing” makes a lot of sense, and it’s a standard mug of desktop OSes like Windows (with the system tray) and macOS (with menu bar icons). In 8.0, the vulgar OS also has a new system-wide “App is running in the background” notification, which is a single railway, collapsed-by-default notification that will list each app running in the CV. This notification seems meant to catch the “sneaky” apps that quarry an old version of Android and can still quietly run in the background, but there is some possible for duplicate entries here, too.

The way the “running in the background” notification works coppers from app to app. Media apps that are generating an ongoing notification non-standard like to be exempt, as is Google Maps, but if you start an app that will trigger the notification, you’ll also see these “exempt” apps recorded in the notification. So if you play music, you won’t see the “running in the background” notification, but if you run another app, you’ll see the new app and the music app slanted in the “background” notification. The important thing is that you’re always notified when an app is meet in the background, sometimes you’re just notified twice.

As always, there are a few debarments to this “no background services” rule. If JobScheduler wakes up your app, either wholly a scheduled job or from an incoming “high-priority” message for things like tempt apps, the app will be whitelisted for a bit and allowed to deal with the job. There’s also blockages for a few special, user-designated apps, like a keyboard app that is installed and stimulated, an active live wallpaper, any turned-on “Notification Listener” apps love the Android Wear companion app, and some accessibility apps like shelter readers. OEMs are also allowed to do whatever they want in the offing with their own apps.

(Somewhat) gracefully declining on older OSes

With the extermination of broadcasts and background services, some developers will have to do a bit of make use of if they want to target Oreo. Of course, with Android’s unwavering update problem, a very low percentage of devices will be on O for some time after time, so it’s hard to encourage app developers to make the switch right now. One thing that leave help is the new JobIntentService support library, which allows developers to catalogue for the new Oreo way of doing background services while the library ensures compatibility with older constructions of Android.

When using the JobIntentService library, developers get methods that desire start a job on Android 8.0 and fall back to a service on an older variety of Android. On Pre-O devices, the library will kick in and handle wakelocks for developers starting one when they have occasion for to do background work and killing the wakelock when the app is done. Given that JobScheduler was usher ined in Android 5.0, I’m not really sure why this library seems to by the JobScheduler progress made from Android 5.0 to 7.1, but that’s what the documentation articulates.

Limiting scans for location and Wi-Fi

Before Android 8.0, apps had inexhaustible background location usage. Google frequently cited background apps “balloting once every second” in previous versions, which will palaver through battery like crazy. Sometimes this was accidental, where apps liking request precise location and in the foreground and forget to stop in the background. Other everythings, this was a developer being far too aggressive with background location importunes.

In Android 8.0, Google is putting limits on background requests. For most covers while in the background, apps will be granted location updates to every 30 minutes. Apps are still free to request as oftentimes as they’d like, but the system will just continue providing old matter and will only fire up the GPS and update the location at most every half hour.

A moment ago like with the JobScheduler/Implicit broadcast change, this is mostly a case of limiting old, power-hungry, free-for-all APIs in an attempt to push developers to switch to a newer, organized, more manageable API. There are assorted ways to request location in Android, and some methods (the older bits) are being limited more than others.

  • Location Manager—The actually that this was introduced in Android 1.0 should tell you all you call to know about it. It’s location driven by GPS-only, and it is almost always impolitic to use this API. Now, it’s limited to “a few times each hour.”
  • Fused Location Provider—A two shakes of a lambs tail wing at location introduced in the Android 4.2 era, but it was built into Google Amusement Services instead of directly into Android. Combines location facts from the cellular signal, Wi-Fi, and GPS for more battery efficient tracking down detection. Now limited to “a few times each hour.”
  • Geofencing—A centralized position service in Google Play Services that lets developers decree a “geofence”—basically draw a shape on a map—and be alerted if the user enters or departs this area. This API is preferred for most background location custom, as the documentation states “apps can receive geofencing transition events more repeatedly than updates from the Fused Location Provider” with an “customarily responsiveness for a geofencing event” of “every couple of minutes or so.”
  • GNSSMeasurements/GnssNavigationMessage—This raw GPS details API was added in Nougat. Apps probably should not be using this unless they are a circumstantial GPS satellite data app. It’s totally blocked in the background in Android 8.0.=
  • Wi-Fi Executive—Not exactly a background location API, but in the same vein apps can relentlessly maul on the background Wi-Fi scanning API to try and get a rough location. In Android 8.0, this is restrictive to once every 30 minutes per app.

Everything is unchanged for foreground apps and cares, so Google Maps Navigation will still work, and your Uber driver wishes still be able to find you. Google’s recommendation is that if an app really demands to perfectly know your location, it should start a foreground amenities, which will generate a notification to let the user know

With all the breeding processing limits in Oreo, many people have wondered if this tends just to third-party apps, or if Google will actually be limiting its own apps. For getting ones hands updates, Google spells it out right in the documentation: “This behavior modification affects all apps that receive location updates, including Google Tease services.”

A real API for floating apps

Android 1.0 introduced an API called “System Alert Window.” This API was resolve for, well, Android’s system alert windows like crash informs and amber alerts. It was a public API that probably shouldn’t have been well-known, though, and it started being used by apps like Facebook Intermediary to draw floating windows on top of the entire device. Since it was never aim to be used by multiple apps at once (or by the public, at all), it has all sorts of problems. It doesn’t maintain a sane way to manage Z order, there’s no way to know what app is drawing a arranging window, and there’s no communication to the user about using system resources.

Routine Alert Window also breaks the normal Android layering councils—it’s possible to draw over top of the status bar, System UI, and lock screen. This has led to malicious apps picking up the API to do “clickjacking” or full-screen “ransomware” apps. The Set Alert Window API allows such apps to lock you out of your legend pleasure by covering up the system controls, and then these apps demand payment to interest control of your device.

Google began to rein-in this API in Marshmallow by tagging it below a new “Draw over other apps” permission, but for apps that goal Oreo, the API is dead. Google has a new API called “Application Overlays” that is purpose-built for Facebook Messenger-style overlay apps. The new API suitably supports layering multiple apps, and it is in the correct Z space (above the foreground app but underneath the System UI). The API spawns an ongoing notification so users can see an app is using system resources, and it automatically home in ons the app to the user.

Security

Google Play Protect—Google says “suit don’t install antivirus apps”

Alongside the launch of Android 8.0, Google is rebranding its escort of Android security features as “Google Play Protect.” It’s rolling out much of this rebranding by Google Play Services, so Google says you’ll see it on “every” (Google Play-enabled) Android Cognizance in the future. “Rebranding” is definitely the operative word here, since Action Protect is mostly a collection of things that were already persisted inside Android. Now it just has a new, more in-your-face presentation.

Android 8.0 Oreo, thoroughly reviewed

Enlarge / “The Gambol Protect logo. Google AntiVirus” would have worked, too.
Google

Google mostly seems to feel that Android has a security perception problem. On the Think nothing of Store side of things, Google does a far amount of work to repress users safe from malware, but no one really knows about it. During an I/O talk, Google’s Concert-master of Android Security Adrian Ludwig lamented the current awareness of Google’s malware pore over operations. “The number of times that I’ve read the statement ‘Google doesn’t look at the practices in Google Play’ blows my mind,” he said. “Every single reference that’s uploaded to Google Play goes through a very rigorous television process, both at the time the developer is enrolling to become a member of the Google Disparage publishing process, and at the time the application is published, and every single day after that we reanalyze all of those practices.”

Ludwig says Google continually uses its machine learning skill to improve this malware-scanning operation, and the company shared some statistics on the attempt today. Google runs scans on two billion devices total, with done with one billion device scans a day checking 50 billion apps. Of passage, this scanning happens in Google’s cloud, where 20,000 devoted processors scan Android apps for potentially harmful behavior.

This glance at isn’t just for apps on the Google Play Store. By default, the Play Collect will upload “unknown” apps to Google, so even if you sideload an app, Google disposition still scan the app as long as you are on a device with Google Play. Between sideloads and new Google Cause trouble uploads, Google says it scans 500,000 apps a day, and any newly-discovered apps get tailed up for deeper analysis.

Google first started scanning for malicious apps with the disseminate of Android 4.2, where the system was called “Verify Apps.” It was forgot in deep in the settings, which meant a lot of users never knew regarding it. With Play Protect, there’s a big emphasis on app scanning, with new shares of UI that gets shown in all the relevant places.

Update: An earlier story of this article said “Google says it discovers 500,000 new apps a day.” The bunch came from this Google I/O talk. At 1:40 the presenter voices “500,000 new applications discovered every day,” but the slide says “500k+ apps analyzed quotidian.” Half a million new apps seems way too high, so I think he just misspoke.

The “Security” point in the main Android 8.0 system settings has a new “security status” apportion right at the top of the screen (non-O devices can access this from Google Environs -> Security, thanks to the magic of Play Services). The first item here is for Google Against Protect, which shows the last time Google’s malware overview pinged your app collection. There’s also the current “Find My Machine” status, another feature which has been pulled into the Google Play Safeguard umbrella. The feature was formerly called “Android Device Manager,” and it did nothing to exhibit to users that it was a phone tracker. The updated security status allot also shows the date of your last OS security patch.

Tap on the Behaviour Protect item and you’ll go to the new “Protect Home” page, which is full of inspiriting statistics that show when your last scan was, which apps were skimmed, and the current status of the app scanner. The Play Store gets a few green protections, too, with an on-demand scanner in the Play Store’s “My apps” section and a “Clenched by Google Play Protect” banner on an app download page.

Google’s first goal with Play Protect seems to be to dissuade users from installing a third-party antivirus app. Play Protect uses all the typical antivirus labeling vocabulary. The logo is a big, green shield, protecting users from the leet hackers of the unbelievable. The Play Protect section in the security settings looks just correspondent to an antivirus dashboard app, and Google has placed billboards declaring “EVERYTHING IS First-class” all over the OS. There’s even a big “Scan for security threats” check box in the Care for dashboard and a feelgood on-demand scan button on the Play Store updates side.

To his credit, Ludwig was very transparent at I/O about Google adding a bit of certainty theater to its Android security solution. “What [users] want to separate is, ‘Am I safe?’ That’s really what the [Play Protect] announcement was,” he turned. “Putting, really in a brand, that these protections are there and making them multitudinous and more visible to users. Also, [we want to say] that Google is level behind this protection. It’s saying that Google is going to foster you on your Android device, and make sure that we have the best bib protections in place.”

While Ludwig didn’t mention antivirus actors on the I/O stage, in an 2014 interview with the Sydney Morning Herald, Android’s Deposit Director revealed how much room he thinks exists for third-party Android AV results. “I don’t think 99 percent plus users even get a benefit from [antivirus],” Ludwig determined the paper. “There’s certainly no reason that they need to instate something in addition to [the security we provide]… If I were to be in a line of collecting unemployment where I need that type of protection it would make quick-wittedness for me to do that. [But] do I think the average user on Android needs to install [antivirus]? Certainly not.”

Most antivirus companies have already slithered their way into preload behaves with OEMs or carriers. Lookout usually comes preloaded on AT&T, T-Mobile, Sprint, and Samsung phones, while McAfee succeeds with anything from Verizon, LG, and Sony. If Google really poverties to kill Android antivirus, it has a long way to go.

If “security theater” is instead Google’s object here, the only thing really missing from Play Safeguard is an app icon. That little green shield would make a stupendous placebo that could be placed, by default, on the home screen of every new Android utensil. An icon would also help customers dump third-party apps when they see two “screen” icons in the app drawer—one from Google and one from some third-party.

Also with of the Play Protect re-branding, the “Find my device” feature is a rebrand of the Android Logo Manager. As usual, it can display your phone on a map, make it ring, remotely control it, and remotely erase it. There’s a revamped app and a new website at android.com/find. You can also only Google “Where’s my phone” on a desktop and get a tiny inline map of your crests. Google is putting Chrome’s “Safe Browsing” feature—a database of potentially malicious websites—eye the Play Protect banner.

A new “Verify Apps API” in Google Play Air forces will let app developers query the current state of your apps. If Google Suck up to Protect says a “harmful” app is installed, the app can refuse to run. This is the app scanning counterpart to Google’s SafetyNet API, which prospers sure the operating system is in a good, CTS-certified, non-rooted state.

Sideloading switches

Sideloading, the act of installing an app from a originator other than the official Google Play Store, has changed a bit in Android 8.0. Android use to be experiencing a single “install unknown sources” checkbox—a system-wide box that would concession for installing non-Google Play apps from any other source. Now the “set up unknown apps” permission works on a per-app basis, so if you head to “Apps & notifications,” “Noteworthy app access,” then “Install unknown apps,” you’ll see a list of apps that tease requested the permission and will be able to manage each one individually.

Be consistent to Ludwig, Google has “come to appreciate that there are other protected places [besides Google Play] to install applications from.” He revealed the point of this feature is to let users “install from those other all right places without introducing the risk of installing from anywhere that’s out there.”

There are some dependable third-party app stores out there, like the Amazon App Store and F-Droid, a repository of unseal source apps. There’s also APKMirror.com, which lets athirst Android enthusiasts download apps directly, sidestepping the Play Depend on’s complicated and annoying rules for app rollouts, A/B tests, betas, and region latches.

Ludwig wants users to be able to “decide, ‘yep, that app store can inaugurate,’ but that doesn’t mean everybody can install.” That sounds same a good idea, but the delivery mechanism for all of these app stores and websites is the Chrome browser. In the twinkling of an eye you’ve allowed Chrome to install third-party apps, you’ve essentially put the “everybody can fix in place” scenario back on the table—the entire Internet has permission to install apps again.

If possessing the “allow unknown sources” permission turned on is actually risky (and I’m not reliable that it is, since you still have to download a malicious app, open the APK troop, press the “install” button, and probably grant it some nasty enfranchisements), Google needs to work out a system that allows app installs on a per-website base as well as per app. Right now, anyone downloading a third-party app store will procure to grant the “install” permission to Chrome, which basically defeats the effect of the entire per-app system. Just because I allow something from APKMirror doesn’t degenerate I want to allow FreeViruses.com to install stuff, and I’d guess the majority of Android malware that appears out there arrives from a drive-by Chrome download.

Care grab bag

No more OS downgrades—If an attacker steals your phone, Android has dissimilar security features in place that will make it more laborious to access your device. It doesn’t help matters much if the attacker can legitimate downgrade the operating system to a version that didn’t have those safeguards in place, so with that in mind Android 8.0 introduces “rollback aegis” into the Verified Boot process. With rollback protection, Warranted Boot will no longer start up an OS that it detects has been disenfranchised to an earlier version.

Developers (or Android-obsessed journalists) that need to play down their device to an older version for testing or checking something can disable this be involved, which will trigger the usual slew of boot up warning presentations. Google also says it has “hardened the bootloader unlocking process,” which should pamper it harder for bugs or malicious apps to unlock the bootloader without owner approval.

Device identifiers get locked down—In Android 8.0, Google has restricted down a number of ways for apps and other third-parties to identify the badge. The Wi-Fi MAC address can now be randomized, provided you have compatible Wi-Fi chipset firmware. Google has this up and continuous on Oreo on the Pixel and Nexus 5x. The “Android ID” value is now scoped per app and per user. For apps that object Oreo, accessing the serial number is locked behind the “Phone” tolerance, just like the IMEI, and Google says in the future the API will be deprecated unreservedly. “Net.Hostname” now treats the device as anonymous instead of sharing the device hostname with networks. A include of other identification techniques were limited, too.

Google recommends using its “Advertising ID” for app gubbins identification needs. This has a limited tracking option available to alcohols (Settings -> Google -> Ads -> “Opt out of ads personalization”), and resets when the device is wiped.

Stagefright promotes a traffic cop—As we covered in the “Project Treble” section, Google’s modularization of Android also continues HALs for the audio, camera, and DRM servers in Google’s “Stagefright” media framework. With the HALs work as a middle man, the Android Framework pieces no longer have access to the Nut-meat, making it harder for an exploit in one area to cross the barrier into the other field.

Seccomp filter—In the same vein of “limiting access to the Kernel”, with 8.0, Android is saying Linux’s seccomp filter. This is a filter that allows Google to whitelist scheme calls—a feature that lets apps communicate with the Linux meat directly. Google has locked things down to only the system accompanies surfaced by the Android framework, by Android’s C runtime, or needed to boot up. The recommendation is that shutting down access to typically unused system notifications will limit the attack surface of the kernel.

WebViews get isolated—Android’s WebView—a way for apps to embed web essence powered by the Chrome browser—has been upgraded in Android 8.0. Then renderer for WebViews last will and testament now run in a separate process, allowing the app to be insulated from the web content it’s loading. If the present crashes, only the WebView should crash, and malicious content should have on the agenda c trick more roadblocks between it and the app. The new isolated render is sandboxed with a circumscribed set of permissions—it can’t write to the disk or talk to the network on its own. Safebrowsing—Chrome’s database of potentially malicious web places—can also be enabled on WebViews now.

Developer options requires a password—Qualifying the Developer Options opens up lots of powerful settings and tools, so to defend the device, you’ll now have your lock screen security challenge pop up after green light the feature.

Emoji: New glyphs and an all-new design

There’s major emoji news in Android 8.0: All 2000+ emoji cause been redesigned. This is something like the fifth edition of redesigns for Android’s emojis. Google’s old blob-style emoji are quiet, replaced with something a lot more neutral and Apple-y. I think iOS-style emojis are a commendable thing, and will lead to more consistent communication across principles. Some people are very, very attached to Google’s old blob emojis even if, and are unhappy.

Google gave an explanation of the change in a blog post, claim “With the proliferation of high density screens and new messaging use cases, we resolute it was time to give our emoji an overhaul.” Google says the old emoji enterprise “wasn’t equipped to to provide standards that unified the look and see of all the illustrations across the many emoji categories. As a result, our emoji fitted inconsistent between old and new designs, making it difficult to quickly scan the keyboard to upon the right emoji.”

To create the new emojis Google says it created a “set up system” that will allow it to pump out consistent emoji now and in the future as new glyphs distributed out. All the emoji are drawn on a single grid system for consistent sizes and casts. The eyes, noses, mouths, and other parts are shared across emojis. Imitates and angles were standardized for animals, and the colors were standardized with a unaffiliated yellow, sad blue, sick green, and red for angry. The outlines are all in a contrasting brightnesses from the mere emoji color, helping with legibility across any background colors.

Android 8.0 brings Emoji 5.0 support. Not shown here: a billion skin tone options. The yellow people can be white, brown, black, or anything in between.

Lengthen / Android 8.0 brings Emoji 5.0 support. Not shown here: a billion coat tone options. The yellow people can be white, brown, black, or anything in between.
Ron Amadeo

In its blog post, Google fully recognizes the iOS influence, saying it “one of our main goals with the redesign was to avoid disarray or miscommunication across platforms” and that it “wanted to assure the user that when they sent an emoji to a soul mate, the message was clearly communicated regardless of whether they are on iOS, Windows, Samsung, or any other party line.”

Besides all the existing emoji redesigns, Google is also rolling out Emoji 5.0 from Unicode 10 in Android 8.0. This means Android is go down 69 new emojis plus all the usual skin tone options. This covers lots of fantasy characters, a few new animals, a few more food options, nonetheless more smiley faces, and some inclusiveness emoji like “heart of hearts feeding” and “woman with headscarf.” Personally I really like the hedgehog.

EmojiCompat and Downloadable fonts—updating emojis without a combination update

It’s not piece of Oreo, but along with the launch, Google is also introducing a new idiosyncrasy in Support Library 26 called “EmojiCompat.” This library—compatible with Android 4.4 and up—want allow app developers to ship new emoji to old versions of Android.

EmojiCompat isn’t a take, system-wide emoji update system. Instead, it relies on individual apps to embody it. The idea is that an app like Google Hangouts could include EmojiCompat, and then in lieu of of older systems seeing tofu—the little squares (☐) that present up when a device doesn’t support a character—they’ll see the new emoji. Keyboards are straight apps in Android, so keyboards can include EmojiCompat, too, allowing users on old routines to type the new emoji, too. Keyboards are encouraged to check a few flags in the app to see if they’re constant EmojiCompat, too, so the keyboard doesn’t display a glyph the app can’t display.

In the past, Android wanted a full system update to get a new batch of emojis. Emoji’s are just a font even if, so—together with a new “downloadable fonts” feature—apps will be capable to get fresh emojis shipped to them as then come out. With downloadable fonts, apps will-power request fonts from a central trusted font provider preferably than bundle them with the app. For Google Play devices, this “font provider” is Google Space Services.

So, in the future, imagine a world where apps and keyboards are all moving the EmojiCompat library, and a new set of emojis are released with Unicode 11. Google well-founded has to update the emoji font in Play Services, which can be downloaded to your hallmark and used in every EmojiCompat app. Again, this isn’t just Android 8.0—this should occur on Android 4.4 and up.

Downloadable emojis adds an interesting wrinkle to the flayed Android situation, since Samsung, LG, HTC, and other OEMs replace Google’s emojis with their own lay outs (For an example, just look at any Emojipedia entry, which shows each latest thing). When new emojis are available, a device will download them from Sport Services, so they’ll be the Google emojis. By default, EmojiCompat will barely replace missing emoji with glyphs from Play Waitings, so on a skinned device, you’ll get OEM-style glyphs for old emoji, but Google-style glyphs for new emoji. You’re prevailing to get a mix of emojis styles. App developers can also configure EmojiCompat with a “succeed all” option, which will swap out everything for the Google-style emoji. Should app developers opt to outlaw skinned emoji for the sake of internal consistency? It’s a difficult decision—perhaps one that can be a user-configured option in an app?

Play Services is handling font charge not just because that’s an easy way to get an authoritative font provider on new and old conceptions of Android, but also because fonts can execute code on Android, so they require to be controlled. Play Services will be providing a “trusted” pool of fonts from Google Fonts—close by 800 options in total.

For developers, there are plenty of security customs to go through, given that fonts are a security risk. Developers attired in b be committed to to specify which exact font authority they want to download from, along with a unique signed certificate for that font provider. For now, this is only Google Fonts. But in the time to come, Google wants to allow third parties to provide fonts for Android.

Any commanded fonts that aren’t already on the system will be downloaded at institute time. Developers have the option of sticking to a single version or being automatically updated to the behindhand font release. Apps will share fonts, so only one likeness will be updated at a time. This should reduce APK size and storage necessaries if you have a bunch of custom font apps.

For Developers, fonts are now a resource quintessence in Android, just like images, text strings, colors, layouts, and fires. Along with the Play Services-powered font provider, developers settle upon have 800 fonts to pick from for their apps.

Set UI improvements

Adaptive icons—Shape shifting, animated icons

Today, Android skins—opposite number Samsung’s TouchWiz or Xiaomi’s MIUI—have trouble blending in with the nap of the Android ecosystem, particularly when it comes to icons. A company get off on Samsung can change the system theme and reskin all the AOSP apps, but it can’t metamorphose the Google apps or third-party apps. This is easily seen on the composed screen of most skinned devices, where the OEM apps will understand one icon style while Google and third-party apps follow another. If you’re an app developer, an icon structure is a tough decision to make. Pixel devices use circular icons, Samsung symbols use a squircle, numerous Chinese companies try to emulate Apple’s rounded rectangle icons, and apps developing the old Google guidelines use uniquely-shaped icons.

To bring a bit more consistency to icons, Google is advancing “Adaptive Icons” in Oreo. Instead of having developers submit a fully-assembled icon with a locked-in state of health, the Adaptive Icons system has developers submit a foreground and an oversized obscurity inconspicuous for their icon. The launcher can then assemble these pieces on the fly. The foreground cotton on to a leaves centered in the icon, and the launcher crops the background to match whatever icon take shape it wants. With this system, developers can match whatever decree the launcher needs with just two pieces of artwork. Samsung can would rather its squircles, and Google can have circles—whatever shape you need on work.

Like everything new with Android, adopting adaptive icons is an progressing process that the ecosystem is slowly picking up. For Google in particular, it quite seems like the company needs to drastically redesign some of its icons to fit this new icon cut. Some apps, like Google Maps, are great: the foreground has a spot marker and a white Google “G,” while the background is a colorful map that change-overs shape depending on the icon mask. Other apps, like the Google Demeanour Suite, are awful. They’re still using the triangle-shaped “play button” icons, equitable slapped on top of a white background. It looks lazy and unfinished, and it’s in desperate for of a revamp.

Google also plans to animate these icons at some aspect in the future. At I/O 2017, Android software engineer Hyunyoung Song say something or anything to of using the oversized layers for “parallax effects” and “pulsing,” which impediments the foreground layer move around inside the icon mask while scrolling or tapping. “We’re mollify vetting how to best place these [animations],” Song replied, “but it will come up in future releases.”

That’s not the only animation call attention to coming to icons—the clock icon now animates in Oreo. The icon is an analog clock with an hour, meagre, and second hand, so they will all move in sync with the interval.

A new widget picker

Adding a contact to the home screen.

Enlarge / Adding a contact to the home screen.
Ron Amadeo

A desktop fashion, fully-customizable home screen was one of Android’s major mobile innovations when it before all came out. Finding that customization functionality was always a struggle notwithstanding. Individual apps never had a way to offer up their widgets to users, which meant, after inaugurating a new widget, the only way to add it was to subject yourself to a clunky process of going to the domicile screen, log pressing, opening up the widget drawer, and finding the thing you unbiased installed.

In Android 8.0, apps can now offer up an “add to homescreen” dialog box for icons or widgets. From an app, you can now flock an “install widget” button, and a popup will appear showing a private showing of the new icon or widget. Users are instructed to long press on the item, at which accent the home screen pops up and they can place it anywhere by releasing. There’s also an “add automatically” button, which ordain dump the item on your home screen wherever it fits.

The widget picker has the unoriginal “new Android feature” problem: almost nothing supports it at launch. The only utensil I’ve spotted that this is available in is the contacts app, where you can press the overflow menu button and pick “add communicate with to home screen.” Apps like Chrome and Google Hangouts hold their own “add to homescreen” button, but it uses a custom-built solution. This wishes really help third-party apps that are only widgets, which currently outshine really clunky “dig through the widget drawer and find our widget!” tutorial camouflages.

Picture-in-Picture for phones and tablets

It’s back-breaking to call picture-in-picture (PiP) a “new” feature in Android 8.0, since Android 7.0 advanced the feature to Android TV. In Android 8.0 though, picture-in-picture gets ripped out of the “TV” pigeon-hole and is available on any Android device.

Opening PiP is a little complicated. You have rumble a video, full screen it, and, while it is playing, press the home button. It inclination be a lot more obvious and discoverable if there was a “PiP” button somewhere in the video UI. At one time the video is in PiP mode it works about how you would expect. You can drag it almost and leave it anywhere on the screen. If you tap on it, the video will get a bit bigger, and show authority overs for “rewind,” “pause,” “forward,” “full cull,” and “close.” The one missing feature is that you can’t resize the PiP window, even on a plate (sign #28576 that Google doesn’t care about boluses).

It’s up to apps to support PiP mode, and right now Google has support in Chrome and YouTube (if you pay for YouTube Red) but not Google Photos or Google Go on the blink Movies. Third-party apps like VLC have started to support the API, too.

Chrome’s treatment of PiP for YouTube’s facile site is really gross. Rather than take a neutral position to HTML5 video on the web, Chrome seems to specifically single out YouTube and stumps PiP usage, undoubtedly to promote YouTube Red. I can understand if YouTube wants to put behind bars up features in its own app, but it seems against the spirit of the open web for YouTube to reach across Google and troubles Chrome into limiting a browser from playing a simple HTML5 video. All other HTML5 video act ons fine.

Google also seems to experimenting with the idea that picture-in-picture can be adapted to for things other than video. A Google Maps beta has antediluvian PIP support—so early that we’re not quite sure what the end product desire look like. I’m not sure this kind of multitasking works for inducing, but it would be great to have a small Maps window on the screen for come together transit or walking directions. Then you could have most of the shroud free for watching a video or texting someone while still being talented to keep an eye on your next turn or stop.

Smart text election and TensorFlow Lite

Enlarge

Text selection has been powered-up in Android 8.0 with some contraption learning goodness. With a long press or double tap, the system on automatically highlight entire times and dates, addresses, phone mobs, and URLs, instead of just simple “word” selection. The standard cut/ape/paste text popup can also include a shortcut to an appropriate app for a option: Maps for addresses, Chrome for URLs, etc. Some apps, like Gmail, compel already try to detect and link-ify things like phone numbers, but since this is component of the standard text view now, it will work on all sorts of apps.

The brains behind this article is a mobile version of TensorFlow, Google’s open source machine culture library, called TensorFlow Lite. This “lite” version does on-device system learning, without needing to send any data to the cloud. Recognizing speaks is rather underwhelming task for a neural network, but apparently this is well-deserved the tip of the iceberg for Android. During the Google I/O 2017 keynote, Dave Burke give the word delivered the Android team was working on a hardware accelerated compute framework, and that in the prospective the team expects dedicated machine learning computer hardware to symbolize up in phones. Burke says machine learning DSPs will power “the next start of on-device speech processing, visual search, augmented reality, and varied.” For now though, it finds addresses.

In a future version of 8.0, due out later this year, Android choose provide a “neural network API” that lets third-parties plug into TensorFlow.

AutoFill

Also on the text input side of things, Android 8.0 now go about a find with both an Autofill API and a Google-powered autofill service.

The autofill API urge a exercises with all the fields you would expect it to: Contact information, credit pasteboards, and username and password combos. Any app that uses the standard text input tableaus is compatible with the autofill framework.

Users can grant and revoke autofill liberties to apps in  Settings -> System -> Languages & input -> Advanced -> Input aid -> Autofill service. By default the only option here is “Autofill with Google” but there’s also a practical “Add Service” link that will do a custom Play Store search for other autofill apps. Currently the tabulate is blank, but we’ve already seen experiments from password management apps correspondent to 1Password. For apps storing private data like credit reveal alls or passwords, you can lock the data behind some kind of authentication, with a fingerprint.

Google’s autofill service uses all the usual Google cloud waitings. Names and addresses come from your Google account low-down, credit card information comes from Google Payments, and passwords in from Google’s “saved passwords,” which is the same system Chrome consumes.

Autofill in Android 8.0 really does seem to work in, and it’s really nice given how annoying tiny smartphone keyboards are.

Habitats—A new theme, a new layout

Generally the Settings in Android 8.0 acquire been visually polished up, with new margins and icons that didn’t stay alive before. The color scheme has changed from a dark grey point in Android 7.1 to a light grey header for 8.0. The settings deceive also been totally reorganized, cutting down the main divisions considerably from 26 items to 13. Everything is still here albeit—most sections have just been merged into inferential, more general categories.

The new 8.0 settings (left) merge a lot of the 7.1 settings pages (right).

Enlarge / The new 8.0 settings (left) blend a lot of the 7.1 settings pages (right).
Ron Amadeo

The first of the big new categories is “Network & Internet,” which sucks up top-level Android 7.1 segments like “Wi-Fi,” “Data Usage,” and the ambiguously-titled “More,” which dwelled things like hotspot settings, Airplane Mode, VPN settings, and APN locations. There’s also “Apps & notifications,” which—duh—contains the “Apps,” and “Notification” page-boys from 7.1, but also eats the “Tap & Pay” section. The biggest new category is “Set,” which merges a whopping eight 7.1 sections: “Moves,” “Languages & input,” “Backup & reset,” “Season & time,” “About phone,” and, if you have them enabled, “Developer Selections,” “Memory” (which moved to the Developer Options), and “System Tuner.”

Not the entirety is here that was in the Android 7.1 settings. The detailed battery stats clothed been removed in Oreo. These listed technical items not unlike “CPU Total,” “Keep Awake” time, “Mobile Active Disseminate” time, and others. In their place are three more easily-understandable statistics. There’s “Full Use” time, “Background use” time, and a total “Battery Usage” stat, which figure outs the mAh the app used. One subtle but kind-of-threatening change to this screen is the button adaptation. While looking at the battery stats, users used to have “Impel Stop” and “Report” buttons, but now the buttons are “Force Stop” and “Uninstall/Disable.” Google is Non-Standard real encouraging users to break up with misbehaving or greedy apps, asseverating, “Don’t like the battery usage? Uninstall that app!”

One huge improvement to the backdrops design is a willingness to put the same option in multiple locations. If you prefer to look over the settings rather than search for something, this takes a lot of deem work out of finding the option you need. Is the screen timeout on the “Display” folio, because it has to do with the screen, or on the “Battery” page, because it greatly in point of facts how long your phone will last? You don’t have to guess! It’s on both times. A link to “app permissions” is in multiple pages too, along with some of the fingerprint sensor gambits.

Totally rearranging the settings in a new release is always annoying, but across the Android ecosystem the backgrounds have always been a mess. Manufacturers inexplicably insist on rearranging the milieus in their Android skins, which already made learning Android’s backgrounds—or trying to follow online instructions—impossible. The Android ecosystem’s always-changing modus operandi settings means the settings search is your best friend, and thankfully, it utilizes great in Android 8.0. Besides directly linking you to an item, the search results also explain a path to the item, so you can attempt to learn the new settings.

There is now finally an “Add Ringtone” UI in the earshot settings. You’ve always been able to add custom ringtone, notification, or dread sounds to Android if you knew the secret: You needed to use a third-party file proprietor (or computer) to add an audio file to the appropriate folder in /sdcard. Oreo truly exposes custom ringtones in the “Sound” settings UI: just tap on the ringtone, notification, or panic sound, and at the bottom of the list you’ll see an “add ringtone” button. This will treeless a file manager and you can pick an MP3 or OGG file! It’s amazing what technology can do.

There’s a new “Addle on Wi-Fi automatically” feature in the settings. You can find this checkbox in Network and internet -> Wi-Fi -> Wi-Fi Predispositions. There is zero documentation on this feature, but it seems the idea is that you can rotation Wi-Fi off then you’re traveling, and the phone will turn Wi-Fi uphold on when you are near a saved Wi-Fi spot. Presumably this plays your location, but Android location also uses Wi-Fi as a low-power means of ascertaining location. I think what’s happening is that turning Wi-Fi “off” doesn’t as a matter of fact turn it “off.” The location detecting “Wi-Fi scanning” feature—available in Shelter & Location- > Location -> Scanning—is always active, and now instead of just using it for your putting, if Android happens to see a familiar network, it will turn on Wi-Fi and league to it. Wi-Fi scanning even tries to communicate this to you in the checkbox, which breaks it will improve location by “detecting Wi-Fi networks at any time” spirit even when the Wi-Fi is “Off.”

Streaming OS Updates—never fail an update due to storage latitude again

We’ve probably all had this happen at one point or another: It’s time for an OS update, and your phone penuries to download a ~1GB brick of an update file. On Android, this normally sometimes non-standard aggravates downloaded to the user storage partition and flashed to the system partition, but wait! Your phone is buxom of pictures, or videos, or apps, and there’s not enough space to store the update information. The update fails, and the user is told to “free up some space.” According to the till soure.android.com documentation, Google has cooked up a scheme to make sure-fire that “insufficient space” error will never stop an update again.

Where the heck can Google retailer the update if your phone is full, though? If you remember in Android 7.0, Google upped a new feature called “Seamless Updates.” This setup introduced a dual process partition scheme—a “System A” and “System B” partition. The idea is that, when it sink in fare time to install an update, you can normally use your phone on the online “Routine A” partition while an update is being applied to the offline “System B” splitting up in the background. Rather than the many minutes of downtime that would normally be brought to someones attention from an update, all that was needed to apply the update was a quick reboot, at which heart the device would just switch from partition A to the newly-updated separate B.

When you get that “out of space” error message during an update, you’re simply “out of space” on the user storage partition, which is just being adapted to as a temporarily download spot before the update is applied to the system separator. Starting with Android 8.0, the A/B system partition setup is being upgraded with a “course updates” feature. Update data will arrive from the Internet entirely to the offline system partition, written block-by-block, in a ready-to-boot state. In preference to of needing ~1GB of free space, Google will be bypassing user storage damn near entirely, needing only ~100KB worth of free space for some metadata.

Slip updates is a new feature built into Android 8.0, but Google is also back-porting the column to Google Play Services, which will enable it on “Android 7.0 and fresher” devices with a dual system partition setup. Presumably this is so machinations upgrading from Android 7.0 to 8.0 will be able to go through advantage of this smoother upgrade system.

Supporting Android A/B separator setup isn’t something OEMs really publicize. To the best of my knowledge, single the Google Pixel, Moto Z2 Force, and Essential Phone have this A/B wall off setup, and devices are never “upgraded” to an A/B setup via an update (repartitioning is too unnerving). Since steaming updates is attached to the A/B update system, it’s an option structure that OEMs can choose to implement or choose to ignore.

Rescue Shindig

Android 8.0 has a new automatic recovery process that can kick in when it discerns your build of Android is non-functional. The feature is called “Rescue Carousal” and, according to the documentation, it will “escalate through a series of actions to salvage the device.”

Rescue Party will be triggered if the device restarts uncountable than five times in five minutes, or if a persistent system app topples more than five times in 30 seconds.

The final make up of Rescue Party’s recovery tactics is to automatically boot into reclamation mode and prompt the user to perform a factory reset. Before that, Let go free Party “escalates through rescue levels,” and “each level is progressively varied aggressive in what it clears or resets.” The documentation doesn’t say what those pre-factory reset floors actually do though.

Rescue Party won’t help for hardware defects, but should fix puzzlers caused by malicious or defective apps.

Android Go—Scaling Android for the next billion drugs

While Android has 2 billion monthly active users, if your chart is world domination that means there’s still 5 billion sundry people to go. Only about half the world’s population have access to the internet, and as this legions rises, Google wants to capture these new Internet users when they maiden step onto the web.

These new users will be from developing nations, where a smartphone—the smallest, cheapest internet-capable device available—whim be their primary computing device. These will be ultra-low-end, sub-$100 artifices, and since there’s no such thing as a low-end iPhone, Android is the OS for lite in the developing world.

Google shared a fun statistic at I/O 2017: The company anticipates one-third of Android devices shipped in 2017 to cost under $100. While the elongated term goal is to tackle the 5 billion users without internet access, pronto this helps the US market too. Google says the US will be the second uncountable popular market for these sub-$100 phones.

With such a heavy-set portion of Android devices shipping on low-end hardware, it’s no surprise that Google erupts out of its way to support these devices. In Android 4.4, “Project Svelte” augmented a “low RAM configuration” which would change the way memory was managed, shut off power-hungry attributes like live wallpapers, and disable memory intensive features get a bang JIT. Google also started the “Android One” program, a low-end Android apparatus program with the goal of making a device “cheap, but also company.” In the Android One program, Google offers guidance on specs and often abides the devices in-house, just like Nexus and Pixel devices.

With Android 8.0, Google is making its giantest push into the low-end ever, with a wide-ranging ecosystem suspension called “Android Go.” Like past efforts, Android Go offers a “low end” configuration for the OS, discontinuing off memory-hogging features that would hurt performance on low-end apparatus. “Go” is also extending this kind of thinking to apps, too: Google is slowly piling a collection of “Go” apps designed for the developing world. These stripped down apps reimagine Google servings in a way that works for the developing world, sometimes sacrificing Google’s ceremonial cows (offline YouTube?!) to do it.

Android 8.0 will be the earliest OS to support a “Go” configuration, but a finished consumer phone with a Go config won’t be out until 2018. So while I haven’t in reality used an Android Go device, I can still talk about Google’s notifications, some of my personal research, and the “Go” apps that have come out so far.

The OS in “Go” style

For the OS, a “Go” config will exceedingly much be the same core Android 8.0 operating system, but with a few ensigns changed that won’t just tone down memory intensive behavior, but also knuckle down d turn into on some interface options that will be beneficial for the developing give birth to. Go will automatically be enabled on any Android device with 1GB of RAM or less, with a minutest spec of 512MB of RAM. Going forward, Google says that every new translation of Android will have a “Go” config, as the company plans to continually mature new features for low-end devices.

Thanks to an “Android Go” session at I/O, we know that the OS break up of Android Go will come with some UI changes. Google’s alcohol studies found that 95 percent of “Entry-level users” one switch between the four most recent applications, so for the Go config, Android’s Up to date apps screen has been redesigned. It’s no longer a cascading, overlapping wag design, but instead a flat, vertically-scrolling list of thumbnails. Patrik Torstensson, the engineering Executive for Android Go, described these thumbnails as “memory-intensive bitmaps,” so capping these at four—as impeded to the 20-ish thumbnails that are possible on a normal config of Android—liberates a lot of memory.

The “Go” config also gets a nice new section above the petulant settings panel showing live information about remaining figures, battery life, and available storage. The idea is that data is bloody expensive in developing countries, power can be hard to come by, and storage on these tuppenny phones is often a concern. So Go tries to address these concerns with a inimitable UI right in the notification panel. I bet there are a few non-developing world users that command like these features too, though.

Android has data usage watch today, but it’s designed more for the “unlimited” or “limited with overage debits” use case, and is just a running total. The new “Go” data controls treat figures like a “balance”—Android will know what your zealously data limit is, and will track how close you are to using it up. A new API for carriers can run to earth the data usage and limit for this interface, along with a new “top up” button that can set apart users to purchase more data right on the phone. In the mockups there’s also a general-purpose “Use insignificant background data for all apps” checkbox, but we’re not sure what exactly this does.

Torstensson relinquished a vague description about the under-the-hood OS changes at an I/O talk. There’s been some in the planning stages unemployed done to tune Linux for low end smartphones by changing the swap and threading behavior. Go SOP will more aggressively reclaim memory from “low priority” family processes, leaving more memory free for the main activity. The accumulated executable files that are pumped out by the Android Runtime (ART) have been optimized too, with cheaper dex files leading to less memory used per app.

Google Play Rites gets chopped up

The current

Enlarge / The current “layout” of Android, to the best of our acquaintance.
Ron Amadeo

The functionality of a consumer Android device can be split up into three big pails. The first is AOSP (Android Open Source Project), which is a aggregation of files that make up the base OS. While primarily written by Google, AOSP doesn’t extremity to rely on Google servers or services, and it can easily be “forked” into a non-Google construction. Google Play Services is the second big bucket, and traditionally this has been a unique, monolithic APK file that is a catch-all for any Google developer API or OS feature that relies on a Google server. The third is the whole shooting match on the Google Play Store, which is a collection of individual Google apps (multifarious of which come pre installed).

Did you catch the one outlier in that description? If you’re involved about memory usage and only loading what you need into tribute, that monolithic Google Play Services APK poses a problem.

Play Services is turning from one big file into a bunch of little files.

Increase / Play Services is turning from one big file into a bunch of sparse files.
Android Go (Google I/O ’17)

For Android Go, Play Services is being re-architected from one monster APK into a bunch of dynamic modules that each contain a set of APIs. The concept is that by only having the system load what it needs, it can economize memory.

As far as what this looks like practically, after some wisecrack I believe this project is whimsically codenamed “Chimera,” after a folklore creature from Geek Mythology composed from parts of multiple crudes. If you dig through a phone’s root directory and head to “/system/priv-app/PrebuiltGmsCore/app_chimera/m/,” you’ll find out some files named “DynamiteLoader.apk” and “DynamiteModuleA.apk,” “DynamiteModuleB.apk,” etc. with the the classics incrementing for each “module” file. Currently this goes up to “D.”

From what I can state right now, “DynamiteModuleA.apk” is AdSense and in-app purchases, “B” is the Google Maps API, and “C” is the Google Throw out framework, and “D” is Cronet, the Chromium networking stack. If you haven’t guessed by now, these are the most-commonly tolerant of parts of Google Play Services, and if you’re an app developer, there’s a chance your app sole needs one of these modules instead of the full Play Services APK.

The folder sizes here tell a great story. Android APK files go through a collect step before they are loaded into memory, so this isn’t a 1:1 mapping, but the “DynamiteLoader” APK weighs in at basically nothing at merely 21KB. Modules A, B, and C average out to about 800K each, while D is about 8MB. Meantime, the monolithic Play Services APK was a whopping 50MB in 2016, while the current (also imposing) version in Android 8.0 is about 35MB. The progress made on a smaller Frisk Services file is great, but many apps will be able to get away with purely using a dynamic module or two, which will save a lot of memory done with the monolithic version. These numbers are all from the files on a non-Go logo, but there’s already a potential for big memory savings here.

Apps get extra “Go” versions and features

To meet the requirements of the developing world, Google is also reworking its collection of apps to better suit the “limited data, limited battery, narrow cpu power” use case. The poster child for this project is the “YouTube Go” app, a from-scratch reimagining of the YouTube app for the increase world.

YouTube Go is ridiculously simple: There are no subscriptions, no comments, no direct pages, and no liking or disliking. There’s only about four pages to the interface: the residency screen, search, downloads, and playing a video. Videos can be downloaded (!) or spurted, and users can even share downloaded videos locally over Wi-Fi very than re-downloading them from the Internet. To make sure purchasers really want to spend their data on this video, the video download announce also comes with a rapid-fire gif preview of the video, giving owners an idea of what the content is like. While YouTube Go supports Google Accounts, you can also log in with a phone digit.

With no subscriptions or channel pages, video selection is entirely based off the retirement community page recommendation algorithm or by running a search. For me, the home page promotions were unbelievably bad, continually showing videos that were different months old—and mostly ones I had already watched. As someone that lives on the YouTube obligation page, I am not sure how users are supposed to live and die by the terrible recommendation algorithm.

Google’s also output in production on an experimental “Search Lite” app, which offers a stripped-down, search-as-you-type Google app with a fashion interface. There’s not much to it beyond a simple search app, but that’s the cape. Today’s “normal” Google app is massive, containing the search interface, agency search and the Google Assistant, a home screen for Pixel phones, the Google Victual with predictive cards, and third-party app indexing. With the Lite app, you get a search box, search denouements, and buttons limiting your search to certain data types, close to Maps or Images.

Chrome gets in on the developing world fun, too, by turning its “Observations Saver” feature on by default. This features sends all your Web ages to Google’s servers first for transcoding into a smaller format. The “Go” construction will apparently include a new item at the bottom of the Chrome menu too revealing users how much data this transcoding feature has saved.

The Frivolity Store will also start highlighting apps that are optimized for disgrace end devices, and soon, it will support “secure peer-to-peer” downloading and induction of apps. In other words, just like YouTube Go, you’ll be able to locally carbon copy an app from a friend’s phone instead of from the Internet. Downloads from the Internet last will and testament also be able to be delayed until nighttime, when data is in many cases cheaper, or when you’re connected to Wi-Fi.

Color management

Android 8.0 eventually supports color management. “Color management,” if you don’t know, aims to “codify” the display of colors across devices. In addition to respecting the specific color gain embedded in an image, color management also takes into account the sui generis display the software is running on. This means having a calibration of advantage for any given display—measuring what a display’s color output looks have a weakness for, so colors can be changed to look “correct” on that specific display. Do caboodle correctly, and the same picture displayed on two different phones should oblige identical colors.

Previously, Android did nothing when it came to by colors, and this was very obvious when you looked at any two Android phones side-by-side. A depict on a phone with an OLED display looked way more saturated than the selfsame picture on an LCD. Android didn’t respect color profiles either, and it austerely mapped an image’s 0-255 color ranges to whatever the display color pigeon-hole was. This made the same color on two different displays look wildly peculiar.

For now, color management won’t be a system-wide thing—apps will have to empower a flag that says “I want color management,” which want allow them to properly convert colors across color stretches. Google seems to only be targeting apps that display look-alikes, like Gallery apps. So for now, it looks like we’ll mostly still hold to deal with the UI on an OLED display being more saturated than the UI on an LCD.

Color direction will also require some work from OEMs to start. They’ll possess to measure their displays to create a color profile and embed that advice in the OS. Thanks to variations in manufacturing, no two displays—even displays that are the even so model—display identical colors, and if an OEM really wants accurate color, it could furthermore every display individually as part of the manufacturing process.

Physics-based intensity and the new Easter Egg

Head to

Enlarge / Head to “About Phone,” tap on “Android version,” extended press on the “O” logo that pops up, and you’ll get a springy octopus.

What would a significant Android release be without a silly new easter egg? For 8.0, we have the “Octoquarium,” which instructs a creepy black octopus (It starts with “O” for “Android” and “octa” for “8.0,” get it?) swimming hither a watery background. You can grab the octopus and move it around, at which peninsula the octopus will reveal that it’s super stretchy. Fling it roughly the screen, and its black tentacles will stretch out into a creepy Tec Man-like monster.

It’s tradition for most new versions of Android to have their own youthful Easter Egg, which you can access by tapping repeatedly on the “Android version” acreage in About Phone (that’s Settings -> System -> About Phone on Android 8.0), then wire-tap and long pressing on the logo that pops up. The Easter Egg is different with every interpretation, and usually these are built to test out a new API. The “Neko” cat game in Android 7.0 was generated to test out custom Quick Settings tiles. The “Flappy Bird” clone in Android 6.0 was block out to test out the new real-time shadow APIs. In Android 8.0, the “Octoquarium” is purposed to use Android’s new physics-base animation system.

Just like in video pretend development, a physics engine can automatically animate an object in response to a energy, saving the developer from the impossible task of hand-animating every doable interaction between objects. In this demo, the springiness of the octopus is calculated automatically by Android’s new physics library. Of course, Android games clothed had third-party physics engines forever, but this is a physics engine for 2D apps. It can expropriate with things like scrolling animations (fling, bounce backtrack from, etc), transitions, and gestures like pull-to-refresh. For a spring animation, developers well-grounded give an object a start velocity, damping ratio (aka “bounciness”), and a stiffness, and the dynamism system can handle the rest. For scrolling, you just set a pane’s “friction” estate and the system handles the animation.

The “Dynamic Animation” library that approves the new physics system is part of the support library, so it should work on older stories of Android.

The new “SDCardFS” file system wrapper

Google hasn’t officially swayed a word about this, but apparently Android 8.0 comes with attest to for a new file system wrapper called “SDCardFS.” Maybe that utterance is too presumptuous—with the 8.0 upgrade, the Google Pixel and a few Nexus utensils magically start using SDCardFS, so presumably that means the new record storage scheme is available for anyone in AOSP. The intrepid hardware hackers to at XDA have been tracking the implementation progress, and apparently SDCardFS should significantly depreciate the I/O overhead involved in accessing Android’s shared data storage.

Preceding we dive into SDcardFS, here’s a quick primer on the main Android apportionments, all of which live on internal storage:

  • /system stores the Android OS and the packed-in apps. This is by formatted in EXT4.
  • /data stores app data generated by the user, downloaded apps, and app updates to the packed-in apps. When you pull off a “factory reset,” you’re wiping out this partition and /sdcard. This is in the main formatted in EXT4.
  • /sdcard stores media, ringtones, camera pictures, and buddies of resource data for large apps like 3D games. This is the impediment of storage you see when you plug your phone into a computer. The order here is, uh, complicated.

Android’s partition naming scheme is a confusing dally of legacy terminology that doesn’t make much sense anymore. Case-in-point: SDCardFS is dignitary after Android’s /sdcard partition, which has nothing to do with solid SD cards. Back in the Android 1.0 days when devices had less than a GB of internal storage, Android needed the presence of a physical SD card to store things like camera models and videos. This lived under /sdcard. When phones developed to have 8GB+ of storage, SD cards became optional, but to maintain compatibility with older apps, the /sdcard meting out was still kept around. Phones were still given a practical /sdcard partition, which actually lived in /data. Today, the /sdcard cut up is always on the internal flash storage, and a more appropriate name would be something identical to “/media.” If a phone has a real, physical SD card, that gets some other rating, like /sd-ext or /sdcard1.

Because /sdcard is presented when you bung a phone into a computer, there’s a host of issues. First, to incite across Windows, Mac, and Linux, it pretty much has to present itself as FAT32. This Microsoft-owned filesystem from 1996 has a categorize of limitations, but the main problem FAT32 causes for Android is its terrible permission truss. Google actually used a straight FAT32 filesystem for /sdcard in the pre-Android 4.4 periods, and it meant any app that needed access to /sdcard got access to everything on /sdcard, filing all your pictures!

For Android 4.4, Google rigged-up a system that dispensed a PC with FAT32 while still keeping app data separate: it started using a practical file system driver called “FUSE” (Filesystem in userspace) to engender a virtual, private FAT32 file system for each app. As the name implies, Flow lets apps write to storage without any permissions, and each app was purposes presented with its own chunk of storage when it needed to access the SD carte de visite. Mounting an Android phone to a PC still allowed for viewing the entire /sdcard.

Melt has its own set of problems, though: having a file system that lives in purchaser space incurs a significant I/O penalty. A system call to read or transcribe a file has to go to the kernel, which passes it to user space for FUSE, and when the deliver assign to write is finished, it calls back to the kernel. Normally, there inclination be a single call to the kernel where everything would be handled, so Consolidate requires a whole extra round trip to user space. I/O terms can happen many times a second, so any extra overhead can add up really speedily.

SDCardFS replaces FUSE and avoids this extra round hop by being an in-kernel FAT32 emulation layer. SDCardFS was originally developed by Samsung, and it’s based on WrapFS. Of dispatch, Samsung has employed the wrapper on its phones already, and some other Android OEMs twin Huawei and OnePlus have picked up the system. So it’s not exactly a new feature in the overjoyed of Android, but it is newly integrated into AOSP.

Since Google isn’t in point of fact talking about it, we don’t have a ton of info about SDcardFS, but anything that be familiar withs and writes to /sdcard (the camera, large 3D games, PC file transfers) should see a bolt boost.

Grab Bag

The “grab bag” is filled with tiny updates that don’t fit anywhere else. Alternatively, this slant could include things we have very little to say about, too.

  • Faster boot up once in a whiles—Google promises a 2x increase in boot times on the Pixel. This is something that troubles very little for a phone, which is nearly always on, but if this “Android as a car OS” fancy ever takes off, boot up times there are very important. Unfortunately, to my acquaintance, Google hasn’t ever described how startup times got so much faster.
  • Updateable graphics drivers—With every come out with of Android, Google likes to pull functionality out of the system image, show up b luxuriate in it into an APK, and stick it on the Play Store for easier updating. This year it’s the Graphics drivers for the SoC GPU, which can be updated at the end of ones tether with the Play Store. Presumably an OEM would need to list a “Graphics driver” app on the Minimize Store for each of its devices.
  • Bluetooth 5 and higher-quality audio codec fund—Android 8.0 contains a number of Bluetooth improvements, none of which you can de facto take advantage of without compatible devices. Bluetooth 5 support is here, which (if the devices supports it) doubles the connectivity speed to 50Mbit/s, while supposedly state look after 4x the range and 8x the messaging capacity over Bluetooth 4 LE. There’s also buttress for better audio codecs, like Qualcomm’s AptX and Sony’s LDAC. Both of these be short of compatible headphones and phone hardware, but the idea is better sound totally higher bandwidth.
  • Out-of-the-box print support—Android has had plugin-based pull a proof pix support for some time, which required you to download a separate “Printer Servicing” app from your printer manufacturer. In Oreo, Google has plugin-less printer fortifying, thanks to a partnership with the Mopria Alliance, a non-profit consortium of printer gatherings dedicated to interoperability. The press release says Android 8.0’s new “Neglect Print Service” brings compatibility with “100 million Mopria certified printers” from all the top fabricators, like Xerox, Brother, Lexmark, Dell, HP, Samsung, Canon, Epson, and tons others. Apparently this group covers “97 percent of printers convinced worldwide.”
  • Dark navigation buttons—Open the app drawer, and the navigation buttons disposition turn dark now.
  • Alternate time picker—The Android Team attractions to change Android’s time picker in just about every construction. For 8.0 there’s an alternate interface that you can access by tapping on a new keyboard button on the well-known time picker interface. This will let you directly type in a quickly.
  • A new low-latency Audio API—Android has always been terrible at low-latency audio, which has superior to a dearth of audio creation apps on the platform—you can’t make a good drum or piano interface when every tap peel offs half-a-second to produce sound. Android 8.0 introduces the “AAudio” API for “high-performance audio applications that want low latency.” This new API isn’t a silver-bullet for low-latency audio, that would force a commitment from the entire hardware and software stack: the SoC, display, drivers, and OS. Google also advises that this API is just a “preview release” and might break in the tomorrow.
  • The beginnings of a theme system—Project Treble is seeing Google prove satisfactory with OEMs to make updating easier, and another common OEM announce the Android Team is tackling is that ability to theme the OS. Android 8.0 controls a theme framework (originally written by Sony) called the “Overlay Straw boss Service.” This theme system can reskin the Android framework, Set UI, and even applications. A “Theme” option briefly surfaced in one of the developer vernissages, and apparently there’s still enough there that third-party idea managers have started to plug into the framework. Will we one day see a Google composition manager?

“Foundational” improvements address updates, security, speed, and battery dazzle

Enlarge

Every Android OS review comes with the important caveat that no one is really going to get this update. Unless you buy a Google-branded device (which you should perfectly do), most people’s best bet to get Android 8.0 is to buy a new device in 6-12 months from now. So while it very likely won’t help users right now, with Android 8.0 Oreo, Google has in the long run, finally, FINALLY put a real engineering budget towards helping Android’s update can of worms. This comes in the form of Project Treble, and it’s Android’s biggest at all times engineering effort out to solve Android’s biggest problem.

“Solve” potency be too strong of a word. Cheaper, simpler updates might help Android’s OEM update place a bit, but I’m convinced Android OEMs primarily have a motivation problem when it find to updates. OEMs already have your money, so why should they strip their time updating your phone? I think Project Treble’s genuine benefit to users will come from the ability to compile a figure from AOSP, flash it on a device, and actually have it work without acquiring to touch the proprietary drivers from SoC manufacturers and other component vendors.

We’ll deliver to see how it all plays out, but it seems like aftermarket ROMs are about to get a lot more permanent and consistent. I really like the idea of being able to self-flash an AOSP enlarge to a Samsung phone and actually have it work without any issues thanks be given ti to Project Treble. Seeing how Treble affects the entire ecosystem commitment certainly be something to keep an eye on, but it’s going to take time. Remember even so, it’s totally possible to sidestep all these Android update issues by legitimate buying a Pixel.

The “foundational” improvements Dave Burke talked close by during Android O’s introduction are genuinely here. Besides Treble, the app behind the scenes lockdown—once apps actually target Android 8.0—should prepare for significant UI smoothness improvements and battery savings. We’re also seeing updates to sum UI components like notifications, settings, text input, and icons. Serene more components are getting pulled out of the system image and becoming updatable through a simple download: new fonts, emojis, and GPU drivers are all just a download away with Android 8.0. Google is using this launch to target even more users, with Android Go providing a shed ones clad down experience for users in the developing world, and things like a faster startup epoch boosting Android’s viability as a build-in car OS. I also suspect we’re just regard the tip of the iceberg when it comes to Google’s machine learning ambitions Sometimes non-standard due to the introduction of TensorFlow Lite.

Also, remember, this is just the sum “AOSP” operating system. Google’s yearly rollouts of features are multi-headed animals that don’t just consist of the open source code drop. We can foresee much more to happen from the proprietary “Google” side of the Android ecosystem newer this year, probably timed to release with the Google Pixel 2. We’ve already seen a private showing launch of ARCore, a new framework for augmented reality, and we know there’s a  quick camera app coming called “Google Lens.” We should also get ahold of a new Compatibility Delimitation Document (CDD) soon, which contains all the new rules for OEMs looking to get out Android 8.0.

As always, it’s going to be a while before we see the true ramifications of this let go. The first big third-party phone to launch with Android 8.0—and hence Project Treble—will probably be the Galaxy S9 or something else in the “advanced 2018” window, and then we’ll have to wait some more to see what the ROM community can do with it. The shakeout from the upbringing processing lockdown will take even longer—it only uses to apps that target Android 8.0, and it should be about a year prior to the majority of apps do that. Android Go will take a while to movement out, too—the first commercial devices aren’t due out until 2018. The endless upgrade treadmill persist ins.

The Good

  • Project Treble isn’t a silver bullet for Android’s update puzzlers, but it’s the first time in a long time Google has changed Android to dream up system update development easier.
  • I love the smaller “by the way” notification allocate. It really cleans up the notification panel, while still letting the owner read less-important notifications at their leisure. I just wish I could demote any app to “petty important,” regardless of what version of Android it targets.
  • The automatically-colored course notifications look amazing! Sometimes I cycle through songs with the notification panel lately to see what it comes up with.
  • The background processing lockdown has been a yearn time coming. Finally, we’ll see the end of wakelocks.
  • Picture-in-picture on a phone is great for videos, and Google’s inquiries with things like Google Maps look very auspicious.
  • EmojiCompat and downloadable fonts means Android users should get new emojis wonderful fast. You don’t even need Android O for this to work—it will put together on Android 4.4 and up!

The Bad

  • Google’s revamp of notification controls has the side to all intents of removing fine-grained notification controls for most apps. We’ll have to be tabled for every app to upgrade to get the controls back.
  • The ambient notification display follow up ons a huge downgrade, changing from showing the full notification panel to not showing tiny status bar icons.
  • Snoozing notifications could be a critical feature, but the timing options are so limited that it’s useless. A max of one hour? Sincerely? Give me a time picker.
  • The disabling of Chrome’s picture-in-picture support specifically for youtube.com is unreserved sleazy. That’s not how Web browsers are supposed to act.

The Ugly

  • Updates—they’re restful a huge problem. Here’s hoping Treble actually helps.

Comments (2)

Leave a Reply

Your email address will not be published. Required fields are marked *