
Android 8.0 Oreo, thoroughly reviewed - Yossi_Frenkel
https://arstechnica.com/gadgets/2017/09/android-8-0-oreo-thoroughly-reviewed/
======
lukepothier
If it's true that Chrome on Oreo genuinely prevents picture-in-picture _for
YouTube specifically_ , that's a troubling precedent to set. Why not allow all
websites to enable/disable PiP (maybe via a meta tag, in the way that tab
theme colours already work)? If I query
[https://m.youtube.com](https://m.youtube.com) while emulating a Nexus 5X, the
response contains:

    
    
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, target-densityDpi=medium-dpi">
    

Is that what is preventing PiP on YouTube or is it some sort of underhanded
inter-Google arrangement between Chrome and YouTube?

~~~
kinlan
Shared below too.

Just as a quick point and I will drop it in the article comments too. I'm the
lead for our Chrome Developer Relations team.

Chrome doesn't disable picture in picture for Youtube, Youtube disable it in
Chrome. They listen to resize events iirc and then exit fullscreen mode (the
only way to currently get to pip mode in Chrome).

~~~
kuschku
Then Chrome should have an option to stop the resize handler from firing when
entering PiP mode. The user should always have the right to override what the
website is doing.

~~~
kinlan
So you would like us to not tell the page what the render is doing? I'm not
sure how that would play out for any number of API's that exist on the web.
Developer's have consistently had the means to override the default actions of
the browser (think drag and drop) but I don't think hiding side-effects or
user actions helps anyone.

~~~
avaer
I'd like to be able to tell my browser what it should tell the pages it's
loading, especially if pages are leveraging it to do things against my will.

That applies to blocking Google ads, as well as fixing Youtube malfeatures.

Of course, it's understandable you won't see this from a browser paid for by
Google. But you can't paint in broad brush strokes like "I don't think hiding
side-effects or user actions helps anyone."

~~~
kinlan
I'm disputing the fact there was a casual offhand design, and I don't think
hiding the state of the render or the browser helps anyone not least
developers who need the information about the state of their page.

I'm not saying that there can't be meaningful response from the browser to
user hostile actions, I don't think anyone disagrees.

There's a broader question about a user's will and the sites intent especially
when it comes to business plans of the site that I'm not sure if access to
features native in the browser is aligned with say ad blocking or tracking
etc... I don't know.

~~~
Aaargh20318
> There's a broader question about a user's will and the sites intent
> especially when it comes to business plans of the site

The site's business plans are not my problem. Basically, _my_ phone and _my_
computer should do what _I_ want. Why is there even an API to make a video
player enter/exit full-screen mode ? That's 100% a user decision and there is
no valid reason why that should ever be exposed to JS.

~~~
Touche
What if I want to present an X button that the user can click to exit
fullscreen? How would I do that without a programmable API?

~~~
pas
That should be a browser option. (Show exit full-screen button or not.)

Also, especially for video, the browser should be able to play it full screen
without any distractions.

Of course, there are optional enhancements (subtitles, or different audio
tracks) driven via JS. And for those the controls have to go somewhere.

Ideally, if there were a standard for those, the browser could handle it. (But
then we're at the problem of an ever bloating browser.)

~~~
Touche
Sounds like you are advocating for something very different than the current
APIs. You're asking that the browser define its own UI for an exit button. How
does it know where to put that? What if it is a game in a `<canvas>` element
and the button overlays some important UI in the game?

I think you're overreacting to one bad-actor. Inevitably your suggestion here
leads to good-actor pages having much less power to present good UI to its
users. The browser has to think of all use-cases and have options for that,
rather than defining lower-level hooks that pages can do what they want with.

Would it make you feel better that there already many other ways that pages
can do user-hostile things? Have you ever visited a page that blocks right-
click? Would you want to forbid Mouse Events because of this?

~~~
pas
I like the trust model that current browsers do. If I trust a page they can
use the full viewport or screen, and a lot of keys, etc.

> You're asking that the browser define its own UI for an exit button.

Yes. Currently firefox puts a "to exit full screen press esc" OSD already on
videos, that also interferes with visual presentation of sites/directors. So
... directors already don't put shit there.

The same thing goes for walled gardens (like Apple's - they don't allow some
things), the problem is not that it's curated, the problem is that there are
insufficient tools available for users to put their walls where they want.

Yes, by default I don't want to allow blocking right click. (You might be
familiar with the saga of this bug
[https://bugzilla.mozilla.org/show_bug.cgi?id=78414](https://bugzilla.mozilla.org/show_bug.cgi?id=78414)
. )

------
TheAceOfHearts
How many people build their own ROMs? When I bought my Pixel I tried my hand
at building my own ROM, but I kept stumbling and eventually gave up.
Admittedly, I was running a newer version of Ubuntu than the one they
suggested in the docs, but I didn't expect it would break everything. Am I
right in guessing that using a VM would be the easiest path to success?

I've been a bit frustrated with android's sparse docs and unreliable build
tool. Whenever I try searching for additional information, all I find are
questionable tutorials and xda-developer threads. I don't have anything
against the forum itself, but I find it a bit questionable to see so many
people happily propagating and flashing random binaries. Is xda-developers
still the main place to go when looking for help, or have any other
communities started to overthrow them?

Now with 8.0 out, it seems like a good chance to retry building my own ROM.
I'm thinking of forking CopperheadOS [0], and applying some minor patches on
top. Is anyone here running their own ROM, or Copperhead in particular? I'd
love to hear about your experience, along with any pros and cons. F-Droid
seems to be capable of handling all of my requirements. My only big remaining
concern would be with Project Fi; I'm uncertain if the service will work if
Google Apps aren't installed.

[0] [https://copperhead.co/android/](https://copperhead.co/android/)

~~~
Veratyr
> Am I right in guessing that using a VM would be the easiest path to success?

I've been able to successfully build Android on Arch Linux. Depending on which
particular ROM you're building, much of the required build environment is
packaged with the source. I just needed repo's dependencies and to rebuild the
prebuilt Bison with the included source.

> I've been a bit frustrated with android's sparse docs and unreliable build
> tool.

The guide at
[https://source.android.com/source/](https://source.android.com/source/)
should result in a working AOSP build. I've followed it before without
problems. My guess is you're trying to do something weird that makes sense to
you that isn't really supported.

> Is xda-developers still the main place to go when looking for help, or have
> any other communities started to overthrow them?

XDA is still the primary place ROM development is carried out, yes. Finding a
ROM's IRC channel can be helpful too.

> Is anyone here running their own ROM, or Copperhead in particular?

I built Copperhead for my Pixel but unfortunately it resulted in a bootloop so
I gave up on it. I'm running PureNexus right now and might try Copperhead
later.

> My only big remaining concern would be with Project Fi; I'm uncertain if the
> service will work if Google Apps aren't installed.

I don't think it'll work totally bereft of Google services but you might be
able to manage it with MicroG: [https://microg.org/](https://microg.org/)

------
awjr
The summary from page 9
[https://arstechnica.com/gadgets/2017/09/android-8-0-oreo-
tho...](https://arstechnica.com/gadgets/2017/09/android-8-0-oreo-thoroughly-
reviewed/9/)

The Good

Project Treble isn't a silver bullet for Android's update problems, but it's
the first time in a long time Google has changed Android to make system update
development easier.

I love the smaller "by the way" notification section. It really cleans up the
notification panel, while still letting the user read less-important
notifications at their leisure. I just wish I could demote any app to "less
important," regardless of what version of Android it targets.

The automatically-colored media notifications look amazing! Sometimes I cycle
through songs with the notification panel just to see what it comes up with.

The background processing lockdown has been a long time coming. Finally, we'll
see the end of wakelocks.

Picture-in-picture on a phone is great for videos, and Google's experiments
with things like Google Maps look very promising.

EmojiCompat and downloadable fonts means Android users should get new emojis
super fast. You don't even need Android O for this to work—it will work on
Android 4.4 and up!

The Bad

Google's revamp of notification controls has the side effect of removing fine-
grained notification controls for most apps. We'll have to wait for every app
to upgrade to get the controls back.

The ambient notification display gets a huge downgrade, changing from showing
the full notification panel to only showing tiny status bar icons.

Snoozing notifications could be a great feature, but the timing options are so
limited that it's useless. A max of one hour? Seriously? Give me a time
picker.

The disabling of Chrome's picture-in-picture support specifically for
youtube.com is downright sleazy. That's not how Web browsers are supposed to
act.

The Ugly

Updates—they're still a huge problem. Here's hoping Treble actually helps.

~~~
kinlan
Just as a quick point and I will drop it in the article comments too. I'm the
lead for our Chrome Developer Relations team.

Chrome doesn't disable picture in picture for Youtube, Youtube disable it in
Chrome. They listen to resize events iirc and then exit fullscreen mode (the
only way to currently get to pip mode in Chrome).

------
Jedd
After my Pixel updated recently to Oreo, being frustrated by a constant
notification for Twilight (a red-tinting background app) and starting to
search on google for a solution -- I discovered quite a lot of people have
been asking 'how to suppress notifications on oreo' recently.

FWIW you _can_ control the notification snooze timeout, but you're going to
need Tasker [1] (or similar). Interestingly I evidently bought this several
years ago - can't remember why - and haven't installed it on at least the last
two phones, since some version of Android a few years ago shipped with
whatever native functionality Tasker used to provide for me.

[1]
[https://play.google.com/store/apps/details?id=net.dinglisch....](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=en)

~~~
discreditable
Were you aware that Android has built-in tinting capability? It's under
Display > Night Light. There's a quick tile for it too.

~~~
joshuamorton
That's only available on 7.0+ phones with hardware support (currently I think
only the pixels?)

~~~
sangnoir
Context (emphasis mine):

>> After my _Pixel_ updated recently to _Oreo_ , being frustrated by a
constant notification for _Twilight_

~~~
on_and_off
Twilight is a third party app.

It draws a red layer on top of everything else. This is why the system
displays a notification : it wants you to know that an app is drawing on top
of everything.

The system settings works very differently, it directly applies a matrix to
what needs to be displayed. This is way more efficiencient since applying this
matrix is basically free instead of adding one layer with alpha composition.

It also allows other customizations, like adapting the screen for
deuteranomaly.

Ideally, Google should open the API behind this feature at some point.

------
AndrewDucker
I knew Project Treble was exciting, but this is really interesting:

>Treble promises to change everything. Malchev says that Treble standardizes
Android hardware support to such a degree that generic Android builds compiled
from AOSP can boot and run on every Treble device. In fact, these "raw AOSP"
builds are what will be used for some of the CTS testing Google requires all
Android OEMs to pass in order to license the Google apps—it's not just that
they should work, they are required to work.

Ron paints a rosy future here:

>Custom ROMs shouldn't need to be painstakingly hand-crafted for individual
devices anymore—a single build should be able to cover multiple Treble devices
from multiple manufacturers. Imagine the next time a major new version of
Android is released—on Day One of the AOSP code drop, a single build (or a
small handful of builds) could cover every Treble device with an unlocked
bootloader, with a "download Android 9.0 here" link on XDA or some other
technical website.

If this comes to fruition, the ROM community is going to go nuts. This is
enormously exciting and Oreo will turn out to be a real turning point for
Android.

One thing that is interesting though is the implication that Android updates
will get more iOS-y in the future. By that I mean certain features will be
missing from updated phones because the HAL layer doesn't support it.

(Copied over from previous discussion here:
[https://news.ycombinator.com/item?id=15167138](https://news.ycombinator.com/item?id=15167138))

~~~
epmaybe
> By that I mean certain features will be missing from updated phones because
> the HAL layer doesn't support it.

What features are you referring to? Also, will that be worse than the current
situation for Android devices?

------
haddr
Quick comment on notifications: it seems that Android has really worked them
out nicely. Now I even more prefer Android notifications to iPhone
notifications.

~~~
rovek
Confirm dismissal of a notification is one of my biggest of myriad gripes with
atrocious iOS design after 4 months.

------
wyclif
Perhaps slightly off-topic, but what are the best hardware/carrier options in
USA currently if you want vanilla Oreo that updates reliably instead of a
custom ROM (w/ no carrier or third-party overlays and skins)?

~~~
Navarr
Basically just pick up a Pixel and put it on whatever carrier you prefer.

I prefer T-Mobile.

------
maufl
Can somebody say something about what Treble means for other open source OS
for phones, e.g. Sailfish? Might it be possible to use the vendor provided
Treble core for other OSs?

~~~
pas
Yes. The question is access and licencing.

------
afro88
The music notifications with colours chosen from the artwork is really nice.
Does anyone know much about the method behind this?

~~~
pennaMan
I'm guessing they are using the Palette class from the support libs to extract
the colors from the artwork:
[https://developer.android.com/reference/android/support/v7/g...](https://developer.android.com/reference/android/support/v7/graphics/Palette.html)

------
mtgx
Keeping my fingers crossed that Project Treble is the real deal and would
actually make it possible for a "generic AOSP image" to be installed on
_virtually any mobile device_ that came with Android. That's the dream, isn't
it?

But I think we've been burned too many times by Google's promises to "make it
easier" for OEMs to update devices and other such promises, or at least these
projects always sounded much better than they turned out to be. Hopefully this
time it is different.

I would be curious to know when Project Treble started. I imagine something
like this, and if it was serious enough, would take 3-4 years of development
and thought put into it? If it's less than two years then I would probably be
worried about just how much thought and development Google put into it. I
would also be disappointed that Google only started taking such a project
seriously two years ago - or _seven years_ after Android officially launched.
Some could say this "feature" should have been enabled from day one.

~~~
vanderZwan
Is Project Treble "backwards compatible" with old models? If so I hope it will
work out for Fairphone users, especially the first model which is doesn't
receive as much support as the Fairphone 2

~~~
Mindwipe
No. In theory you could backport it to older phones, and OEMs allegedly might,
but I wouldn't expect that to be the norm and it's not mandatory from Google
in order to get Oreo.

------
sdotsen
Can anyone confirm if they brought back the ability to select a wifi/Bluetooth
connection via a drop-down from the swipe down option? You know, without
having to click and go into the screen to select the device you want to
connect to.

~~~
Mindwipe
They did (I don't think it was ever gone as such, they just messed up the
gesture, but it's back).

------
sahaskatta
This was particularly interesting:

>Google shared a fun statistic at I/O 2017: The company expects one-third of
Android devices shipped in 2017 to cost under $100.

Even more so considering that the US is the 2nd largest market for phones of
that price point.

> While the long term goal is to tackle the 5 billion users without internet
> access, immediately this helps the US market too. Google says the US will be
> the second most popular market for these sub-$100 phones.

------
edoceo
The upgrade reset/reenabled all the audio alerts for mail, calendar and SMS
that I had disabled. Why did Google reset my notification preferences!?

------
kijin
The third set of pictures on page 4 shows a "Rotate" notification that is 47
years old. A timestamp must have been set to zero somewhere...

------
Severian
I really hope they updated the audio stack to make latency lower. Right now
doing anything sub 10ms with audio is impossible.

~~~
eco
It says right in the article that there is a new low latency audio API.

~~~
Severian
Yeah, I saw that at the end of the article. A little short on details. I hope
it really is low latency though, and can be used for real-time synths,
trackers, dj mixers, etc. It would be nice in the future to have a small
attachable audio interface we could hook up to our phones or tablets and work
out some tunes on the go. I hope Android can start doing the same things as
iOS in this regard.

Hopefully we'll see some reviews once hardware and apps make a foray into this
new API.

------
hateful
They lost me at "light grey notification panel"? I spent some time trying to
get the dark grey one to black with no luck - and now it's even worse.

~~~
harrygeez
you can probably achieve it by modifying framework-res.apk. At least it worked
on Nougat, copied the colors from Pixel to get its blue theme on my Nexus 5

------
zeep
A bit off-topic but will Android P/9.0 be the last version before you have to
switch to Fuchsia?

~~~
on_and_off
There are no official plans for Fuchsia.

If anything O makes you think that Google plans to keep Android around for the
long run since it aims at putting it in a good architectural position for the
next 5/10 years.

------
wavesplash
Oreo Battery life is atrocious on Nexus 5X. Do not upgrade if you can avoid
it.

~~~
bostand
Stop that!

You cannot judge battery life after only a few days, specially after an
update.

~~~
oelmekki
Would you care to explain why? (provided that when we speak of battery life,
we mean how much time it can go without recharging, and not after how many
years you have to change it)

~~~
philjohn
Because when you install a new OS there's things that are optimized in the
background, and you also tend to use it more because of the "new and shiny"
factor.

~~~
oelmekki
Sounds legit, thanks for explaining.

------
richardwhiuk
The link here is to page 3 - any chance a mod can fix it to go to the start of
the article?

~~~
sctb
Thanks, updated!

------
xbmcuser
Duplicate
[https://news.ycombinator.com/item?id=15171605](https://news.ycombinator.com/item?id=15171605)

