
YouTube change served lower-quality video to Firefox 43 for 2 weeks - temp
https://bugzilla.mozilla.org/show_bug.cgi?id=1233970#c25
======
jimrandomh
Browsers identify themselves with a user-agent string, and the user agent
strings are a giant disaster of technical debt resulting from a long history
of browsers working around buggy websites and websites working around buggy
browsers. Browser video is _also_ a giant disaster of technical debt, and
YouTube uses the user-agent string to determine which ways of serving video
will work and which ones won't. Presence of bugs here is no surprise, and any
such bugs will naturally impact some browsers but not others.

So, a bug in YouTube's compatibility-autodetection caused it to fall back to a
slower, bitrate-limited fallback method that it didn't need to, for some
versions of Firefox. They took two weeks to deploy the fix. Considering those
two weeks included Christmas and the bug didn't affect security or render the
site unavailable, this seems like a pretty good response time.

~~~
chei0aiV
Browsers should start submitting a random 10 character string for the User-
Agent header.

~~~
cornstalks
That would break more than it would fix. Video is hard (not all devices or
browsers support the same codecs, bitrates, frame rates, etc), and YouTube has
to use the User Agent to try to serve videos that the client can actually
play. A random User Agent would mean that all those browsers that need a
special video format wouldn't get the type of video they need, which sounds
like a crappy world to live in (compared to the crappy world we already live
in with meaningful User Agents).

~~~
daxelrod
> YouTube has to use the User Agent to try to serve videos that the client can
> actually play.

