A More Minimal, Less Annoying Way to Use YouTube

Published: November 9, 2021
Update 11/11/21: Like a day after I wrote this, YouTube removed "dislikes". I've since updated the uBlock filter to remove all likes. To me like/dislike ratio was important to determine if something was worth watching (specifically how-to's and technical stuff), so seeing the number of likes is pointless. They also added some other cruft which I've added to the block list.

YouTube can be a fantastic source for informational and how-to videos, but in my opinion the majority of it is complete and utter trash. With YouTube's recommendation algorithms, viewing a single video can easily spiral into a time sink where you fall into a pattern of watching pointless videos with click-bait titles and thumbnails (at worst, you lose IQ points), giving you a false sensation that you're "learning" or doing something productive. To add insult to injury, YouTube's website is filled with ads and other crap that tries to tug at the user's attention. This annoys me to no end.

I want to be able to do basic searches as well as view YouTube videos that a friend or colleague recommends without being force-fed recommendations or be subjected to seeing stupid comments from people whose opinions don't matter. With a couple plugins and some filters, YouTube can become a much more tolerable experience. Although 90% of this set up is simply uBlock with some filters, setting up a block YouTube's homepage and auto-deleting browser history have both been important components.

Some notes here. I do not have a Google (and therefore YouTube) account. I do not use YouTube's native search function, but rather I use DuckDuckGo with the "!yt" bang. Also, there are certainly some YouTube alternatives out there such as Odysee, but not only are the videos slim (although it's growing), the videos tend to buffer much slower than YouTube. There's also YouTube front-end sites like Invidious, but again it's often very slow experience regardless of the instance being used. And finally, I typically rely on an RSS reader coupled with youtube-dl and mpv (which I may do a post on in the future), which allows me to avoid visiting YouTube entirely.

uBlock Origin

uBlock Origin is much more than an ad blocker. You're also able block specific visual elements on any page – not just on YouTube. Here's a screenshot of the default YouTube video desktop view. This view is pretty obnoxious, at least to me. There's so much clutter and other crap on the page that's trying to pull at the user's attention.

YouTube screenshot with all elements enabled
All this clutter is burning my eyes.

Adding some filters to uBlock Origin, it's possible to block all the distracting and non-essential visual elements on a YouTube video. Here's a screenshot with almost all elements blocked. Although not pictured, the page ends after the video description.

YouTube screenshot with ads and most elements disabled.
A much cleaner and minimal YouTube experience. (note I had Dark Reader turned on which made the background black instead of dark grey).

Below are the filters I've set up for uBlock Origin. Personally, I have a ton of filters setup for the websites I visit most often to make the modern web more bearable, but the ones below are specific to YouTube. These filters can be added in the uBlock dashboard under the My Filters tab. You can copy + paste the text below, or you can find the txt file here. These filters are set to block specific visual elements while not only viewing a video, but also viewing search results or a user's channel.

