As far as I understand, this code is a part of the anti-adblocker code that (slowly) constructs an HTML fragment such as `<div class="ad-interrupting"><video src="blob:https://www.youtube.com/..." class="html5-main-video"></video></div>`. It will detect the adblocker once `ontimeupdate` event didn't fire for 5 full seconds (the embedded webm file itself is 3 seconds long), which is the actual goal for this particular code. I do agree that the anti-adblocker attempt itself is still annoying.
I couldn't reproduce the 5s wait in multiple scenarios in Firefox (various combinations of being logged in / not being logged in / without adblocker / with adblocker) and couldn't reproduce a 5s wait time in any of them, it played back immediately in each case (when without adblocker, using a second video to have one start without ad). I tested on Linux.
What exact combination of circumstances is required to trigger the multi second wait time?
I just tested this in firefox on ubuntu. Three subsequent new tab tests.
Load: 4.34s, 5.14, 2.96, 3.35
DOMContentLoaded: 3.65s, 4.56, 2.92, 3.33
Finish: 13.14s, 10.77, 8.49, 12.02
So it's getting a bit faster over time, but still heinous, and crucially, it isn't hanging on requests. Individual asset GET/POST requests are taking tens of ms, worst was a few parallel 254ms GETs on a cold start. Usually 50-70ms. But there is a flurry of requests, then a period of very few requests until 5s after init, then another flurry.
Same OS, chrome 115.0.5790.170, no blockers, youtube is much snappier, it still definitely takes a few seconds to paint thumbnails, but it's basically done by 5s. DOMContentloaded is never more than 1.75s, finish <8s.
Firefox private window with blockers off has similar time statistics. But actually doubleclick.net is still getting bounced.
I tested in Firefox (uBlock), LibreWolf (uBlock), Safari (AdGuard), and Chromium (no ad blocker), and the initial home page load takes a couple seconds, but I never witnessed a 5s delay. I would say it was actually fastest in Firefox for me, but that may have just been a result of some caching. I am a premium subscriber and have never seen a warning for using an ad blocker, so I'm not sure if premium subscribers get a pass.
Probably because there are other methods for Chrome that don't apply to Firefox.
Like when I noticed that some sites did some URL rewriting trickery on Firefox and others browsers, but not for Chrome. The trick is to show you the proper URL the link points to, but as you click, it is substituted for one that is a redirection, for tracking purposes (ex: "https://l.facebook.com/l.php?u=http:://actualsite...").
On Chrome, they don't need to use these tricks as the browser supports the "ping" attribute of links, so they can do their tracking without rewriting the URL.
This kind of BS is why I don't ever click on links directly. I copy/paste them instead, so I can examine and trim them. Often, the actual link is through some sort of redirection service and I need to copy/paste the text the browser shows for the link rather than the actual link.
There's so much trickery and nonsense around this stuff that no link is safe to just click on.
You actually don't need to use any dedicated extensions for that, as this functionality is built into uBO, you just need to find a filter list (just search for "ublock origin clearurl list" or whatever)
I've also noticed this behavior popping up a lot lately, but I had no idea why. The URL with tracking included was still blocked by uBlock Origin, but having to manually copy-paste the relevant portion was an annoyance.
I have no idea because I didn't experience anything like that both in Chrome and in Firefox (both with uBO though). But I'm confident that this particular code is not related to the actual slowdown, if it did happen to some Firefox users, because I received the same code even in Chrome.
This is just anecdote, but sometimes (especially when I'm on slower internet) Safari + AdGuard will have glitch [0] on YouTube. Never happened with Firefox + Ublock Origin.
[0] Unable to press play and showing image with Ad instead.
I experience the same glitch and i like it because you can just reload the page (cmd-r) and then the video starts so if you're used to it you can skip ads within less than a second and you dont get annoyed by the ad sound/video, just an image.
When they first introduced anti-adblock crap, you could evade the banner by switching UAs. I'd say it's fair to assume that switching UAs triggers some other code path and this function never gets called.
I'm not even mad about Google making my artificially wait 5s for using firefox.
I'm mad that such a big company with suposelly decent engineers, are making me wait 5s with literally a sleep, how is even possible to do such thing in such a rudimentary way? I would be like damn that was smart, this feels like, seriously this is the level?
IMHO, this kind of things are not done by engineers.
* Marketing/Sales asks engineers to add a feature flag to sleep N milliseconds for their research: "how slowing down impacts your revenue"
* engineer adds a flag, with different control parameters
* Some genius in Product figures this out and updates the experiment to slow down for competitors
When company gets a backlash from public: "oops, we forgot to clean up all parameters of feature flag and it accidentally impacted Firefox"
Google stopped testing stuff in Firefox, that is all they did afaik. We all should know how many bugs and "oppsies" you get when you don't test before releasing new features. Test code snippets being pushed to prod etc.
Engineers tend to create paper trails on what they work on, code reviews and bug logs etc are everywhere, so I doubt there is any of those where they say "Make things shit for Firefox to hurt our competitors", that would net them an easy loss in court. But not testing in browsers with small userbases will hold in court.
Firefox has a small userbase partly because of the early "oopses" described in the article I linked. Those happened a while ago, when Firefox had more users than Chrome.
But they referred to behaviour that was present pretty much from the start. It's just that Mozilla folks were extremely tolerant and assumed good faith for a very long time.
Google have been disgustingly anticompetitive for a very, very long time at this point.
Yeah, one of the biggest examples being the HTML 5 video push and Chrome’s claims around H.264: Google promised they were going all in on WebM and would remove support soon, but never did. That meant that Firefox users got more errors outright but also that for years even sites like YouTube would leave Firefox using 100% CPU with your laptop fans on high doing software WebM while Chrome users got hardware accelerated H.264. That became moot after Mozilla and Cisco struck that deal and video hardware acceleration for other formats shipped but there was a multi-year period where Firefox suffered badly in comparison to other browsers.
Another person is claiming that Google writes custom code for Firefox (or other browsers) to enable tracking, because of the feature difference between Firefox and Chrome [1]. Only one of you can be correct.
The company is big enough for both of them to be correct.
I have firsthand knowledge that Cloud, for instance, did not test regularly directly on Firefox. Team couldn't justify the cost of setting up and maintaining a FF test suite to satisfy 1 in 50 users, so they didn't (and nobody up-chain pushed back on that). Testing was done regularly on Chrome, Safari, and Edge, as per the usercounts and "top three browser" guidance (at the time, we didn't even test regularly on mobile, since there was a separate mobile client).
But the analytics team? I'm sure they test directly on Firefox. They're just testing an entirely different piece of the elephant and their end-to-ends won't include how, for example, changes they make interoperate with Firefox in the context of Cloud. Or YouTube. Or etc. Not unless they have a specific reason to be concerned enough to.
Google's like any other megacorp in the sense that costs of cross-team coordination are combinatoric.
Very good point. It's important to recognise that developers in many companies are often not fully aware of the intended use of features they're asked to create.
My initial reaction was astonishment that the engineers would happily implement this. And maybe that is what happened. But the alternative possibility is that product and senior management assigned different parts of the feature to different teams e.g. one team develops a pattern recognition system to detect users' professions, another team develops a spoofing system for use in demos, etc...
They have done such research before, Google published this at a time when developers were all "100 ms more or less web load time doesn't matter". Since then webpages has gotten much more focused on performance.
The prevailing developer discussions going from "Load speed doesn't matter, stop complaining about useless stuff" to "load times matters, but here we choose to make it slow for other reasons" is a massive improvement though. Today speed is valued, it wasn't back then.
There are many such tests being written about in blogs today. So now a developer can get time to optimize load times based on those blog posts while before managers would say it was worthless.
Of course it always mattered. But at the time lots of people argued it didn't matter, which is why the headline is "Speed matters". You thinking it did matter at the time doesn't mean the general community thought so.
But the general community did care about speed. Everyone worked towards small load times, optimized (for example) image size for optimal load time, everyone cared.
Not so hard to believe tho. I work on a product that has parametrized feature flags. This means that, from a web interface, someone can say things like "activate feature X, on machines running operating system Y, at version Z, and are running product version W with license type Q". This is not a hard thing to build, and once you have it you can mix and match filters without being a software engineer or knowing how it works behind the scenes.
when the purpose is to abuse your monopoly to further your business interests in another area, being obtuse and convoluted to get plausible deniability is good engineering. This is just sloppy.
I think this is a good example of corporations being made up of people, rather than being contiguous coordinated entities as many of us sometimes think of them.
An engineer doing "good engineering" on a feature typically depends not only on them being a "good engineer" but also on them having some actual interest in implementing that feature.
I would imagine that in a well coordinated company engaging in this kind of thing, the order wouldn't be "slow down firefox", but something along the lines of "use XYZ feature that firefox doesn't support and then use this polyfill for FF, which happens to be slow". Something that doesn't look too incriminating during any potential discovery process, while still getting you what you want.
That's assuming a degree of engineering competency at the product decision making level that is usually absent in companies that are structured as Google is, with pretty strong demarcations of competencies across teams.
Nah, that's got a risk profile. They could implement whatever your strategy is in the next release. You aren't going to necessarily get the longevity of the naive approach.
Plus a Firefox dev would discover that more easily as opposed to this version which they can just dismiss as some JavaScript bug on YouTube's part
that's the beautiful thing, you make the polyfill contingent on the browser being firefox rather than probing for the feature and then you forget to remove it once they implement the feature
But why do you have to be that clever? If you're caught the consequences are the same regardless and both implementations would exhibit equivalent behavior.
The only superior approach here would be one that is consistent enough to be perceived but noisy enough to be robust to analysis.
Also it should be hidden on the server side.
Who knows, maybe there are a bunch of equivalent slow downs on the server side in the Google property space.
Given this discovery it would probably be reasonable to do some performance testing and change the user agent header string of the request.
Google docs, image search and Gmail operations would be the place to hide them.
I dunno. How long has it been there without anybody noticing?
5 years? 7? Longer?
No matter how they approached it, you could demonstrate the pattern through the law of large numbers regardless. Might as well make the implementation straight forward.
Using an idle timer, like window: requestIdleCallback [1], is good engineering. If anything passes that's not good engineering, it's laziness.
I'm not even a JS programmer but I know about timers, idle wait in UI programming is a common pattern. It's the attitude of mediocre engineers not bothering to lookup or learn new things.
If every OS/browser/stock market dev did what they want "because it works" we don't have a working system. We'll have systemic lags making the system sluggish and eventually unusable as more engineers follow the same mantra.
"It works" is The high engineering bar and it's the hard one to hit.
Oftentimes it's replaced these days with imagined complexity, ideological conformity or some arbitrarily defined set of virtues and then you get a really complicated thing that maybe works some of the time and breaks in really hard to understand ways.
Transcompiled frameworks inside of microservices talking to DBMS adapters over virtual networks to do a "select *" from a table and then pipe things in the reverse direction to talk to a variety of services and providers with their own APIs and separate dependencies sitting in different microservices as it just shepherds a JSON string through a dozen wrapper functions on 5 docker containers to just send it back to the browser is The way things are done these days. This is the crap that passes for "proper" engineering. Like the programming version of the pre-revolutionary French Court.
A simple solution, fit for purpose, that works as intended, easy to understand, remove, debug and modify with a no-bus factor, that's the actual high end solution, not the spaghetti stacked as lasagna that is software haute couture these days.
Sometimes, in practice, the dumb solution can also be the smart one. True mastery is in what you choose Not to do.
I agree with the spirit of your comment; I too hate over-engineering. Choose your battles is an important step in mastery, yes, but being lazy can't be chalked up to mastery.
In this particular case I disagree with using `sleep`; using the idle timer it's not as roundabout as you put it: _Transcompiled frameworks inside of microservices talking to DBMS adapters over virtual networks_. It's a straight-forward callback, some lower-level timekeeper signals you and you do your thing: it's nowhere close to the convoluted jumping through hoops you explain.
Mastery comes with balance: putting in the optimal effort, not more, not less either. Of course, depends on what one's trying to master: job or programming. Former means do the minimum and get maximum benefits from your job/boss, latter means enjoy learning/programming and arrive at the most optimal solution (for no reason, just because you're passionate).
In programming in general, sleeps are generally considered....(I'm lacking the word)...distasteful?
If your code needs to wait for something, it's better done with some sort of event system or interrupt or similar; the reason being that a 5s wait is a 5s wait, but if, say the thing you're waiting for returned in 10ms, if you're using an alternative solution you can carry on immediately, not wait the remaining 4.99 seconds. Conversely, if it takes longer than 5s, who knows what happens?
Sure, but assuming we take it as face value that this is a straightforward attempt to force a UX-destroying delay, I don't see what makes this so terrible. It's meant to force a 5 second wait, and it does it. Problem solved.
The 5-second wait is the issue, not the means it was obtained -- a fixed wait time either wastes the user's time (by making it take longer than necessary) or is prone to bugs (if the awaited task takes >5 seconds, then the end of the timer will likely break). The better question is _why_ a 5-second wait was necessary, and there's almost certainly a better way to handle that need without the fixed wait time.
OPs point, I think, is that wasting the user's time is part of the point of the code. This specific code seems partially meant as a punishment of the user for using an adblocker.
That's somewhat in debate, the last I saw. The initial report was it affected a user using Firefox, and it didn't when they switched useragents. Since then, there have been reports of users not seeing it in Firefox, but seeing it in other (even chromium-based) browsers. So it seems likely they are A/B testing it, but less clear if they are intentionally targeting non-Chrome browsers.
Their goal, quite clearly, is to prevent (or at least heavily discourage) adblockers. This is one attempt to detect them, and maybe in Chrome they have a different detection mechanism so it doesn't show the same behavior.
It would be a particularly foolish move on their part to push Chrome by punishing everything else right now, while they are in the middle of multiple anti-trust lawsuits. It makes me think that is unlikely to be the intent of this change.
they are a lazy man's solution to race conditions that does not actually solve the problem of race conditions, only makes them less likely to cause a problem at an often extreme cost to responsiveness as seen here.
You can't directly do a sleep in Javascript because it runs in the same thread as the UI - it would block the user from interacting with the page. This is effectively a sleep because after 5 seconds it's running the code in the passed-in function (not firing an event). The code in the function then resolves a promise, which runs other functions that can be specified later by what called the one using setTimeout.
This is interesting as I had noticed this happening to me (in Chrome) when the anti-ad-blocking started. I assumed that it was YT's way of "annoying" me still while no ads were shown... It was eventually replaced with the "You cant use Adblockers modal" and now I just tolerate the ads.
So I wonder if that 5s delay has always been there.
When I ran into the adblocker-blocker (Firefox + uBlock Origin), I noticed that I could watch videos if logged out. So I just stayed logged out, and haven't seen an anti-adblock message since. Or an ad.
Added bonus, I'm less tempted to venture into the comments section...
Same, I use Firefox + uBlock Origin + YouTube Unhook for a cleaner interface. I also always watch videos on private navigation windows (my default way of browsing the internet) and I manage subscriptions with the RSS feed of the channels, much better to track what I have watched since the default homepage of YouTube does not display the last videos of your subscriptions.
Edit: I have forgotten to add sponsorblock to the list of extensions
I've been randomly getting the situation where the video on Firefox doesn't work, but the sound does. It says something like "Sorry something's gone wrong", but for a brief second I can see the video. I think it's connected to the ad-blocker changes, but it doesn't actually have a message about having an ad-blocker on.
I'm using Firefox + uBlock Origin logged in and it works totally fine. Maybe Youtube removed the anti-adblocker on select accounts? I remember I once entertained myself with writing a report in which I sounded like I'm sitting in a retirement home and have no clue what's going on with "ad block." Did perhaps someone actually read this?
I think you have simply been lucky, the full story is that uBlock Origin and Youtube have been tying to outpatch the other, with uBlock rolling out a bypass to the filters every one-two days since late October (https://github.com/stephenhawk8054/misc/commits/main/yt-fix....).
Depending on if you've set up uBlock to auto-update and when you've watched youtube relative to when the block filters got updated you might just not have been hit with the latest detectors while they were active. Personally I know I got the "accept ads or leave" modal with firefox + uBlock, locking me out completely on one of my devices.
Same here . No problem with anti Adblock. It was shown twice to me and I googled „YouTube alternatives“ then tried Vimeo and it was nice. Maybe they did register this ? :D
I got the you can't use an adblocker message, but was able to close and/or reload the page to watch videos without ads. After a week or so it stopped popping up.
It's still trivial to block ads, but the delay has recently started for me, after never happening before. So presumably a very intentional volley in the ongoing war to own your attention.
I still use adblockers perfectly fine on Youtube. There was never a real interruption in adblocking either. You just need ublock origin + bypass paywalls.
Pi hole doesn't help, but there are various Android TV apps that do block ads. I still prefer the Roku eco system but I switched after they started putting ads in the middle of music videos.
This is happening to me in Chrome as well so I don't think it's tied to the browser you use.
Curiously it happens only on one profile, in another Chrome profile (which is also logged in to the same Google account) it does not happen. Both profiles run the code in your comment, but the one that does not have the delay does not wait for it to complete.
The only difference I spotted was that the profile that loads slowly does not include the #player-placeholder element in the initial HTML response. Maybe whether it sends it or not is tied to previous ad-blocker usage?
What does piss me off is that even if you clear cookies and local storage and turn off all extensions in both profiles it still somehow "knows" which profile is which, and I don't know how it's doing it.
Is the use of the "E" notation common in JS? I can see that it (could be) less bytes, obviously more efficient for bigger values... Looking at the script I can see it is minified or whatever we call that these days. I guess my question really is: did someone write "5E3" or did the minifier choose it?
(Sorry this is heading into the weeds, but I'm not really a web developer so maybe someone can tell me!)
In js I thought 1==true, and 1 is shorter than !0 ??
Never seen the use of exponential notation for numbers in js though (not a surprise, I'm not really a programmer), it seems sensible to me from the point of shifting the domain from ms to seconds.
Unlikely. Google has been breaking non-Chromium (or sometimes even just non-Google Chrome) browsers for years on YouTube and their other websites. It was especially egregious when MSFT was trying their own EdgeHTML/Trident-based Edge. Issues would go away by faking user-agent.
> It was especially egregious when MSFT was trying their own EdgeHTML/Trident-based Edge. Issues would go away by faking user-agent.
Why is there more than one user-agent? Does somebody still expect to receive different content based on the user-agent, and furthermore expect that the difference will be beneficial to them?
What was Microsoft trying to achieve by sending a non-Chrome user-agent?
User agents are useful. However they tend to be abused much more often than effectively used
1. They are useful for working around bugs. You can match the user agent to work around the bugs on known-buggy browser versions. Ideally this would be a handful of specific matches (like Firefox versions 12-14). You can't do feature detection for many bugs because they may only trigger in very specific situations. Ideally this blacklist would only be confirmed entries and manually tested if the new versions have the same problem. (Unfortunately these often end up open-ended because testing each new release for a bug that isn't on the priority list is tedious.)
2. Diagnosing problems. Often times you see that some specific group of user-agents is hammering some API or fails to load a page. It is much easier to track down if this user agent is a precise identifier of the client for which your site doesn't work correctly.
3. Understanding users. For example if you see that a browser you have never heard of is a significant amount of traffic you may want to add it to your testing routine.
But yes, the abuse of if (/Chrome/.test(navigator.userAgent)) { mainCode() } else { untestedFallback() } is a major issue.
Only option 1 is something that users, who are the people who decide what user-agent to send, might care about. And as you yourself point out, it doesn't happen.
I'm pretty sure that users care that websites can fix bugs affecting their browser. In fact option 1 is very difficult to actually implement when you can't figure out which browser is having problems in the first place.
Why do you think users wouldn't care about sites diagnosing problems that are making pages fail to load (#2) or sites testing the site on the browser that the user uses (#3)?
It is normal practice for each browser to have its own user-agent, no? But the fact that Google intentionally detected it and used polyfills or straight up invalid JS at the time was insane. A similar spin today is "Your browser is unsupported" you see here and there. When a major platform such as YouTube does it, it is really impactful.
It would never do feature detection, would give lower quality h264 video, etc. Back then, there was really nice third-party application myTube which had made this less of an issue but it was eventually killed through API changes.
It may have been intended to be a normal practice, but as far back as IE vs Netscape everyone has been mucking with user agents for non-competitive (and counter-non-competetive) reasons
There is no reason for charity with such a large power difference. For Firefox, "bugs" like this can really end up being a lost one-shot game.
It's like people walking by and casually reaching for your phone. It's always meant as a joke, unless you don't pull it away fast enough. Then suddenly it wasn't a joke - and your phone is gone.
This is not rooted in any reservation against Google in particular. If you are a mega-corporation with the power to casually crush competitors, you should really want to be held to a high standard. You do not want to be seen as the accidentally-fucking-others-up-occasionally kind of company.
Without studying the minified code I wouldn't assume malice just yet, this could be just an inexperienced developer trying to lazily fix some browser-specific bug, or something that accidentally made it to production like you say
You think they let inexperienced developers touch the YT code base without proper code review? Even if that were the case, which is an extremely charitable assumption, that itself would be malice in my opinion.
> You think they let inexperienced developers touch the YT code base
Uh, yes? We were all inexperienced at some point. Just the linked file is like 300k lines of unminified code, I doubt it's all written by PHDs with 20 years of experience
It could even just be a timeout as part of retry logic or similar. A lot of people seem to be saying that there is no reasonable reason to have a `sleep` in a production application. But there are many legitimate reasons to need to delay execution of some code for a while.
I really don't understand why any technically proficient user would willingly use any of the official YouTube frontends. You get bombarded with ads, you're constantly tracked and experimented on, and your behavior is used to improve their algorithms in order to keep you on the site for as long as possible. It's a hostile user experience, just like most of the mainstream web.
Whenever possible, I suggest using Invidious, Piped, Newpipe, yt-dlp, and anything but the official frontends.
I try to compensate the creators I follow via other means if they have an alternative income source, but I refuse to be forced to participate in an exploitative business model that is responsible for the awful state of the modern web.
>I really don't understand why any technically proficient user would willingly use any of the official YouTube frontends.
I'm a technically proficient user that's written custom bash scripts for youtube-dl combined with ffmpeg to download videos locally and I still use the official Youtube desktop web browser UI every day for several reasons:
+ transcripts and close-captioning (use Ctrl+F search for text to find the section of video that starts talking about the topic I'm interested in)
+ many videos have index of chapters (deep links), table-of-contents
+ viewers' comments (especially valuable for crowdsourced feedback on DIY videos to point out extra tips, or flaws, etc)
+ external links mentioned (Amazon links to products is especially valuable for DIY tutorials)
+ convenient hot links to related videos (part 2, part 3, etc). Not every creator makes "playlists"
+ Youtube web UI has superfast video scrubbing of the timeline. A local video player like VLC scrubbing of the timeline is very slow compared to Youtube because the youtube backend pre-analyzes the entire video and generates a bunch of timeline thumbnails at multiple intervals. This makes the Youtube web UI timeline scrubbing very fluid with responsive visual feedback.
I like downloading with yt-dlp but I also lose a lot of functionality when I watch videos in VLC instead of the Youtube desktop webbrowser UI. The above points are not relevant to the terrible Youtube app on mobile and tablets.
Most of those features are available in OSS tools as well. And for those that are not, there are alternative solutions that might take a bit of work to implement.
I'm not claiming that the OSS tools have feature parity with 1st party frontends, or that they won't require some sacrifices, or effort adjusting. I just think that the trade-off of losing some of the convenience in return for not being tracked and manipulated is well worth it to me, though I can see how it might not be worth it for others.
I do actually think that OSS tools provide a better UX. I can download the media and consume it offline, using any player of choice, on any device, at any time. I find YouTube's recommendations a nuisance, and I can turn those off in Invidious and Piped. Scrubbing in mpv is instantaneous for me for local files and even those served on the LAN, though there is a slight delay when playing directly from YT. There is also a solution for generating thumbnails[1], though I had some issues with it, and didn't end up using it.
At the end of the day, it's a personal choice depending on what you value most, and I'm not trying to convince anyone my choice is inherently better. Thanks for providing your perspective.
>Scrubbing in mpv is instantaneous for me for local files
Yes, I agree that scrubbing in mpv or vlc is "instantaneous" but Youtube's web ui is even more hyperfast "instaneous" than mpv.
>There is also a solution for generating thumbnails[1], though I had some issues with it, and didn't end up using it.
For me, using an offline tool like thumbfast to generate timeline previews defeats the purpose of using Youtube's pre-existing timeline thumbnails that Google's datacenter already generated. Let me explain...
>I do actually think that OSS tools provide a better UX. I can download the media and consume it offline, using any player of choice, on any device, at any time. I find YouTube's recommendations a nuisance,
I'm guessing it's a difference in usage pattern. I'm often browsing a bunch of Youtube videos as a research tool. Like a "visual wikipedia" for various topics (especially DIY tutorials and products research). I want to jump in and out of videos fast. Downloading videos with yt-dlp to play in mpv isn't the workflow here. That's too slow and cumbersome. Instead, I'm sampling a bunch of videos and maybe a few of those will be ultimately be downloaded. E.g. Preview/scrub fragments of 10 related videos, read some viewer comments, scan some transcripts, etc... and eventually only yt-dlp 2 of them. This is why "mpv yt-dlp with workarounds" is not an acceptable substitute for using Youtube's web ui.
My only usage of YT is queing up videos for short-term playback. So I browse a feed of my subscriptions in Piped, drag links of videos I'm interested in to a text file, and run a small script on my HTPC to download them with yt-dlp in parallel, and add them to a playlist. With a fast connection, it only takes a few minutes to download even dozens of videos at a time. Then I serve the videos on my LAN over HTTP with nginx, and watch them on any of my devices using any media player that can stream HTTP, which is usually mpv.
I started a project some time ago to make this fancier, but honestly, this workflow does 90% of what I need, and I'm too lazy to change it.
I was in that boat. But after a while I realized I could no longer in good conscience give Google any more money when they were pushing so many initiatives that went against my interests.
I used a VPN and pay $2 a month for it, which is an acceptable trade off for using it on my phone and spending my life worrying about things that impact me more
The web frontend just works. The other frontends tend to have issues, which even if they're not deal-breakers are annoying. I won't put ideology over using what works best. And clicking a link, then clicking play, beats copying the URL then pasting it into a command line.
Of course this only works because by default (since I have an ad blocker anyways) I don't get bombarded with ads on the web frontend, and so far I've seen the adblocker nag screen once (a failure which uBlock Origin seems to have swiftly corrected).
Because using the website is a better experience. None of those tools worked with Sponsorblock last time I tried, for one.
I don't want to yt-dlp every video, Piped and Invidious both have awful frontends in comparison, even the Newpipe dev admitted to using Vanced at some point, and yt-dlp needs some massaging to get the right video quality (and it can't download some videos at all).
If any of your solutions were better for the majority, the majority would be using them. Youtube's ad blocker war is making the platform worse for everyone, but having a couple of billions of developer power behind your platform still beats any open source video players built for fun.
> Because using the website is a better experience.
That is debatable. I personally find that the combination of Piped, yt-dlp and mpv provides a far better experience than the official frontends. But this is a personal opinion, and I'm not trying to convince anyone my choice is better. I just didn't think other technical users would prefer using the official frontends.
Thanks for your perspective, though I think it's a bit outdated.
> None of those tools worked with Sponsorblock last time I tried, for one.
In addition to Piped, and Invidious, mentioned by sibling comments, which allow you to subscribe, search, and provide recommendations, you can use a complete CLI workflow with something like ytfzf[0], or, you can use the search commands on yt-dlp[1], which are also accessibly through mpv using the ytdl:// prefix.
Getting familiar with such tools not only replaces the terrible UXes you have to be subjected to, but also gives you the power and freedom to be creative with how you use Youtube and other online streaming sites.
I wrote various tiny scripts to replace all my needs for Youtube search, using any highlighted text, with a shortcut, Youtube Music, with a synced plain text file of song titles and a shuffle-on-read script, and more curiously, a script to help me slowly go through all thousands of my partner's favorite songs, and then, using shortcuts, add them to my own favorites, decide on them later, add them to the "what the heck do you listen to" friendly banter list, or the "my ears bleeding" list, etc. Much better UX then anything the slow web UIs can offer, and with minimum hacking.
Oh, and they also falsely show "4K" in the video quality icon, but "accidentally" play a 720p or even worse quality stream. If you manually select the 4K stream quality, then and only then will YouTube deign to show 4K to you.
Something related to this which I find extremely frustrating is that I'm capable of watching a 4k video in my browser just fine. So if I decide to buy or rent a movie on youtube, they can only be played back at 420p.
Apparently this is due to DRM restrictions, but the frustrating part is that you can pay extra money for the HD version and there's nothing telling you about this not being supported in your browser until you've made the purchase (by just allowing 420p and needing to search for why it's broken)
This sort of behavior should be an open-and-shut case of false advertising. You were told that the video would be a certain resolution. You gave money as a result of that statement. You received an inferior product to the one that was described.
Isn't that fraudulent? Its amazing how an individual can commit fraud one time and its FRAUD! But a company can do the exact same thing en masse as like a business model over and over and its only ever a misunderstanding that they get a chance to correct and a gentleman's handshake. aAnd even if they didn't, it seems impossible to adjust the dial from civil to criminal as its often left in the consumers hands. Its not like there are attorneys that, like, represent the State that could exercise their legal authority to protect consumers.
To my not-a-lawyer understanding, it is fraudulent. Fine print is allowed to clarify an offer, but may not substantially alter the offer as originally made.
I could see an argument made that a reasonable person would know an offer to be limited to supported platforms, and that the fine print clarifies which platforms are supported. To me, though, I’d draw a line between unsupported due to underlying limitations (e.g. can’t serve 4k video on a NES) and unsupported due to seller-side limitations (e.g. won’t serve 4k without remote attestation). I’d see the former as a reasonable clarification of the offer, and the latter as an unreasonable alteration of the offer.
Same deal with deferred prosecutions which is a bullshit designation because the company's legal is basically going to ensure that it becomes a nolle prosequi at that point
It's crappy behavior but I think screaming fraud is taking things a bit far. If you buy a Blu-ray from a website you don't come back screaming fraud because the browser or computer you you used doesn't play Blu-rays due to the DRM requirements. A refund request fits the scenario much better and the company's response tells you whether they are worth doing business with, not whether you were the victim of fraud. Some responsibility still lies with the buyer that they will understand what it takes to use the thing they are buying and not expect to rely 100% on the seller to verify everything for them beforehand.
At the same time... I think the behavior is pretty shitty, just not illegal, in that it takes minor up front effort to resolve. An explicit message along the lines of "You won't be able to watch in higher quality on this browser/device combination. Do you still want to purchase the high quality version for use on another device? You'll still be able to watch either version on this device, just always in low quality" goes a long way.
Not youtube specifically, but I wanted to watch the wheel of time series on my ipad and:
#1 You cannot stream in a browser on iPadOS anymore. Amazon won't let you, you must use their app.
#2 They don't seem to give a fuck about making sure you're getting a quality stream in their app. Full of artifiacts and horrible compression way more often than is warranted on my symmetric gigabit connection.
So I added it to my Sonarr instance (pirated it legally) and watched it in a browser from there with perfect quality and no pre-stream ads.
Once again: A paid service so bad that it couldn't compete with the pirate experience even if it was free.
Which once again confirms Gabe Newell's statement to be true: "piracy is not a pricing issue. It’s a service issue"
The further time goes on toward segmented streaming platforms and DRM bullshit, the deeper my piracy hedge grows. Eventually there will be a streaming service aggregation service a la Cable channels and we're back at square 1. Add to that streaming services pushing new ad schemes now that they've captured enough market share for the risk to be worth it, and we've got a great storm brewing for a resurgence in piracy and media execs going "but y?"
BTW modern piracy setups are far more streamlined and easier to manage/use than modern streaming platforms. Assuming you have some tech ability anyway.
Netflix does the same thing. Actually, speaking of infuriating corporate bullshit, allow me to go on a rant about Netflix and subtitles.
They give you the option to choose between like four, maybe five languages. That's it!
If you want subtitles in any of the other hundred or so languages that they have available, well... no. Just no. Learn one of the four they've picked for you.
If you call their support, they'll gaslight you and mumble something about "copyright", which is patent nonsense. Copyright doesn't restrict Netflix from showing more translations for their own content that they made themselves. They own the copyright on it, which means, literally, that they have the right to do whatever they please with the copy. Including showing the associated subtitles to you.
You see, what actually happened, is that some too-smart UX guy at Netflix couldn't make a language picker look nice for that many options so he asked a too-smart data science (lol) guy to figure out the most common languages for each region.
Here in Australia they picked English, Italian, Vietnamese, Chinese because we have a lot of immigrants from those countries. I'm sure they used very clever algorithms on big data clusters to figure that out. Good job, well done.
Never mind that every other streaming app vendor figured this out. Netflix and their $500K total comp Stanford or wherever graduates couldn't. So they instructed their call centre staff to lie to their customers.
"If subtitles for a title are offered in a language but do not display on your device, try another device."
Oh, oh, I'll go do that right now! Let me try my PC... nope four languages. On the TV? Four languages. Actually, I have a phone... and... oh... four languages.
PS: Thai (only!) subtitles are "special" and use eye-searing HDR maximum white. Like 1,600 nits white that literally leaves green after-images etched into my retina. They have a support page and a pre-prepared set of lies for the support staff to read for that piece of shoddy engineering also.
A common thing where I live is for local companies to buy streaming rights for Netflix-created media, and then we can't watch Netflix-created media on Netflix because local-company bought streaming/playback rights. Netflix doesn't care about the customer. They care about money, and that won't change. They'll max out the bullshit until customers push back, leave it there for a bit, wait for customers to get used to the new-bullshit, then add more bullshit and repeat.
> Never mind that every other streaming app vendor figured this out
Did they? Both Prime Video and Disney+ have very very narrow subtitle and audio language choices.
> If you call their support, they'll gaslight you and mumble something about "copyright", which is patent nonsense. Copyright doesn't restrict Netflix from showing more translations for their own content that they made themselves. They own the copyright on it, which means, literally, that they have the right to do whatever they please with the copy. Including showing the associated subtitles to you.
Maybe they mean the subtitles' copyright?
As someone who speaks multiple languages, and has the habit of watching with subtitles in the original language of the content if I speak it; otherwise default to English subtitles with original audio... none of the streaming companies have managed to handle that properly. Way too often the audio is only dubbed (often badly), or only my subtitles in my local language (French) are available, regardless of the original language of the content. I'd rather watch British movies with subtitles in English, not French, thank you very much.
Apple TV shows something like 50 languages. More than I can be bothered to count, certainly.
Are you saying it's some sort of challenge beyond the abilities of a Senior Technical Lead with total comp in the seven digits to figure out how to make a list of items more than 4 or 5 entries long? Too many megabytes of JSON to shove down the wire for more?
> Maybe they mean the subtitles' copyright?
They definitely do not. That's not how work-for-hire translations work. You pay someone to translate your shows' subtitles for you, then you own the copyright on that work that you paid for. That's how that works. No weird region-locked silliness.
You can make other languages appear by changing the entire UI language of Netflix, which then shows some other "data driven" subset of the subtitle languages.
But then, the entire UI is in another language, which not everyone watching may understand.
Essentially there are audio-subtitle language combinations that are impossible to achieve, no matter what. That combo may not be common enough to make any top-5 list anywhere.
So if you love someone of a sufficiently small minority, or have an unusual racial makeup in your household, Netflix would rather you weren't so weird.
Sit down and think about how absurd it is for the bastion of wokeness that is Netflix to discriminate this profoundly against inter-racial love. On purpose. They wrote the code to do this.
> Sit down and think about how absurd it is for the bastion of wokeness that is Netflix to discriminate this profoundly against inter-racial love
I'm on the same boat and I hear you. And since we are on this subject, do you know what else grinds my gears? The whole idea of cultural appropriation. So if your ancestry is X then you can't do/wear/celebrate Y.
So when you ask these people something like: Is it okay for my half-X, half-Y children to do this? they start feeling confused. But if you go: What about my grandchildren, who are 1/4 X and 1/4 Y and 1/2 Z?. Some of them begin to realize how racist and simplistic they are being.
Learn and enjoy other people's cultures, for goodness' sake. It's called being human.
"No, because Italians are white and white people can't experience discrimination".
That is an actual response I've heard more than once.
To be fair, I agree with the "cultural appropriation folks" when they correctly point out that sometimes people intentionally mock other cultures and that's a dick thing to do. But conflating mockery and insult with an appreciation of other cultures is not helpful, and that's what they do in practice.
I'm a Spaniard and when I watch a Japanese person practicing flamenco, I feel flattered, not insulted.
> They definitely do not. That's not how work-for-hire translations work. You pay someone to translate your shows' subtitles for you, then you own the copyright on that work that you paid for. That's how that works. No weird region-locked silliness.
If you skip the fact that Netflix do regional deals with local content houses to sell Netflix-made stuff either in theatres or get TV releases, in which case translations could be a part of the deal to be be provided by the local entity who's getting the rights; or the other, more common scenario, where Netflix acquire local content for wider publication (e.g. Casa de Papel/Money Heist is a very popular example), where again, there might be complications.
> Apple TV shows something like 50 languages. More than I can be bothered to count, certainly.
I haven't found that to be the case, but had Apple TV only briefly because of the general poor quality (watched 3 series on it, all three devolved into trope after trope barely going below the obvious surface).
> Sit down and think about how absurd it is for the bastion of wokeness that is Netflix to discriminate this profoundly against inter-racial love. On purpose. They wrote the code to do this.
Is woke in the room with us right now? Can you point it out and explain what it is? For the record, "races" are a stupid social construct that should have died out with the Nazis. And people can be of different ethnicities while speaking the same language(s), or inversely of the same ethnicity while speaking different languages. Being "woke", "inter-racial" and different languages are completely orthogonal topics.
I have to add two adjacent subtitle-related stupidities on Netflix:
1. Closed captions (CC). Okay, I'm willing to accept they improve the experience of a show / movie for a non-zero number of people. What I absolutely don't accept is CC being the ONLY VERSION OF ENGLISH SUBTITLES available. Either CC or nothing. I can't be the only one who prefers English subtitles for English-spoken media, while NOT needing every single sound described as [wet squelching] or [quirky synth music].
(Bonus points for everyone who recognizes those specific examples ↑)
2. Subtitles in all-caps. For the entire movie. Just why? If I'm able to read the text in time at all (it is widely known that words and sentences in all-caps are slower to read), then I'll just feel everyone's screaming all the time, even if they aren't. Whose idea was this? And also here, to my knowledge it only affects English. (I believe all Nolan movies got this "treatment" for example.)
There have been several occasions where even though it was readily available for me to stream from Netflix, I pirated a show or movie anyway, specifically to avoid one or both of these issues.
> Netflix couldn't make a language picker look nice for that many options so he asked a too-smart data science guy to figure out the most common languages for each region.
Odd they couldn't ask your preferred language(s) in your profile, then include it whenever available with the regional list.
I don't know about browser options, but on the android app I can choose between 7 different audio languages and 29 subtitles. Looked it up just for you with an episode of "The good Doctor", which is not a netflix original. I live in Germany. Definitely not an UI issue.
Seems like they'd want people to, idk pick up to 4 languages themselves in settings if they are really attached to their picker. Which makes more sense to me.
That has irked me for quite some time. I always manually select 1080p, because sometimes YT claims it's already playing 1080p, but it's obviously not and the video starts buffering anew when I select 1080p manually. Quite annoying
Roughly around the same time as the anti-adblocking effort, youtube started just not playing the video stream for me much of the time. I say play a video, it will start playing the audio, and the video will just be a frozen image.
In unrelated news, my youtube-dl usage is way, way up.
Get the "Enhancer for Youtube" extension, among many adjustments, it does this clicking for you.
I also had this issue, videos would frequently wobble down to like 240p or whatever, on a stable, high speed wired connection.
It's not an internet problem since I never have to buffer when using this forced setting, so it's probably YT trying to save a few bandwidth bucks when they think people aren't looking.
I haven't see this other than for brief periods during quality switching (it seems to play out the current buffer in lower quality but new chunks are downloaded at the displayed target quality). However for some reason it does often just load at a very low (sub-720p) resolution and I need to manually up the quality or it will never get to the highest quality (I'm watching on a 4k monitor with great internet and hardware decoding, 4k has never stuttered for me).
I remember them starting to do automatic lower-quality streams when this came out[0], but I'm not sure if this is still the cause for the situation. It could be a general "we see this ISP/ASN failing more often with x many concurrent 4k streams, let's throw some people on 720p and see if it helps".
I have personally noticed this many times. I’d blink and wonder if it was just my eyes going bad but nope, soon as I select HD quality manually I can read text again.
I have a hard time believing that's actually what's happening. If they wanted to slow down other browsers, why would they choose this easily discoverable way? They could have easily slowed down serving of JS files (and other assets) based on the user agent to a similar effect. It seems more likely this is just a debug snippet that has made it into production by accident.
I mean it could be that the programmer wanted it to be discovered to draw attention to Google managers' shenanigans but that seems kind of far fetched.
I would argue it's a bit harder to find if the youtube backend serves files slower for certain browsers. One could even radomize it and sometimes still serve it fast or something. Since you cannot look at the backend code it would be hard to proof anything.
Seems odd to do something so brazen while also publishing information that (could) prove intent.
Google also modifies how business information can be accessed from Firefox Mobile. You can't read reviews easily from Firefox Mobile. At least not my install.
That's because it's not actually what's happening. I'm all for bashing bigcorps and especially ad empires but reddit folks confused correlation with causation here.
The code in question is part of a function that injects a video ad (that plays before the start) and the code itself is just a fallback in case it fails to load over 5 seconds so that video page doesn't break completely.
Why was this affected by user agent change? My best guess is that on some combinations they somehow decide not to show any ads at all (for now) and therefore this function is not called and some other code path is taken. This is consistent with my own experience with the recent anti-adblock bullshit they implemented. The banner was not being shown after user agent change implying it's one of the considered variables.
You can verify all this if you click 'format code' in browser debugger.
I use Firefox, and Google's sites are literally the only ones where I consistently have issues. There was a period of about a month this summer where Google Maps was just completely broken for me, the map wouldn't update at all when attempting to search or pan. There was recently a several day span where chat in Gmail had a 10+ second input lag due to some font-related JavaScript code spinning the CPU nonstop. It's literally gotten to the point where I keep a Chrome window open and use it exclusively for Gmail, Google Meet, YouTube, and Google Maps.
It's pretty obvious from the outside that supporting Firefox is not a product priority for Google. It also seems clear that it's in their best interest to have users choose Chrome over Firefox. My guess is that this likely emerges from a lot of very reasonable sounding local decisions, like "prioritize testing on browsers with the most market share," but it is convenient how those align with the anti-competitive incentives.
I've posted this here on HN numerous times over the years, and it's been a while since I last posted it:
Google is the new "Microsoft", they embrace, they extend, then extinguish. Look at their email offering, messaging offerings, they built on top of XMPP, then they pulled the plug eventually. Android is Linux based, but insanely proprietary, the app store is not open by any means, you're fully at their whims to get your apps on there. Chrome is basically the IE of old, implementing proprietary things or APIs that are not yet standard for Google products, and pushing out competing browsers.
Not to diminish the other sketchy stuff Google's doing, but I think the maps lag issue might actually be Firefox's fault. Whenever it happens to me WebGL stops working across all websites and restarting the entire browser fixes it. It's almost like when Firefox has been open a long time it just forgets how to use graphics acceleration.
The thing that bothered me is it didn't always happen, at one point there was performance parity, and things changed in a way that specifically worked worse in firefox.
Which means:
A) Firefox had bad webgl implementations(I didn't experience what you did, but I wont say it doesn't happen) and google added features that regressed the experience on other browsers.
B) Google knowingly made performance worse on Firefox, regardless of webgl implementations.
C) Google leverages its own browser to only test on their browser, to influence the market to have to use googles browser in order to use their services(not the same as the IE/Windows monopoly lawsuit, but sure smells like it).
It is fascinating, how the simplest things on websites can be made arbitrarily involved, convoluted, over-complicated. And how those over-complications can then serve as a credible deniability.
You're basically looking at testing being done on Chrome (because it is Google's, and because of its large market share), Safari (because it runs on a large percentage of completely exclusive platforms where the customer can't switch, and because of its large market share), and Edge (because there are still many corporations that do "Nobody ever got fired for choosing Microsoft" and lock down browser options to just Microsoft's offering).
At this point, Firefox is very much an also-ran on two axes: market share is tiny and nobody forces it on their captive audiences. We may as well ask why Google isn't optimizing testing on Opera, or Samsung Internet.
(There is also the issue of under-the-hood engine. Since so many browsers have converged on a few core and JS stacks, testing on one exemplar of that stack has a tendency to suss out bugs in the other stacks. Firefox still being its own special snowflake in terms of JS engine and core means it has more opportunities to be different, for good or for ill. So there's a force-multiplier testing the other browsers that one lacks testing Firefox).
I had the same Gmaps issue, I disabled LocalCDN for the site and panning etc worked again. Apparently the addon must be fixed to account for whatever they were doing.
I use Firefox across Windows, Mac, OpenBSD, and Ubuntu. I've not seen any specific issues with Google sites at all. I only really use Docs, Maps, and Youtube with any regularity but I've not really seen any of these issues.
It's clear Google is only testing for chrome engine and safari: which comprise 97% of the browsers being used. Would you increase your testing by 50% to thoroughly test for 3% of the market?
As I said, the decisions are locally reasonable. However, if not supporting Firefox potentially exposed my company to scrutiny over anti-competitive behavior, then, yes, I would absolutely invest in testing procedures to mitigate that.
It's also worth emphasizing that it isn't difficult to support Firefox. I'm pretty sure that many of the sites that I visit do so largely by accident. I do a fair bit of web development, and Firefox/Chrome compatibility has never been an issue in the slightest for me. You almost have to go out of your way to choose Chrome-specific APIs in order to break compatibility. How does virtually every other website on the internet manage it—from my bank to scrappy startups with junior developers coming straight out of bootcamps—while Google with all of their engineering talent and $100+ billion cash on hand just can't seem to make it work?
Serious question - does anti-competitive behavior even apply to open source? Also, it's the open source chromium, not necessarily the browser Chrome, that dominates the browser market. The largest players in the industry, except for Apple, have lined-up to support chromium. Firefox is going against the grain. Is it Google's job to help them with their mission? Loosely speaking, in anti-competitive scenarios you have to show how a significant faction of the consumers are being harmed. You're going to have a tough time with that one.
you have to show how a significant faction of the consumers are being harmed. You're going to have a tough time with that one.
I'm not a lawyer and can't speak to what qualifies as anti-competitive behavior in a legal sense. Qualitatively, Web Extensions Manifest v3 and Web Environment Integrity are clearly harmful to consumers in my opinion. The first significantly hinders ad blockers, and the second kicks down the ladder on building search engines and hinders competition in that space. Other browsers using Chromium as a base doesn't change the fact that Google almost unilaterally controls it, and Google has made it extraordinarily clear that they're interested in making decisions that prioritize their own best interests over those of their users. I don't see why Chromium being open source would absolve any responsibility here, especially when the open source project in question primarily exists to serve the interests of the profit center of a mega-corp. I deeply support open source software, and I'm glad that Chromium is open source, but being open source doesn't excuse behavior that is against the interests of users whether it qualifies as illegal or not.
I think you're going to have a tough time with Chromium seeing as how the likes of Microsoft and Canonical are contributing to the project. You're also going to have a tough time showing anti-trust when Google is working with Apple. I'm old enough to remember some famous anti-trust lawsuits where the plaintiffs had a much more solid case and still lost. In this case Google is literally working with the industry's largest companies. You're going to have a really hard time with that.
The thing is that Firefox is the biggest project for an independent fully open source browser not tied to a big commercial company. Google having almost a monopoly is not good for the users, because Google therefore has a lot of leverage to push certain browser technologies that mostly benefit them and not necessarily the users. It's important to have an independent browser that is not optimized for 1 particular company's technology and needs. So we can view the web from a somewhat more neutral view. And yes, I think it's Google's responsibility to adhere to the webstandards and at least test their stuff in Firefox so they adhere to this neutrality. Otherwise they are only providing their websites for the Chromium-web, and not the Open Web.
> Would you increase your testing by 50% to thoroughly test for 3% of the market?
I don't think you get to make these kind of cost cutting decisions when you're a vertically integrated mega-corp who also owns the browser with 65% of the market.
Here’s another way to answer that question: do Vimeo, Twitch, Netflix, Amazon Prime, Instagram, TikTok, etc. say “let them use Chrome” or do they manage to do entry-level browser testing? The cost increase is nowhere near 50% and clearly they aren’t willing to write off millions of users – only the company with a direct financial incentive does that.
Yes, Firefox’s market share has been declining but that’s substantially because Google spent billions of dollars marketing Chrome and promoted it heavily on YouTube, Gmail, Search, etc. Deciding not to test or optimize fits neatly into the same pattern.
It's hard to argue anti-trust when all these browsers are based on Chromium - which is maintained in part by Google, Microsoft, Opera, Vivaldi, Intel, ARM, and Canonical plus several volunteers.
Makes me wonder if it's the wrong strategy and what an alternative might be. In context, one might assume that Google will use the Chromium monoculture to... ahem more assertively deliver advertisements, which would be "a real dick move" as it goes. I don't know how a concerned citizen might bring attention to or possibly prevent the actualization of such a strategy by Google.
Google is the largest contributor. The others chose Chromium because making a browser that's compatible with all the bloated standards invented by Google would require too much effort.
Since they throw me "Google recommends Chrome!" adverts in my face for various of their services, even when using a chrome-based browser it's not a case of only testing for Chrome/Safari. It's active work against others.
The most interesting part from the discussion was noting it's implemented in the most basic, easily avoidable way (just spoof chrome) implying engineers unhappy with these tasks.
I sometimes wonder if the use of Firefox is under reported just because a lot of it's users are power users, installing extensions that spoof the user agent. I know I did for a long while, making my Firefox pretend it was Chrome on a Windows machine.
This is definitely the case for anything like Google or Adobe Analytics which are blocked by the default tracking protection. You can’t compare the results directly due to bots but on sites I’ve controlled our servers saw significant disparities between the server logs and the percentages commonly reported as global share.
Or potentially a concurrency bug trigger? "One in 1000 times X takes a bit too long and causes problem Y; I'll make X take minimum 5 seconds so I can trigger Y reliably." Then fixes Y but forgets to remove the delay.
Such fix won't sleep for 5000 ms though. In my reading it looks like a part of the adblocker detection code. (EDIT: Relocated the actual analysis to https://news.ycombinator.com/item?id=38346602 for more visibility.)
Code generally does not enter the YouTube code base without a lot of review namely (1) performance tests and (2) code reviews from multiple teams. Lines like this almost certainly get flagged/increased scrutiny. It would be very hard to imagine multiple people didn’t know about this and assign the blame to a single person.
Would be a bad day for the Internet. There's no way Youtube is financially viable without being cross-subsidised by Google's search income and running on Google's peering agreements with ISPs. Ads would be nowhere near enough to cover the bandwidth cost, which is why sooner or later any attempt to copycat it failed or went down to utter niche content.
As a JavaScript Dev, around 2010-2012 it was not uncommon to see `setTimeout(..., n)` hacks, often with n=0 but sometimes even n=1000, n=5000 into a codebase. This could workaround some bugs, and given the overall low-quality state of the JS ecosystem back then, often a last-resort.
And yes, am guilty too of committing this to prod back then. I think I haven't had a case where this was deployed in the last decade, but in the ugly SPA days pre angular v1 (and even during angular v1), where you code was this big glued-together conglomerate of various 3rd party UI libraries, this was common. Its ugly as hell, and you really had to be there at that time to understand this. But often it was just a cheap alternative, while debugging and fixing the truly underlying cause would be several man-days or even weeks.
My point being: It might have slipped their QA cracks and was at some point intended to workaround a bug of some obscure Firefox behavior. For a company at youtube's scale this is however pretty embarrassing.
Oh, I noticed this yesterday and assumed it was ad blocker hostility. Which I guess it may well be -- are Firefox users more likely to use ad blockers? Possibly. Certainly on Android. That doesn't strictly matter though, presumably the Youtube people try to avoid stepping on the Chrome people's toes.
Given Google is apparently going ahead with killing extensions on Chrome it's not hard to imagine some scheme where a guy is just lookin' at'cha merchandise and happens to be carryin' a baseball bat is all -- you can't really blame him for some spillage, right? (make using Firefox painful to try and push people to Chrome). Before crippling Chrome? Sounds ridiculous, but one can't help but wonder...
Thinking about some more, the point could actually be to make users question if its because they have an ad blocker not even actively blocking anything, but simply installed. Some number of users may uninstall their ad blocking extension to see if it makes the lag go away.
I'm getting such a pause also in Chrome since a few days, I was assuming that it's fallout from the adblocking wars though (I use uBlock Origin and don't get the nag screen anymore since around the time that pause appeared)
On a completely related note, the UK's Competitions and Markets Authority has recently been flexing its muscles on digital markets. You may wish to know of this URL, specifically for reporting anti-competitive practices: https://www.gov.uk/guidance/tell-the-cma-about-a-competition...
This just... isn't happening for me? My only extensions are UBo, Return Youtube Dislike and Sponsorblock, so I presume a UBo filter is either fixing it or the change isn't rolled out to all users yet.
Using a browser devtools performance profiler could confirm this. I highly doubt there's a 5 second setTimeout in youtube. More likely switching of browser technologies based on user agent.
I would need to see a Firefox UA warm cache reload in the same video before I put any stock in this. This aligns to perfectly with the “But Google evil” narrative for me to believe it uncritically. Alas, I don’t trust the internet anymore.
I wrote an email to Electronic Frontier Foundation and European Digital Rights collective asking them to file a complaint against Google because of this unjustified slowdown. I advise other readers to consider doing the same.
Interesting thought that I had, that is probably not true but interesting anyway.
Is this a move by Google to boost Chrome usage numbers. Although it is a terrible way to do it, many organizations still count views by looking at User-Agent. Google makes Youtube work worse if you report a non-Chrome UA, but all you have to do is report a Chrome UA and then it works perfectly fine. Suddenly a lot of people who were using FF now look like they are using Chrome because the UA has changed.
They then use this as proof that no one should bother developing for anything other than Chrome because no one uses anything but Chrome, because all the FF users spoofed their UA to make it look like Chrome because Google purposefully cripples their site if you aren't using Chrome.
I doubt there was that much aforethought, but it is a nice win for Google regardless.
In the meantime I'll still just be sitting here telling websites I use IE 6 or Netscape Navigator to mess with web admins.
So for all people uploading videos, please have a look at Peertube. It is to Youtube what Mastodon is to Twitter. (and more: it is compatible with Mastodon, one can subscribe to your Peertube channel through his/her mastodon account).
I’m not arguing to leave Youtube completely but to offer an alternative to your audience. Please join peertube.
I'd love to see real competition to YouTube. I'm afraid this seems not, the UX isn't great, homepage is useless, you need to click on Browse content then enter some keywords on a blank page, search results limited to 2 items and then you need to click on "Display more videos". I might be to used to youtube homepage, for me it's perfect I get videos right away and suggestions are good. I'm pretty sure this project, Mastodon and others are in good will, but they lack great ux/ui, it seems to me that ux isn't even researched, how can it be a viable competitor?
I don't need it to be a competitor; I don't even want it to be a competitor. I just need it to exist and get some quality, modest use like the rest of the fedeverse.
> I'd love to see real competition to YouTube. I'm afraid this seems not, the UX isn't great.
What do you call YouTube's UI then? Any Peertube instance I used has better UI than YouTube. Most websites have. Because YouTube UI is atrocious and one of the most user hostile UIs I have used.
> search results limited to 2 items
Not sure what you are talking about. Is this an exaggeration? It is not clear via text-only to me.
Please send this to the Peertube developer. Consider also that until recently it's likely that having videos load fast on peer2peer and adding features like streaming likely had a higher priority than interface polishing.
But you might be asking for something impossible : the focus is on the different servers, and having a "suggested videos" page is seen as an anti-feature because it involves making an "algorithm", at which point you are editorializing, become (legally !) responsible for what you select, and are close to become a platform yourself, something that you started out by fighting in the first place !
Like Mastodon, Peertube should not aim to "Do everything people think will be good to get audience". It should create a philosophy.
I’m quite sure that lot and lot of people are tired by all those algorithmic suggestions. People are sad to see creators doing videos to get likes/subscribers/views instead of really creating.
This is a new model. And the winners of the old models will either adapt or not be winners any more. And that’s good if the premise is that the old model is broken in the first place.
YouTube's market hold is unfortunately circular; no uploader on the platform will risk splitting their audience to a platform nobody goes to, and because of that, new platforms are unable to grow.
That aside: I also doubt most peertube instances can withstand the bandwidth costs of seriously hosting a few moderately succesful YouTube channels.
Nebula is closer to a premium streaming service - I'm not really counting it in the same sense as YouTube/Peertubes free, unbridled goals of video sharing, since Nebula doesn't do that either. I'd say it's closer to something like Amazon Prime/Netflix/Disney+ but for a specific cadre of creators on YouTube.
I don't understand this. If people don't want to or need to buy anything and they don't want to see ads, because this is pure simply a distraction and won't sway them into buying anything, then what is the point of forcing them to watch ads?
Furthermore, I wish regulators have gone at YouTube like a ton of bricks. The ads they show are mostly from various kind of scam artists. My friend is a bit naive, but fortunately she asked me for an opinion whether she should invest her savings into the programme offered by one of "gurus" advertising on YT. She even gone on a few of their webinars and became as you would say, brainwashed. The kind of way you see in a cult. Fortunately there was still some worry running around her and she asked me to check before transferring £20k. You can't imagine how much effort it took to tell here these guys are fraudsters. Now she is onto another scheme and now she tells me that I just don't want her to invest the money, because I think everyone is a fraudster and these are the good guys! Then she showed me testimonials from apparent "clients" how they got rich. One person looked familiar and I actually found them on Cameo. She tried to say maybe this is just that person's side gig etc. and she does not talk to me.
I really really hope someone or some organisation get to the bottom of this kind of harmful and dangerous content.
YouTube is a scammers paradise and YouTube wants more people to fall for these things.
The point of forcing ads onto users who don't want to see them and won't buy anything from them, is that the advertisers will still pay Google. In the long run, their CTR will suffer, but it will be consistent across advertisers. If they're paying per click then nobody loses except the user, who Google is betting actually will click on some ads (meaning they're basically engaging in psychological warfare, or at least rewarding the advertisers who do). And if they're paying per impression, then advertisers will see conversions go down in the long run, but Google might think the increased volume will make up for it.
> I don't understand this. If people don't want to or need to buy anything and they don't want to see ads, because this is pure simply a distraction and won't sway them into buying anything, then what is the point of forcing them to watch ads?
Age-old question. It's not that simple. Those ads have an effect on you whether you "want to or need to buy anything" or not.
I don't use firefox but have noticed a strange delay occurring during the past day or two. Wondering if it's coincidence. I use ublock origin, so maybe youtube's detecting its presence somehow and forcing a delay? (ublock is up to date so I don't get the message from youtube telling me to stop using adblockers - perhaps this is their next attempt to annoy people into paying/allowing ads?).
Just being real here for a moment - Firefox probably wouldn't exist if Google didn't give them millions, so the continuing existence of Firefox is thanks at least in part to Google taking them on as a project.
Now secondly, Firefox does have some very real performance bottlenecks that other browsers do not have. This means (and has been my experience already) that you can build experiences in all other browsers that are buttery smooth and nice, but that will cause crashes in Firefox. In my own work, to get around this I ended up making my product inferior in all browsers so it would not crash Firefox. But if I was big enough and had a team of more than 1, could I have implemented a solution that worked in Firefox and another that worked in other browsers, and delivered the best experience I could to all users of all browsers?
There's no need to jump to malice on Google's part if what they're doing is legitimately in an attempt to ensure that Firefox users have the best experience overall.
I don't like to jump to conclusions, but I'm going to jump to malice if their purported solution for user experience is time.sleep(5) based on a user agent lookup, and conditional on when their antiadblock fails to work.
I recently got a new Mac and didn’t install Chrome. I now only run Firefox and Safari. For a company so big, it’s embarrassing to see their websites and products be some of the poorest run on my computer now. It’s quite obvious that they at least optimize it for Chrome if not de-optimize it for other browsers.
Do people still really use the Youtube web site or official clients? They have done everything in their power to ruin the user experience in favor of guiding you to promoted content. Endless vlogs of people reviewing products. "Content" that's just somebody walking around and eating. And it's been a while since they changed the search function, now you get a few results, then an infinite scroll of promoted videos most of which aren't even vaguely close to what you searched for.
These days I can still find videos quickly and easily with DDG, which is vastly superior to Youtube itself for searching Youtube. But I worry, this will be taken away some day by Google just like everything else.
I guess this explains why some people say they use Chrome because "Firefox is slow", I've been using Firefox my entire life, and after Quantum it has been on par with Chrome in terms of speed if not faster from what I can tell. I do wish Firefox didn't stop with their Oxidation efforts, I would have loved to see it as a way to grow Rust, since as FF was developed in Rust, the language grew and evolved as a result. One key area I wish Firefox would grow in is the development tools. I ONLY use Chrome for the dev tools.
I wish Mozilla would invest way more into Firefox itself. I think Mozilla could and absolutely should consider suing Google if they're artificially slowing down Firefox.
I haven‘t tested this thoroughly, but I have a feeling that YouTube also forces worse codecs on Firefox. Codecs that can only decoder on the CPU, making Firefox seem sluggish and wasteful. This is a reason why I switched to Safari on macOS.
Glad I dropped chrome for Firefox at the beginning of 2022. It took some time to get used to it but eventually it's now my main browser. Tired of Google being such a piece of shit. Hopefully 2024 will be the year of Linux on mobile.
I also noticed this during the weekend. I initially assumed that the new uBO filters are too blame -- guess that's exactly what Google is going for with these hostile measures, and it kinda works.
Just yesterday people on here were talking about how using Adblock instead of paying for Youtube was unfair to Google and basically stealing. Is this the type of behavior you want to reward?
I've had this slow down show up for me as well. I wonder if there's a non malicious explanation, although I'll admit I'm unable to think of a charitable interpretation.
Sometimes YouTube also disables features on my home page. For example, at the top of the home page there's usually a filter bar with various categories. I haven't figured out under what conditions this gets triggered, but there's times where the filter bar just disappears.
Maybe it played more quickly the 2nd time because assets were already cached? It doesn't look like the person doing the testing cleared cache between tries.
It’s in the twitter thread (which I’m guessing was hidden to you because you weren’t signed in - certainly one of the product choices of all time). Seems to be an experiment condition around the new adblocking detection.
I’ve also noticed mysterious buffering in the iOS app for YouTube for at least a few months. Even on a Google Fiber connection many videos will take a number of seconds to start, and sometimes buffer in the middle. I also have YT Premium, so anti ad blocking shouldn’t come into the picture. Videos load right away in Safari though.
Delete the iOS app and install the Vinegar Safari extension. It will replace the hostile video player with a native HTML5 <video> element. I never see any ads, I can select the stream quality, and Picture-in-Picture works as my OS intended it to.
I use Firefox on macOS Ventura, and here the video pages load instantly.
I do have YouTube Premium (paid for in India to reduce the cost), but also in an incognito window where I'm not logged in, the video pages load immediately.
Maybe it's because I use the extensions uBlock Origin and/or Disable Autoplay For YouTube?
> For me, YouTube works equally well across Chrome, Firefox, and Edge. Other team members also could not replicate this delayed behavior across browsers.
"Reportedly" also known as: "unable to confirm but we saw it on reddit so it must be true"
I am so damn sick of "news" articles summarizing social media posts. Worse, the posts are seemingly chosen at random without even going to the effort of contacting the poster, not that such an interview would improve anything.
If I wanted to read what random Twitter users thought about a topic, I'd just read Twitter. I read news articles to learn from experts I wouldn't otherwise have access to, not random Reddit trolls, Instagram moms, and Russian Twitter bots.
Pretty sure Apple does something similar with iTunes on Windows. It's amazing how slow the UI is in general and how poorly the Movie watching experience is with it being incredibly slow to seek or take any inputs while playing a video.
I use Firefox and I have never had issues with Google sites. I don't know if they are picking and choosing users but I just checked and my load times for youtube are ~2 seconds for both Chrome and FF. no difference in load times.
It’s been like this for years on Firefox for me, even before they cracked down on adblockers and such. I’ve also noticed it messes with the history functionality and often breaks the back button. Getting sick of googles nonsense.
Can we have some fucking facts already? We have seen other reports of this same issue but people were using Chrome. This seems like an over-reaction. And the Reddit herd is known for being unstoppable over false-assumptions.
HN is no better. We love to jump to premature conclusions. Just look at this thread. It doesn't even link to anything (right now the submission link is https://old.reddit.com/r/youtube/login/) and yet people are automatically bringing out the pitchforks.
Seems like this is an unintentional benefit to firefox users. A small amount of friction is the difference between "I'm mindlessly watching" vs "I actually care about watching this video."
Not only that: Google's recaptcha will also ask you for dozens of captchas on firefox android (which is probably the best) way to watch youtube/use google site without ads on mobile)
I really hope the next Next Generation EU package will be entirely funded by the fines we will inflict on Google for its blatant abuse of market dominance
lol, I think this ended up being one of several factors that made me switch to firefox (now vivaldi).
The "extra chance to consider your life choices and do you really want to watch this video" was a feature not a bug.
Plus now tiktok and telegram are orders of magnitude more popular than YT. Im seeing more and more creators arrive on YT as their "second choice" platform.
I don't know what your problem is exactly but this is not normal behavior on Firefox at least. Check your extensions to begin with, or for a quick test, try watching a video in a prvivate tab.
Just, ublock origin, a password manager, and the kagi extension for my search engine. ublock origin was installed on all browsers. I'm not even trying to watch it without ublock, as that would be an unreasonable thing to do in general.
I know this is not normal behaviour, and it's likely unintetional, but I'll be damn sure google won't bother to fix it. I'm most surprised by Edge as it's running chromium and it should share some similarity to chrome.
Not sure what is specific in your setup but I have watched numerous live stream on firefox and tab never became unresponsive. Haven't checked the ram but my laptop had half of yours and the live were running for an hour or so.
I had the same issue, it turned out to be some random addon I installed years ago. Check if the problem also occurs with everything but uBlock Origin disabled.
I said it already several times, but it's worth repeating.
Stop using the youtube.com frontend entirely. It's enshittified beyond redemption. If they could replace it with a big ads billboard with no added value while leaving their profits intact, they'll do it.
If you really have to watch some content that it's only on YouTube, use Piped, Invidious, or one of the many tools based on youtube-dl or any of its forks.
Google deserves piracy now because a big loss of revenue resulting from their hostile practices is the only thing that can stop this enshittification process. Google will stop only when users say that it's gone too far. Scraping them, pirating them and financially damaging them is a moral duty at this point.
I remember some years ago, when I had an android phone and was using Firefox on it, Google Images would render differently on Chrome and Firefox. On Chrome, I could long press to get the context menu to download an image. If I did the same in Firefox however, an obnoxious transparent box would block the image and force me to go to source site before I could download it.
While the EU has recently forced Microsoft to allow users to uninstall pre-installed crapware, Google is apparently unhindered in their ongoing (and succeeding) mission to take control of all layers of the consumer-facing internet.
Google is working on making a premium internet based on their services that permeate the whole web which they plan to serve only to "trusted devices" running Chrome - I do not think this is going to work out well for them.
I hope not, but I suspect they will succeed. My observation is that the vast majority of people around me here in Europe see Google as completely trustworthy.
It's truly profound how split-second loading delays contribute to a negative impression about digital products. I guess we're all worn out from using our devices. Most of us just want "thing" ASAP, and we'll compulsively click 'agree' to anything that happens to stand in the way of it.
'Why don't you switch to Chrome, it works better/faster.' is not the sort of social pressure I can quickly respond to with my privacy concerns. And it's not like I'm not going to get an eye-roll or tin-foil-man comments from the mom-pop-type people in my life.
> And it's not like I'm not going to get an eye-roll or tin-foil-man comments from the mom-pop-type people in my life.
That's why you don't start with the nerd explanation of the privacy issues, you just tell them Firefox is way better. You install FF + uBlock (since presumably they don't even have an adblocker on Chrome if they're anything like my parents), and tell them "Look ma, no ads!". Not even people who don't care about ads that much and just ignore them will go back to seeing them if they see the option of no ads existing. And if you handle all their bookmark imports and account logins for them so they don't have to, they won't even feel the difference from a UI/UX point of view (sans a few microscopic differences that nobody notices).
As for these artificial speedbumps, I think that statistic about every 100ms of page load decreases visitor time is true to an extent, but at least if I look at the way my parents use websites, even 5kb plaintext ones take like 3s to load since they have unfathomably slow internet and ancient devices, so it doesn't really factor in for them if they click on a video on youtube they wanna watch.
> I hope not, but I suspect they will succeed. My observation is that the vast majority of people around me here in Europe see Google as completely trustworthy.
Just like MS was always seen in Europe as well, outside (parts of) the tech-workers bubble.
Governments in every single country at every level never had any problem mandating proprietary softwares and formats to their citizens for many, many years.
I’m aware that it is quite popular, so I guess I must be weird, but YouTube being slow (and consuming lots of CPU due to that ambient mode stunt), when every other video site works fine in Firefox, and embedded YouTube videos on other sites work fine in Firefox, has just made me think YouTube is a pretty crappy site.
I’d never dream of changing browsers because some video site (mostly full of low-effort distracting silliness), didn’t work well in mine.
There is only so much that can happen with legislation. GDPR has been wonderful, but as far as public opinion goes it has backfired somewhat. I have heard too many people complaining that it’s „pointless because they know everything anyways”. That it’s „Brussels just telling us how to live”.
It’s an extremely delicate task for the EU, easy to sabotage.
I hope not, but they are certainly trying. I fear they have become an uncontrollable behemoth which have failed to identify alternative business models to their unsustainable ad business, and now they are trying to perform a major power grab to basically take over the web and force people to watch ads or pay.
I suspect that the SEO scam-industry will hit a wall on how far they can push their top-10 lists and advertising will no longer be worth it. Google search results are pretty bad now anyway, since you'll only ever find the sites that game the system.
Eventually users will realise this, and advertisers will see negative returns, and Google will lose money. But chances are they'll find another way to keep advertisers paying.
Why is their ad business unsustainable? seems like they just print money, and recent efforts are to simply increase printer speed... Because why wouldn't you...
What pisses me off about this is that people are such drones for The Google via GMail (mostly) that they don't question this since it works for them. Nevermind that Google is a user-hostile megacorp that will screw them as soon as it makes financial sense to do so.
Ever talk to someone random about Google's privacy bullshit and why Chrome is not a great browser? Nobody cares, and they think you're an idiot.
Is there maybe some road map or purpose statement on this? it’s not that i don’t believe that this is absolutely true (i’m sure it’s the wet dream of all SV companies…) but google’s offerings are so inconsistent that if that’s really their goal i just can’t see how they mean to get there. every answer to competition is a half baked answer in my experience and i truly just can’t see how google means to do this. google plus i thought was supposed to be this but that did not pan out well at all.
and i also don’t see how they can really do this at least in EU, at least not for long until the regulators catch wind.
Oh yes, it's called WEI as in Web Environment Integrity -https://www.theregister.com/2023/07/25/google_web_environmen...
some of its code landed in production Chrome, leading to an outcry. V3 Manifest and WEI are all part of Google's push to make Chrome mandatory to be able to use their services.
Chrome have been the IE6 situation all over again for a while now, except this time it's possibly too late to walk back. They are pretty much done taking over the standard.
To be fair, the IE6 problem wasn’t just massive usage, it was massive usage plus complete stagnation.
Chrome has high but not massive usage, and it hasn’t stagnated. It has a separate problem though: the lack of stagnation is actually a drive towards Google’s somewhat unhealthy vision for the web.
I support the enforcement of anti-trust laws against Microsoft, but I am at the same time puzzled at how much Google is allowed to get away with. They are simultaneously maintaining the biggest browser platform while also being the biggest content and advertisement provider, AND they have a major influence on the development of web standards, AND they control the development of a major OS (Android) for accessing the web, where their browser comes pre-installed. And now they are actively exploiting their position and trying to sabotage the competition.
My point in highlighting it is that I think there is a lack of enforcement of anti-trust laws and/or a lack of laws that would prevent Google behaving in this way, since I think it is so much worse than what Microsoft has been doing with Windows not allowing users to uninstall crapware.
The law you're mentioning is the “Digital Markets Act”, and it's a new law that will apply to Google, Apple, Amazon, Samsung and others, not having to do with any enforcement of “antitrust” laws upon Microsoft.
I didn't mean to imply that they got preferential treatment, and I also didn't mean to defend what Microsoft has been doing, I just think what Google is doing is even worse. I meant that if Google is allowed to dominate control of the web like they do now, then I think there is a lack of laws to prevent them from continuing that dominance. This may not be because EU lawmakers have been bought or anything, just that they are ignorant towards the issue of a single market player gaining control of all parts of the web.
Chrome has been the new Internet Explorer for a bunch of years already.
And even people who lived the horror days of "We need to support IE6 because the client wants so" and "ActiveX is a good choice for web pages" are complacent.
Please, for the love of all that's good in the world, use ANYTHING but a Chromium-based browser if at all possible.
Software that's not getting any attention will be ok as it won't get python upgrades.
Software that is getting attention has a nice long warning period and fixes may not even cause any trouble at all if the code is ok and there are unit tests.
New software won't have a whole class of timezone problems because people will use the better API to remove the warnings.
I cannot see what the big problem is - much more troublesome things happen in Go all the time. Python isn't a huge for-profit company like Google or even MS which has to dedicate efforts to ensuring that games from 1992 still run in 2023.
Youtube is a very toxic environment. Even "informative" content is often toxic, but in a very subtle manner.
At google They may be not respecting the web but they are doing firefox users a favor. If you really need to see a video, five seconds won't make a difference. If you don't need it, five seconds may remind you that you don't really need it.
> To clarify it more, it's simply this code in their polymer script link:
> setTimeout(function() { c(); a.resolve(1) }, 5E3);
> which doesn't do anything except making you wait 5s (5E3 = 5000ms = 5s). You can search for it easily in https://www.youtube.com/s/desktop/96766c85/jsbin/desktop_pol...