Live data from Hacker News

Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

thurrott.com

191–200 of 207 posts

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#191

Earlier quoted context omitted.

> Feature detection stops being better when a) your supported browser list stretches into the early 2000s around the world and b) you are in a latency sensitive environment where it is unacceptable to degrade performance of the latest browsers. So whitelist “safe browsers” with server side user-agent sniffing and send the rest a bigger bundle with feature detection. There is no reason not to serve users of modern bro…

This works great until browser vendors that aren't whitelisted but support the features of a whitelisted browser (e.g. Chromium derivatives) realize that they're paying extra costs they don't have to, and change their user agents to a whitelisted browser... Posted from Chrome- > Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

It is better to get the feature along with a bigger bundle then not get the feature at all even though your browser supports it.

Note the parent is claiming that feature detection is not feasible for a site like YouTube because of the extra cost. Here I show how you can still bundle optimally for whitelisted (i.e. QA-ed) user-agents while still not blocking non whitelisted user-agents from accessing these features, and still not brake the page for user-agents that don’t support it.

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#192

Earlier quoted context omitted.

> If the initial bundle isn’t enough to make the page useful, then the user has to wait for two requests to complete serially before they can perform their task. Since the alternative is just broken, I'm sure users with non-Google browsers would prefer a working page with one round-trip of extra latency. Meanwhile, it causes Chrome users no harm, they are unaffected. But anyway, there's no need for extra delay. You c…

To be clear, I have no insight into the specific topic of the article (and I probably can’t comment on it if I did). I’m simply defending the process of segmenting experiences by user agent, which the original comment suggested could have been the cause, and also suggested that it was never best practice to do so. I think I’ve made a pretty good case that the original response from the server ought to be informed by…

Original comment author here -- we can talk about using user agents to detect edge-case bugs as something that's valid to do. We can also talk about whitelisting specific user agents that don't require polyfills so you can speed up initial page load. I think these are reasonable things to suggest.

So you're correct that there is some room for nuance and you're right to point that nuance out.

But Youtube isn't doing either of those things -- it's assuming that a user agent it doesn't recognize by default isn't supported, and rather than serve a feature-detecting version of the page, it's serving users a message to use a different browser. I still maintain that this is basically never the right thing to do (or at least it's so close to "never" that doing so should require some very good, app-specific justifications).

People are debating whether or not you can use JS to feature-detect every single specific bug, and whether or not you need to go the long path on feature-detection and do everything up front, or whether you can skip some steps for performance optimization, and they're missing the entire point of progressive enhancement. If you can detect Chrome or IE 6 and speed things up or avoid a bug, fine. But it's bad practice to rely on that detection.

It's bad practice to have a single list of browsers you support and to turn everything off everywhere else. Partially because it's bad for the web in general, and partially because from a more practical perspective it's not always safe to assume that just because you see a user agent every feature you want will be supported -- extensions exist, custom-compiled browsers exist, and sometimes user agents are just reported wrong for fringe browsers. It's also just plain bad for the user because falling back on feature detection and adding a few seconds to page load is nearly always preferable to being told to download and install a new program.

My original comment wasn't that user agent strings should be universally ignored, it was that it's unfortunate to see a company as respected as Google so fundamentally misunderstand something that's been widely taught as best-practice on the web for over a decade. I kind of feel like some of the people objecting are missing the forest for the trees -- talking about whether there's ever any valid reason at all to ever try to detect a specific browser instead of the underlying idea that the web uses a living standard and that it was designed to be client agnostic.

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#193
Many here claim that this is just an innocent mistake by the Youtube team. If it is, it will be corrected. I'm going to set myself a reminder to revisit this story 6 weeks from now. If you send an email address to the email address in my HN profile, I will send you exactly one email 6 weeks from now describing briefly what I found out about the evolution of this story over the next 6 weeks, then delete your email address from my records.

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#194

Earlier quoted context omitted.

That's a very different product. Gmail basically never needs to refresh the page - you go through that loading bar once in the morning and there's no real reason to see it again the rest of the day. Every action in Gmail other than certain preference changes happen in the same page. YouTube is reloading the page on almost every action you take. Latency is a completely different priority there.

What is it that Gmail is doing now that it wasn't doing when there was no perceptible loading time?

Attracting hipster framework devs to its internal team, wouldnt you say 3 seconds of wait x global Gmail user population x every day is totally worth it?

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#195

Earlier quoted context omitted.

> This isn’t practical at all in a latency sensitive environment. Other than Google Streaming / Stadia and some AMP sites I have never seen a Google site / app load in less than 2 seconds or so (which is kinda slow, all things considered). So I'm a little confused about this latency sensitive environment statement. Sure, what you say is correct in that using agent strings can provide an optimized bundle to the browse…

I wish you worked with me so I could pour over the metrics with you and try some experiments. I am not being flippant - I am genuinely interested in working with people who want to think through these hard problems. If you are at all interested in coffee and a potential referral, let me know.

Yeah, performance is a hard issue especially with well established applications.

Experimentation is fun. Good luck, wish I could help you more :)

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#196
Update from YouTube:

"We're aware that users of a preview version of Chromium-based Edge are being redirected to the old version of YouTube. We’re working to address this issue. We're committed to supporting YouTube on Edge and apologize for any inconvenience this may be causing"

https://www.bleepingcomputer.com/news/google/google-says-the...

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#197
post #124