www.youtube.com###masthead > .ytd-masthead.style-scope
www.youtube.com###logo
www.youtube.com###contentContainer
www.youtube.com##.ytd-button-renderer.style-scope.yt-simple-endpoint > .size-small.style-suggestive.ytd-button-renderer.style-scope
www.youtube.com##.style-default.ytd-topbar-menu-button-renderer.style-scope
www.youtube.com###guide-button
www.youtube.com###voice-search-button > .size-default.style-default.ytd-masthead.style-scope > .ytd-button-renderer.style-scope.yt-simple-endpoint > .size-default.style-default.ytd-button-renderer.style-scope
www.youtube.com###voice-search-button
www.youtube.com###search-icon-legacy
www.youtube.com###secondary
www.youtube.com##.ytd-comments.style-scope
www.youtube.com##.ytd-button-renderer.style-scope.yt-simple-endpoint > .size-default.style-destructive.ytd-button-renderer.style-scope
www.youtube.com###button > .ytd-menu-renderer.style-scope
www.youtube.com##ytd-button-renderer.size-default.style-default.force-icon-button.ytd-menu-renderer.style-scope > .ytd-button-renderer.style-scope.yt-simple-endpoint
www.youtube.com###container > .ytd-sentiment-bar-renderer.style-scope
www.youtube.com##.ytp-cards-button-icon-default > .ytp-cards-button-icon
www.youtube.com###scrim
www.youtube.com###guide
www.youtube.com###movie_player > .ytp-paid-content-overlay
www.youtube.com##.iv-click-target.branding-img
www.youtube.com##.ytd-video-primary-info-renderer.style-scope.super-title > a.yt-formatted-string.style-scope.yt-simple-endpoint
www.youtube.com###avatar > .yt-img-shadow.style-scope
www.youtube.com###sentiment
www.youtube.com##ytd-mini-guide-renderer.ytd-app.style-scope
www.youtube.com##.tp-yt-app-drawer.style-scope
www.youtube.com###contentWrapper > .ytd-popup-container.style-scope
www.youtube.com###scroll-container > .ytd-feed-filter-chip-bar-renderer.style-scope
www.youtube.com###right-arrow-button > .size-default.style-default.ytd-feed-filter-chip-bar-renderer.style-scope > .ytd-button-renderer.style-scope.yt-simple-endpoint > .size-default.style-default.ytd-button-renderer.style-scope
www.youtube.com###header > .ytd-rich-grid-renderer.style-scope
www.youtube.com###dismissible > .ytd-statement-banner-renderer.style-scope
www.youtube.com###dismissible > .ytd-primetime-promo-renderer.style-scope
www.youtube.com##.size-default.style-suggestive.ytd-video-owner-renderer.style-scope > .ytd-button-renderer.style-scope.yt-simple-endpoint > .size-default.style-suggestive.ytd-button-renderer.style-scope
www.youtube.com###main
www.youtube.com###icon > .yt-img-shadow.style-scope
www.youtube.com##ytd-watch-next-secondary-results-renderer.ytd-watch-flexy.style-scope > .ytd-watch-next-secondary-results-renderer.style-scope
www.youtube.com##.ytd-watch-metadata.style-scope > .ytd-menu-renderer.style-scope.top-level-buttons
www.youtube.com###comment-teaser > .ytd-watch-metadata.style-scope
www.youtube.com##.ytd-video-primary-info-renderer.style-scope > .ytd-menu-renderer.style-scope.top-level-buttons

Now with these filters, one might want to keep the search bar. In that case, do not include the first filter on "masthead > .ytd-masthead.style-scope". Also, the upvote/downvotes because they can be an indication as to whether or not the video is of decent quality.

Leechblock

I also use an extension called LeechBlock which I've set up to block the youtube.com homepage (along with some other addicting sites). For YouTube specifically, the purpose of this extension is to simply block YouTube's homepage and therefore it's recommendations. YouTube's homepage is typically clickbait video recommendations that's tailored to your previous viewing history. If you have cookies/cache disabled, the type of recommended content is beyond terrible as it appears to be targeted toward brain-dead adolescents. Unfortunately, it's not possible to block the recommendations on YouTube.com with uBlock without blocking all video content (but if you're able to figure this out, please let me know).

Below is the domain name to block with the exceptions. Basically, this will block the YouTube homepage "youtube.com", but will allow for specific domain sub-directories so you can still view YouTube videos (+youtube.com/watch). It will also allow you to click on links within the video description (/redirect), look at the video owner's channel (/channel), and also be able to watch YouTube shorts if you're into that sort of thing (/shorts). You can also view search queries, for example using the search box if you have that enabled or using the DuckDuckGo "!yt" bang (/results).

youtube.com
+youtube.com/c/
+youtube.com/channel
+youtube.com/das_captcha?fw=1
+youtube.com/playlist
+youtube.com/redirect
+youtube.com/results
+youtube.com/shorts
+youtube.com/user
+youtube.com/watch

Other Practices

In an effort to minimize data collection, I also have my browser delete all cookies and cache whenever I close my browser (with the exception of a couple sites), so the video recommendations on the YouTube home page or elsewhere would not be relevant to me anyways.

There's a handful of YouTube channels that I do follow. As mentioned above, I do use an RSS feed to obtain that content. RSS is something that YouTube used to support, but now hides this feature to keep you on the platform. I use newboat and mpv w/ youtube-dl, but the playback experience isn't as instantaneous as it is on YouTube native and I'll therefore just click the YT URL rather than letting the video buffer.

On the mobile side of things, I try to keep as few apps on my phone as possible, but I do use a YouTube front-end app called "NewPipe". This can be found on F-Droid.

Thanks for reading. Feel free to send comments, questions, or recommendations to hey@chuck.is.