Why? We have JavaScript feature detection for video tags:
[http://diveinto.html5doctor.com/detect.html#video-
formats](http://diveinto.html5doctor.com/detect.html#video-formats)

~~~
0x0
"Probably" and "maybe" values are, uh, probably not good enough.

~~~
SomeCallMeTim
I thought you were being facetious. Sigh. Damn, but that's broken.

I've worked with video format streaming, though, and encountered a situation
where there was a driver on a certain Android device manufactured by a major
hardware vendor that you've certainly heard of, and their driver silently
corrupted video that was using low-latency streaming options. And by
"corrupted" I mean that, while a few of the pixels looked almost right,
sometimes, it was mostly just garbage and blank grey screens.

I gave them a sample stream that failed, and they verified that yes, it's
their fault. And that no, they weren't going to ship an update for it. Sorry.
Device had been out for two years. Apparently no one thought to actually
_test_ the various standard options in that video codec. It works with the
"normal" options? Ship it!

So I totally understand the need to look at UA strings. I had to look for that
particular device hardware profile and disable the low-latency streaming
options in order for our product to _work_ on that device.

------
jtchang
Ah user agents. One of my favorite quotes:

"And then Google built Chrome, and Chrome used Webkit, and it was like Safari,
and wanted pages built for Safari, and so pretended to be Safari. And thus
Chrome used WebKit, and pretended to be Safari, and WebKit pretended to be
KHTML, and KHTML pretended to be Gecko, and all browsers pretended to be
Mozilla, and Chrome called itself Mozilla/5.0 (Windows; U; Windows NT 5.1; en-
US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13,
and the user agent string was a complete mess, and near useless, and everyone
pretended to be everyone else, and confusion abounded."

[http://webaim.org/blog/user-agent-string-
history/](http://webaim.org/blog/user-agent-string-history/)

------
tinco
This is actually pretty great. Youtube has some issue with Firefox 43 and
serves it lower quality video to deal with it (probably as a hack to enable
video for some users for whom it didn't work at all under 43, but there's no
explanation from Youtube engineers in the thread). The Firefox team complains
to Youtube, but Youtube responds with that they won't budge until January at
least.

Firefox sees it as a threat to their reputation (obviously for them having a
few users for whom it doesn't work is better than having loads of users with a
degraded experience) and they start spoofing their UA to another version. The
Youtube engineer is indifferent (or can't really do anything about it).

Then when it's done a Google employee from a different team comes in the
thread to complain about the situation because the fact that the UA is spoofed
for _only_ youtube.com and not other (Google) domains breaks his product.

~~~
cpeterso
YouTube wanted to deprecate Flash video, so Mozilla enabled VP9 support in
Firefox 43 for users whose operating system does not provide an H.264 codec.
(VP9 for all other platforms is coming a little later.) YouTube disabled Flash
for Firefox 43 users, as planned, but forgot (?) to enable VP9 for those
users. Without H.264 or Flash video, those users received low-quality 360p VP8
instead of high-quality VP9. When this mistake was discovered, YouTube could
not fix or revert the configuration change because of their holiday code
freeze.

(I am a Mozilla employee.)

~~~
toomanybeersies
That sounds like something that shouldn't be rolled out over Christmas when
nobody is in the office.

~~~
lucb1e
As if similar bugs in Google products wouldn't be fixed over Christmas. Chrome
playing only in 360p? That would be fixed in a matter of hours.

~~~
epimenov
They said in the ticket that the issue does NOT affect the majority of Firefox
users. It was just a calculation of the impact, and they decided not to
release a hotfix. I'm pretty sure if it was affecting all firefox users it
would be fixed in a matter of hours too.

~~~
lucb1e
I am quite sure that even if it were the same amount (in absolute numbers) of
Chrome users, it would have been a bigger priority than Firefox, at least for
most people there.

~~~
Caspy7
If this had happened to Chrome users, the code freeze would have magically
been broken in a matter of hours.

------
mpitt
The existence of a “feature” that relies on UA strings being consistent across
domains, with the potential to “brick YouTube entirely in a user-visible way
for all Firefox 43 users in Europe”[1], is quite worrying to be honest.

[1]
[https://bugzilla.mozilla.org/show_bug.cgi?id=1233970#c61](https://bugzilla.mozilla.org/show_bug.cgi?id=1233970#c61)

~~~
ocdtrekkie
And this "feature" being not noticeable to the user, but kinda a requirement
that it be there, and apparently associating stuff on someone's Google/YouTube
side... but the Googler in question is unwilling for that feature to be
identified.

~~~
sylvinus
From what he describes, it might be something like a quota service or an ad
service that does consistency checks over the course of user sessions to fight
spam/abuse/crawlers.

------
goodplay
I was actually hit by that bug, which I erroneously attributed to firefox. I
stopped using firefox as a result.

I will probably start using it again because I read this article. I can't help
but wonder how many ex-users who wont because they don't follow the news.

~~~
akerro
It's not the first time people blame firefox for bugs in Youtube, very similar
bug was introduced when youtube went HTML5. Firefox was served the same
encoded video as chrome, but opera stayed on the old codec. Firefox didn't
have chromes codec implemented yet and people left firefox for chrome.

------
0x0
I'm curious about this non-user-visible europe-only feature, which depended on
user-agents aligning between youtube.com and google.com, that got broken,
especially since the details couldn't be discussed in public.

Antispam? Ad-tracking? Why would it be Europe-only?

~~~
rmccue
Cookie law related, perhaps? There was a cookie-related change in FF43 for
third-party cookies
([https://bugzilla.mozilla.org/show_bug.cgi?id=536509](https://bugzilla.mozilla.org/show_bug.cgi?id=536509)).

------
timothya
Reading the comments on that bug, it looks like it was only a small subset of
Firefox users who experienced this bug. Not really a big story.

~~~
stygiansonic
I believe this is the relevant comment:

" _Apologies to all impacted by this transient configuration. Firefox 43 users
who do not have h.264 will get 360p VP8 until the configuration is updated
early next year. The very large majority of Firefox users watching YouTube
have h.264. For them, and for user who get VP9, <video> MSE performs better
overall than Flash._"

~~~
zeckalpha
Yeah, but the next comment was:

> "Unfortunately this is not an acceptable state for us. We have many millions
> of users whose Youtube experience suddenly got significantly degraded, and
> we're not willing to leave them in that state over the holidays. Any chance
> you guys could simply roll back the change you guys made? If not, we're
> forced to ship a Firefox update that lies to you guys about the Firefox
> version, which really is not a good option for either of us :("

~~~
thawkins
It can still be "multiple millions" and still be very low percentage numbers,
when you are accessing risk you deal with percentages not absolutes.

------
dexwiz
Some (not Mac) users on the newest version of Firefox got lower quality
Youtube video over the holidays, and the issue would would not be fixed until
next year? Oh yah, next year was next week. Thank goodness, it was still fixed
within the year.

Do we live in a world where this in unacceptable?

~~~
cpeterso
The bug was reported on December 19 and fixed on January 7. That's at least 19
days, not just "next week". Do you think Larry Page would allow YouTube to
serve 360p VP8 instead of hardware-accelerated 1080p H.264 to ~15% of Chrome
users for 19+ days "because holidays"?

~~~
dgacmu
Well, when you consider that every bug fix carries with it the chance of
introducing a worse bug, sometimes holding off on a non-critical fix until
everybody's back from the holidays and able to work 100% again doesn't seem
like a bad idea.

Having some % of FF 43 users (who're about 3.5% of the browser market
according to netmarketshare.com) experience degraded but functional video may
be better than, say, a 1% risk of breaking youtube for 100% of users and not
being able to fix it for a day.

~~~
sylvinus
I think the point of the parent comment is that they would have done it right
away even if Chrome usage had been at the same 3.5% share.

~~~
zobzu
Defending Google and attacking Firefox is still the trend though, as many of
the comments show here, even thus this Mozilla employe's comments are crystal
clear (for once someone does that - that's great!)

------
Siecje
Here is a list of bugs with Google services and Firefox.

[http://www.otsukare.info/2014/10/28/google-
webcompatibility-...](http://www.otsukare.info/2014/10/28/google-
webcompatibility-bugs-list)

------
zimbatm
We should just remove the reporting of User-Agent in browsers. All they do is
encourage user tracking a building half-baked heuristics.

~~~
pdkl95
The user agent header should have been dropped a long time ago, as it is one
of the largest[1] sources of browser identification data.

Even ignoring the tracking problem, using the user agent string instead of
feature detection has always been terrible engineering, as it assumes all
browsers within a version have the same features. Browsers have always been
configurable - often in extreme ways. I don't understand how anybody can
simply6 pretend the preferences dialog (and extensions, etc) doesn't exist.

[1] Out of the 15.91 bits of data that Panopticlick was able to collect from
my browser, 9.0 bits (56%) were from the user agent. The 2nd largest source is
HTTP_ACCEPT at 4.25 bits.

~~~
thedufer
> using the user agent string instead of feature detection has always been
> terrible engineering

Is there a better solution for server-side feature detection?

~~~
davb
Something like the Accept header, listing capabilities. Or something like how
Android handles capabilities in manifests.

------
yuhong
I wonder why it was that important (for Firefox to do something about it).

~~~
timonovici
They already lost a massive chunk of their users. Do you think things will get
sweeter if people start to notice that Firefox videos are crappier than on
Chrome?

~~~
yuhong
Yes, but you are talking about only weeks here for one thing.

~~~
Strom
Only weeks? I wouldn't watch any video for even 10 seconds if it's only 360p.
I would instantly start tracking down the problem and/or switch to a player
that can do more.

~~~
tamana
0th world problem, to the extreme. The bug would be fixed before at least
99.99% of users noticed and tested an alternative.

~~~
timonovici
Put yourself in Mozilla's shoes. Why would their users have to take the
punishment for no apparent reason? Wouldn't you be protective towards your
users/reputation?

------
rplnt
On a similar note, Facebook does this as well for video. Take these two
browsers: Chrome (with Flash bundled) and Opera (the new shitty one, based on
Chromium, with chrome-like user agent and without Flash). Facebook serves
Flash video to the browser without flash and HTML video to the browser with
Flash.

Why? Fucking user agent.

~~~
rplnt
Oh, I just remembered - they also do it with gifs - convert them to video and
serve through flash. I sometimes wonder whether they are invested in Adobe or
something.

------
chris_wot
I think that browser user-agent-strings are far more trouble than they are
worth.

I think at this point, if there are browser bugs in something as important as
video, the release team or someone should pick it up before release as a show-
stopper.

If the issue is on the server end, then the people running the server should
be fixing their mess.

Do we know which it was? A Firefox issue that caused Youtube to detect the
user-agent and server lower quality video, or was it an issue on Youtube's
end?

~~~
bzbarsky
See
[https://news.ycombinator.com/item?id=10878678](https://news.ycombinator.com/item?id=10878678)
for what happened here, at least from Mozilla's point of view.

------
hoodoof
The only reason this should be on the front page #1 of HN is if there is
tangible evidence that intent was malicious.

~~~
BinaryIdiot
The poor way in which YouTube does feature detection (via user agent string)
is almost as appalling. There is nothing wrong with outlining it here.

~~~
timothya
> _The poor way in which YouTube does feature detection (via user agent
> string) is almost as appalling._

If you could provide a better alternative, I'm sure they'd be all ears.

~~~
pas
Put there a little button that lets the user select the
format/resolution/implementation.

~~~
jrowley
What percentage of YouTube users could define the word "format"?

------
nitrobeast
Interesting ... Because of some incidents Google is evil ... Meanwhile Firefox
is not allowed on iOS.

~~~
josteink
"Everyone" which cares about openness avoids Apple products and iOS in
particular and has for a long time.

Pointing out how Google is evil, does exclude other companies from being evil
too.

~~~
josteink
> Pointing out how Google is evil, does exclude other companies from being
> evil too.

Obvious typo: Pointing out how Google is evil, does NOT exclude other
companies from being evil too.

------
betolink
I've also noticed the bug, it didn't happen with Chrome. What do you all think
was my first thought?

~~~
zobzu
"oh firefox sux"

but in fact, it was all google's doing. imagine if they do this randomly and
developers of safari, edge, firefox, dont always notice... good way to grab
market share, by leveraging that the entire human race browse/use youtube
daily.

~~~
cpeterso
I doubt YouTube is willing to jeopardize their ad revenue for some intangible
nudge towards Chrome. I'm sure these Google different orgs, rightly,
prioritize their own P&Ls.

~~~
zobzu
I'm sure it's involuntary (at least I hope so) but the prioritization is
voluntary (like you said, if it was chrome it'd be instant fix - even if
chrome had 1% market share).

My comment means also to show the power Google holds over all web browsers.
Imagine a sharp sword above the head of all of the web browsers, and they can
swing it any time they please. They don't hopefully, but they can. Sometimes,
the sword just slip, even. That's a lot of power for a single company.

