YouTube slows down video load times when using Firefox(old.reddit.com) |
YouTube slows down video load times when using Firefox(old.reddit.com) |
My issue at the moment is while ublock can still block ads, every video automatically pauses like 5 seconds in and I need to hit play again.
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 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.
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.
Try to see the positives
f** google
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.
Surely this is straight to court for anti-competitive behaviour?
A/B testing? :)
Unexpected side effect - Rick is now number 1 in all the streaming charts.
Firefox: 22 GB of ram usage for the youtube tab after ~15 minutes. Tab became unresponsive.
Edge: Out of memory error after ~5 minutes.
Chrome: working fine, the youtube tab sitting peacefully ay 400-600 MB.
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.
How Google is building a browser monopoly. https://www.youtube.com/watch?v=ELCq63652ig
The actual code. They went and actually hardcoded a 5 second delay.
yt-dlp + VLC speed this right up again!
Oh wait. Who thought it's a good idea to post this with a link to a login page instead of the actual discussion thread?
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.
Virtually everybody is using an engine based on Webkit or Blink these days. This is naturally what websites are optimized for.
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.
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.
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.
So, Google will carry on until it's too late.
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.
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 also don't understand what this law has to do with the topic.
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.
And what's better for distributing ads on the internet then controlling the software people use to view said ads - the browser.
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.
Ensuring you only use the OEM's recommended browser looks like the endgame of the internet.
https://commission.europa.eu/strategy-and-policy/priorities-...
Furthermore, are we talking about the same Microsoft that:
1. forced usage of Microsoft Edge, while also actively blocking circumvention mechanisms;
2. that keeps hijacking searches for Chrome, or Firefox;
3. that has telemetry in Edge that can't be disabled;
4. and that, upon first opening Edge, it asks you to agree to data sharing with the entire advertising industry?
---
You basically assert that Google is receiving preferential treatment from the EU, yet provided absolutely no evidence for it.
Maybe the absence of evidence is the evidence in this case. (No lawsuits)
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.
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.
overlords: I'll give up youtube entirely rather than watch ads/contribute towards your revenue
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.
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 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.
none ever seem to offer e.g. indemnification for ad-based malware
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.
https://t.co/2lPM2pFtoN
https://t.co/O331DcmVBs
TLDC: it's related to ad blocker detection and can happen even on Chrome.that doesn't appear to "debunk" this in any way when I actually read the whole thread, you're using words oddly here
setTimeout(function() {
c();
a.resolve(1)
}, 5E3);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?
I would imagine changing the user-agent at all will (temporarily) fix it, rather than to a Chrome user-agent specifically.
Probably targets ad blocking users rather than non-Chrome users.
I did see the ad nag once when I accidentally went to YouTube in safari
"Reportedly" also known as: "unable to confirm but we saw it on reddit so it must be true"
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.
At any rare you should probably confirm/disconfirm these kinds of allegations before you decide to publish it verbatim.
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.
Honestly, um, no. Like I get where you’re coming from and I used to consider it good advice. But my approach these days is to just keep my mouth shut.
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’d never dream of changing browsers because some video site (mostly full of low-effort distracting silliness), didn’t work well in mine.
It’s an extremely delicate task for the EU, easy to sabotage.
> 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...
h=document.createElement("video");l=new Blob([new Uint8Array([/* snip */])],{type:"video/webm"});
h.src=lc(Mia(l));h.ontimeupdate=function(){c();a.resolve(0)};
e.appendChild(h);h.classList.add("html5-main-video");setTimeout(function(){e.classList.add("ad-interrupting")},200);
setTimeout(function(){c();a.resolve(1)},5E3);
return m.return(a.promise)})}
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. GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH/////////FUmpZpkq17GD
D0JATYCGQ2hyb21lV0GGQ2hyb21lFlSua6mup9eBAXPFh89gnOoYna+DgQFV7oEBhoVWX1ZQOOCK
sIEBuoEBU8CBAR9DtnUB/////////+eBAKDMoaKBAAAAEAIAnQEqAQABAAvHCIWFiJmEiD+CAAwN
YAD+5WoAdaGlpqPugQGlnhACAJ0BKgEAAQALxwiFhYiZhIg/ggAMDWAA/uh4AKC7oZiBA+kAsQEA
LxH8ABgAMD/0DAAAAP7lagB1oZumme6BAaWUsQEALxH8ABgAMD/0DAAAAP7oeAD7gQCgvKGYgQfQ
ALEBAC8R/AAYADA/9AwAAAD+5WoAdaGbppnugQGllLEBAC8R/AAYADA/9AwAAAD+6HgA+4ID6Q==
VLC somehow refuses to play it, but its nominal length can be verified with a short JS code like: v = document.createElement('video');
v.src = `data:video/webm;base64,<as above>`;
await new Promise(resolve => v.onloadedmetadata = resolve);
console.log(v.duration);What exact combination of circumstances is required to trigger the multi second wait time?
Do they serve different js based on the user agent header? If they delay chrome too there's no foul.
https://old.reddit.com/r/firefox/comments/17zdpkl/this_behav...
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?
* 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"Good engineering isn't about being obtuse and convoluted, it's about making stuff that works.
employees will follow orders, orders are made by people who control the money
So I wonder if that 5s delay has always been there.
Added bonus, I'm less tempted to venture into the comments section...
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.
(Sorry this is heading into the weeds, but I'm not really a web developer so maybe someone can tell me!)
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.
mpv [--no-video] "https://www.youtube.com/watch?v=X9zVjEZ7W8Q"
Option in brackets is optional.Any idea what specifically causes it to happen, rather than just "firefox"?
Although I just tried opening two videos and both opened basically instantly.
And that is /not/ easily discoverable??
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.
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 don't use YouTube so the comment was more of a way to bring up the other behavior in business reviews. It seemed relevant.
Edit: reviews are also broken(for me) on Firefox desktop with no extensions enabled and with ublock enabled.
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.
@dang or op, wrong link. Should be: https://old.reddit.com/r/youtube/comments/17z8hsz/youtube_ha...
> setTimeout(function() { c(); a.resolve(1) }, 5E3);
The code looks like a silly concurrency bug fix, i.e., a lazy way to force ordering.
It will be a party for the EU to punish Google with an anti-monopoly lawsuit.
Best case: google gets forced to split up chrome, youtube and search as they obviously abuse their power.
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.
As opposed to now?
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 guessed it was due to the cat-and-mouse adblocking prevention between YouTube and adblockers (I'm also using uBlock Origin).
setTimeout(function() {
c();
a.resolve(1)
}, 5E3);
https://old.reddit.com/r/firefox/comments/17ywbjj/whenever_i...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 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'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.
- Because I don't see ads with YouTube Premium
- Because I add things to my playlists
- Because I more often than not find interesting things to watch there
- Because I like using it on my phone or TV
There's a lot of reasons why someone would prefer the official apps over some third party app that might break every few months.
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).
I would much rather put up with Youtube than be frustrated when my 'alternate frontend' one day breaks and i need to figure out a workaround.
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.
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.
My post was only about playing videos.
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)
see https://www.reddit.com/r/youtube/comments/pm0eqh/why_are_my_...
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.
Then they had someone write this idiocy: https://help.netflix.com/en/node/101798
"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.
In unrelated news, my youtube-dl usage is way, way up.
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.
0: https://www.pcworld.com/article/398929/youtube-defaults-to-l...
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.
There's 100% targeted de-optimization for firefox users and the burden of finding it is on the users it seems.
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).
Need to call out them.
I'm basically forced to use Chromium on Linux.
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?
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.
It’s tiny companies that may ignore 3% as too expensive to worry about.
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.
But clearly I am not them. :-) Mathematically it doesn't make sense for Google. It might make sense from an anti-trust perspective...
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.
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 !
That aside: I also doubt most peertube instances can withstand the bandwidth costs of seriously hosting a few moderately succesful YouTube channels.
cough nebula cough
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.
Firefox 119.0 Ubuntu 22.04 uBlock Origin, Privacy Badger
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’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.
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.
Piped, yt-dlp and mpv all support Sponsorblock.
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).
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.
US, Firefox, uBlockOrgin.
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.
`1==true` but `1!==true` (`===` and `!==` check for type equality as well and while `!0` is a boolean, `1` is not.
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.
One option is RSS (YouTube still supports it) subscribing to channels. Do you know of others?
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.
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?
Hmmm.....
In programming in general, Javascript is generally considered....(I'm savouring the word)...distasteful?
Yea, nah. I put a sleep in a Javascript/Dart bridge the other day.... We can do better, I can do better,
But then I think of some alternative method where they send an ajax request to "sleep.google.com/?t=5" and get a response like "" after five seconds.
Go into ublock origin addon > click filter lists > purge all caches then update now
all done
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.
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.
To each their own :)
In mpv, you can use PgUp and PgDown to select chapters.
> + external links mentioned
Video description is in audio/video file if yt-dlp gets a --embed-metadata. mpv prints that if present.
in which case, why buy it at all? A torrent isn't going to load as fast as what you paid YT for.
BTW modern piracy setups are far more streamlined and easier to manage/use than modern streaming platforms. Assuming you have some tech ability anyway.
Unless you want to rewind the video without it re-buffering...
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.
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.
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.
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.
Blows my mind.
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.
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.
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.
Odd they couldn't ask your preferred language(s) in your profile, then include it whenever available with the regional list.
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.
Edit: I have forgotten to add sponsorblock to the list of extensions
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.
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?
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.
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.
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
Yes
This reply is for everyone who has ever worked on the codebase...
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.
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.
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.
[1]: https://developer.mozilla.org/en-US/docs/Web/API/Window/requ...
"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.
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).
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.
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.
There's so much trickery and nonsense around this stuff that no link is safe to just click on.
Thanks for the context!
[0] Unable to press play and showing image with Ad instead.
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.
Another example that springs to mind is Uber, who used a tool called "Greyball" to avoid contact between drivers and authorities: https://www.reuters.com/article/uk-uber-greyball-idUKKBN16B0...
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...
“Research”
In order for someone to slow down the by browser they need someone to have coded the following:
- UA Detection
- Branching for when the flag is on or off
- a timeout that only runs when these two things are true
That takes an engineer to do the work. Marketing and product managers are not writing this code certainly.
If they’re abusing a differ t flag, then the real question I have is what the flags purpose is and why is it screening Firefox.
Either way there is an intention of UA checking and throttling based on the UA and that takes an engineer to do it
I've seen similar videos with Japanese garb too. The offendatrons hate it. The actual Japanese people love that you're enjoying their culture.
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.
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
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 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.
Tell them about the Yugoslav wars merely 30 years ago to blow their minds.
Google have been disgustingly anticompetitive for a very, very long time at this point.
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.
It's always, always mattered. If anything, people care less today, with the entire ridiculous 100 loads per page.
Whomever didn't care was weird.