Earlier quoted context omitted.

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 Hmm... looks like it's entirely practical to look at the Chrome/version for feature detection. And that they are specifically adding Edge/* detection to disable Edge instead of detecting as chrome compatible. Edit, sorry, wrong/old edge above.. new Edge below. Mozilla/5.0 (Windows NT 10.0;…

Yeah, Edge/* is going to detect separately from Chrome. The issue is, prior non-Chromium based versions of Edge would also have a user agent that looks like Chrome as well, so those older versions will need to be treated differently. :( It's the same reason why everything still has Mozilla/5.0. To be completely clear, I am suggesting this is a bug. It even looks like a bug, since it ironically tells you to upgrade to…

This bug is specifically detecting the new version of Edge (which uses "Edg/") and allows users with other strings "E/", "Ed/", and even Spartan based "Edge/".

Someone intentionally added code to single out Chromium based Edge.

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#198
post #54

Most likely a user-agent check to ensure compatibility. I don't assume any ill intent. That being said, what does annoy me is that we've known for years that feature detection is preferable to user-agent detection, and I would kind of expect one of the biggest web development companies in the world to be following best practices. This isn't my local pizza shop, Google engineers should know better. Have they already f…

Disclaimer: I work at Google but not on YouTube, speaking in a personal capacity. Long story short, it doesn’t really work this way. As an example, go to google.com on Internet Explorer 6. No, I’m serious. You will find that it loads just fine and even functions, over plain HTTP. It’s only a small subset of functionality, but it does actually work. You can’t do that with feature detection. YouTube may have crossed th…

>As an example, go to google.com on Internet Explorer 6. No, I’m serious. You will find that it loads just fine and even functions, over plain HTTP. It’s only a small subset of functionality, but it does actually work.

Why should this be surprising?

What at all about google.com requires all the modern fancy javascript? Theres the search bar, which only need be a basic html text input box, and thats 98% of the reason I'll ever be at google.com.

I can guess that there are all sorts of little features crammed in that I don't know or care about, and that without the most up to date everything, some of those features may not be possible or may not be as efficient or whatever. Except there's a key phrase as part of that "I don't know or care about" which means its not why I'm at google.com whatsoever.

There's an attitude that seems to be common in SV, especially Google, that seems to put way way too much focus on using the latest things and having everything be automated and as low latency as possible....for what? Why? Its cool you can cut so many ms off some request that it pushes the physical limits of the metal, but I don't really care at all, in fact I'll be prompted to get angry, if that request is part of some feature I'm not interested in, and the one I am, is clearly neglected.

I know everyone isn't me, but I find often that my peers have similar feelings. Just look at Android Auto for a myriad of examples of significant buggy behavior that Google certainly has the manpower to fix, but chooses not to.

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#199

Earlier quoted context omitted.

> Have they already forgotten the dumb "best viewed in IE" banners that magically vanished as soon as the user-agent changed? They have not. It's just that Google is the top tog now, and doesn't care. While Microsoft is the underdog, and linux is not a cancer and they love open source. And in 20 years this may very well reverse again. The bottom line is to not expect share holders driven multinationals to do what you…

> They are nor good or bad, just without the need for moral, and only constrain by the market and the law (if enforced). What do you mean by "if enforced"? That companies should be allowed to explore and exploit weaknesses in the legal system, and that we should think this is acceptable behavior? Translated to humans: a person who constantly tries to find the boundaries of the law is most likely an asshole.

They aren't making any judgement about the moral quality of the law or enforcing it.

Just that the law can't really constrain you if it isn't enforced on you.

If you have some way of getting the law enforcer to ignore you than you don't really care what the law is

Re: Google Now Forces Edge Preview Users to Use Chrome for the Modern YouTube

#200

Earlier quoted context omitted.

> If the initial bundle isn’t enough to make the page useful, then the user has to wait for two requests to complete serially before they can perform their task. Since the alternative is just broken, I'm sure users with non-Google browsers would prefer a working page with one round-trip of extra latency. Meanwhile, it causes Chrome users no harm, they are unaffected. But anyway, there's no need for extra delay. You c…

To be clear, I have no insight into the specific topic of the article (and I probably can’t comment on it if I did). I’m simply defending the process of segmenting experiences by user agent, which the original comment suggested could have been the cause, and also suggested that it was never best practice to do so. I think I’ve made a pretty good case that the original response from the server ought to be informed by…

I hope I've shown that I agree with you, that "the original response from the server ought to be informed by the user agent string in an environment like YouTube, mainly for latency reasons".

But, differently from YouTube, it's possible to serve a latency-optimised, user agent-optimised response in such a way that it's just a performance heuristic, without changing the actual functionality, which is still determined by traditional feature detection to the extent that is possible to do.

When it's implemented that way, it's quite safe to serve the "wrong" response sometimes.

Because it's safe to serve the wrong response, that allows automatic latency optimsiation, instead of brittle, hard-coded rules that will be wrong sometimes.

Inputs are user-agent, client IP, client cookie state, and feedback about whether other resource bundles were fetched as well, or other kinds of feedback such as detected features. Output is which bundle to serve.

This may improve performance over a hard-coded approach, because it adapts continually to new user-agents out there. Yet it is still coded as traditional feature detection (for features where that's possible), and works the way feature detection has always worked.

Post reply on HN