> Unfortunately the extension requires quite a large database (~15TB) - and it costs money.
> The ad\changelog was supposed to show only on browser restart - i.e. be much less intrusive
> The idea behind paid features was also to cover the costs (since donations became smaller than the hosting costs).
> I messed up with implementation though.
> Sorry.
I do feel for the developer, and I am not anti asking for donations, and the full page pop up on browser restart I don't think is terrible, but it would have been better to maybe have a changelog and have a donation button. The ads injected directly into youtube make me lose a lot of trust
Also a user ID, which seems to be 36 base64 characters (can't have one user count for multiple votes).
Round up to 500 raw bytes per row (perhaps including time/ip and other random garbage, plus indexes), 3x replication/redundancy or something, for 6 million users each having voted on 500 videos, and you're at 6TB; still some ways off from 15TB, but not insurmountably far.
(votes/user is rather tricky to get; but, as a bit of random garbage statistics math: YT gets ~5B views/day and has ~3B users; 6M downloads of the extension means ~0.2% of users use it, so 10M extension-user views/day = 15B over 4 years, or 2.5K/user; assuming 20% vote rate (rather high but lets say extension users care more for voting and/or watch YT more than an average person), that's 500 votes/user)
500 bytes? A user ID couldn't be more than 8, a date is another 8, a video ID is another 8, and an IP is 16. Even if you assume there is some overhead, a database cannot possibly need more than 100 bytes per row.
That's assuming all of those are stored in packed formats, but even then it's not that low.
I already mentioned that the user IDs are 36 base64 chars, or 27 bytes if you store them max-packed; YT video IDs are 11 base64 chars, so 66 bits, doesn't quite fit in 8 bytes (not to mention that trying to pack the video IDs would mean your db becomes useless if youtube suddenly added a new video ID format). IP needs another bit somewhere for ipv4 vs ipv6, so likely 24 bytes (or just a string could be used).
Then you have some overhead for padding and string field lengths, and whatever overhead for packing the data for the disk storage (padding for all entires to stay within a page? maintaining a percentage of free space to ensure the B-tree property?). Then you have a copy of the fields in indexes, with whatever overhead those come with.
Granted, even that's probably around 200 bytes, not 500, in a reasonable db, but who's to say that the db used used is a reasonable & well-configured one; of course it's possible that a bunch more metadata is stored for user trustworthiness statistics or something, or duplicated tables where relations would work.
Why not summarize every 3 months? It would allow someone to downvote every 3 months on the same video but it's easier to just install this extention on another profile.
It would bring the size down to under a 1T and allow the developer to go ad free. Hope this message reaches him.
That'd easily result in accidental re-votes if a user watches the same video every couple months (and such re-watchers would likely be ones that.. like the video, thereby skewing data away from dislikes over time).
Especially if the extension just sends the vote status instead of only reacting on a press (which'd allow it to send forward a vote done originally on, say, mobile; don't know if it does this, but it seems like a useful thing to do).
The way the plugin works (in my simplified understanding) is that it guesses how many dislikes there are based on the like/dislike ratio of the people that have the plugin installed. So if 100 people that have the plugin installed and there is a 90/10 like/dislike ratio, and the actual video has 1000 likes, it will say that there are 100 dislikes. Youtube not only took away the dislike UI, but stopped publicly giving the number of dislikes even behind the API.
But even then, the database could not get that big, you'd only need a few simple tables, one that tracks every plugin users like/dislike on the video they stored it on, and then a table that does the aggregations. 15TB sounds crazy.
I'm not a youtuber so idk what content creators could see, but it would have been smarter for them to go after the content creators that have the plugin installed instead of youtube users, not sure why we would care about those kinds of analytics
It's not a representative sample so the dislikes it shows aren't accurate it's a bad estimate. I also heard some content creators that said they compared with real dislike numbers and it was way off.
I wasn't really upset about the removal of the button but this add-on seems superfluous. What benefit does it give users to see how many other users of this extension disliked a video? I would understand if it helped shape your recommendations or home page feed but I'm at a loss here.
Imagine a video is recommended that is for a specific how-to search; if it has a poor rating then you can be confident it's a bad match for your search.
E.g. a plumbing video for fixing a tap with a bad rating is unlikely to actually tell you how to do so.
I mean, isn't that the point of comments? I have a hard time believing a video can have high likes and not a single higher up comment countering it. At least in a realistic example like household repair or something. I also tend to skim videos for content as well to verify or find it. So maybe I'm just more diligent than most.
I consider it to be more valuable than a "stupid gimmick", even if more in message than in direct utility - it fights to retain peer-voting and crowdsourced evaluation on the quality of online information, which is something that seems to be dwindling away with each passing year.
I tried to make Twitter and Reddit more usable as they started to enshittify, but after a certain point I realized it was a fundamentally losing battle and gave them up altogether. Those sites were not one or two features away from becoming usable again, the rot was more comprehensive. Today in hindsight, I can see that moving on was the only way to go.
Correct, that's why I called it a stupid gimmick. You're trying to fight them on their turf, it'll consume your life and they will wipe you out in a second if they feel like it.
The problem is that the number you see is pointless. There's a limited demographic who cares about the dislike numbers so much they go out and install a browser extension, which in then biases how they react to a video.
It's basically an echo chamber extension.
Not sure what you mean by "fight back", either. Google 100% could not care less if you install this extension. They aren't bringing it back unless the division's leadership has a change of heart on whatever internal goals they wanted to achieve by removing it.
Thanks for sharing. I haven't noticed anything on the Firefox extension under the same name. ublock may be stopping it. I can investigate and post what I find here in a few hours.
At this point it would be better to start building and working on new web video hosting platform than to cry over feature that is most likely never coming back.
I assume you wouldn't put "Our target users are people who started swearing at us when we asked for enough money to pay for a single 15TB database" in your pitch deck.
They won't "accept ads" but they also won't pay for the extension, so I think in practice this is a good way to tell users "you're costing me money, go away."
I think this every time someone suggests an alternative to YouTube. Sorry but no one is making a video hosting service for users who both reject adverts and a premium subscription. And no content creator is going to work for free to post there.
You can downvote youtube videos without the extension, the extension just shows how many people downvoted a video since youtube took that visibility away a few years ago. It does help when there are shitty video recommendations and can ignore videos that have a bad ratio
The paid for feature seems to show the number of dislikes that have the extension installed, however what is shown is the estimated number of dislikes based on the actual number of likes youtube shows, so if the extension users have a like/dislike ratio of 50%, and there youtube shows 1000 likes, the extension estimates that there are also a 1000 users that disliked the video, even though there may only be 1 like and 1 dislike from the extension users, which would be very obvious that the estimate is very off.
IIRC, in the earliest days, the extension reported the dislike count that was still in the API but not surfaced in any clients. At some point after that, Google removed the count from the API entirely, requiring the current piecemeal approach.
I'm skeptical that it's of any use considering it's only going to be installed by people who specifically want to dislike. It seems more likely that the like/dislike ratio is going to be heavily skewed towards dislikes just by the stated purpose of the plugin and who it appeals to.
I don't think the extension is installed by people that wanna dislike, rather by people that wanna see the dislike count. I used to have it since it's very useful to see if something like a tutorial is a scam.
Also if I remember correctly, the extension was created before youtube completely removed the count, and it scraped the actual value from youtube to add it to the db while the count still was available
I highly recommend following the official tutorial to create a browser extension for your preferred browser, and just making any changes to websites there instead of installing extensions made by someone else. For example, removing youtube shorts is like five lines of code in my personal extension. The rate at which published browser extensions turn into malware has escalated from “oh that’s concerning” to “How many times do I have to teach you this lesson old man”
You don't even need to make your own extension, which requires a bunch of boilerplate and docs. Userscripts (eg. greasemoney) or userstyles (eg. stylus) is often all you need, and much more straightforward to make.
Update from the dev:
> Unfortunately the extension requires quite a large database (~15TB) - and it costs money.
> The ad\changelog was supposed to show only on browser restart - i.e. be much less intrusive
> The idea behind paid features was also to cover the costs (since donations became smaller than the hosting costs).
> I messed up with implementation though.
> Sorry.
I do feel for the developer, and I am not anti asking for donations, and the full page pop up on browser restart I don't think is terrible, but it would have been better to maybe have a changelog and have a donation button. The ads injected directly into youtube make me lose a lot of trust
> the extension requires quite a large database (~15TB)
Maybe I am missing something but how does a database which just needs to store video ID and a number become 15TB in size?
Also a user ID, which seems to be 36 base64 characters (can't have one user count for multiple votes).
Round up to 500 raw bytes per row (perhaps including time/ip and other random garbage, plus indexes), 3x replication/redundancy or something, for 6 million users each having voted on 500 videos, and you're at 6TB; still some ways off from 15TB, but not insurmountably far.
(votes/user is rather tricky to get; but, as a bit of random garbage statistics math: YT gets ~5B views/day and has ~3B users; 6M downloads of the extension means ~0.2% of users use it, so 10M extension-user views/day = 15B over 4 years, or 2.5K/user; assuming 20% vote rate (rather high but lets say extension users care more for voting and/or watch YT more than an average person), that's 500 votes/user)
500 bytes? A user ID couldn't be more than 8, a date is another 8, a video ID is another 8, and an IP is 16. Even if you assume there is some overhead, a database cannot possibly need more than 100 bytes per row.
That's assuming all of those are stored in packed formats, but even then it's not that low.
I already mentioned that the user IDs are 36 base64 chars, or 27 bytes if you store them max-packed; YT video IDs are 11 base64 chars, so 66 bits, doesn't quite fit in 8 bytes (not to mention that trying to pack the video IDs would mean your db becomes useless if youtube suddenly added a new video ID format). IP needs another bit somewhere for ipv4 vs ipv6, so likely 24 bytes (or just a string could be used).
Then you have some overhead for padding and string field lengths, and whatever overhead for packing the data for the disk storage (padding for all entires to stay within a page? maintaining a percentage of free space to ensure the B-tree property?). Then you have a copy of the fields in indexes, with whatever overhead those come with.
Granted, even that's probably around 200 bytes, not 500, in a reasonable db, but who's to say that the db used used is a reasonable & well-configured one; of course it's possible that a bunch more metadata is stored for user trustworthiness statistics or something, or duplicated tables where relations would work.
Why not summarize every 3 months? It would allow someone to downvote every 3 months on the same video but it's easier to just install this extention on another profile.
It would bring the size down to under a 1T and allow the developer to go ad free. Hope this message reaches him.
That'd easily result in accidental re-votes if a user watches the same video every couple months (and such re-watchers would likely be ones that.. like the video, thereby skewing data away from dislikes over time).
Especially if the extension just sends the vote status instead of only reacting on a press (which'd allow it to send forward a vote done originally on, say, mobile; don't know if it does this, but it seems like a useful thing to do).
The way the plugin works (in my simplified understanding) is that it guesses how many dislikes there are based on the like/dislike ratio of the people that have the plugin installed. So if 100 people that have the plugin installed and there is a 90/10 like/dislike ratio, and the actual video has 1000 likes, it will say that there are 100 dislikes. Youtube not only took away the dislike UI, but stopped publicly giving the number of dislikes even behind the API.
But even then, the database could not get that big, you'd only need a few simple tables, one that tracks every plugin users like/dislike on the video they stored it on, and then a table that does the aggregations. 15TB sounds crazy.
I'm not a youtuber so idk what content creators could see, but it would have been smarter for them to go after the content creators that have the plugin installed instead of youtube users, not sure why we would care about those kinds of analytics
It's not a representative sample so the dislikes it shows aren't accurate it's a bad estimate. I also heard some content creators that said they compared with real dislike numbers and it was way off.
I wasn't really upset about the removal of the button but this add-on seems superfluous. What benefit does it give users to see how many other users of this extension disliked a video? I would understand if it helped shape your recommendations or home page feed but I'm at a loss here.
Imagine a video is recommended that is for a specific how-to search; if it has a poor rating then you can be confident it's a bad match for your search.
E.g. a plumbing video for fixing a tap with a bad rating is unlikely to actually tell you how to do so.
I mean, isn't that the point of comments? I have a hard time believing a video can have high likes and not a single higher up comment countering it. At least in a realistic example like household repair or something. I also tend to skim videos for content as well to verify or find it. So maybe I'm just more diligent than most.
Video creators can freely delete comments, which makes relying on them for much sketchy.
It could keep track of each unique dislike. Then maybe the best we can do is use HyperLogLog (or HyperLogLog++ or HyperLogLogLog) per video id.
Even if it's tracking each unique dislike, I can't see how it would explode to 15TB of data.
I don't feel for the developer. If donations is smaller than hosting costs, just stop putting time into it. It's a stupid gimmick anyway.
I consider it to be more valuable than a "stupid gimmick", even if more in message than in direct utility - it fights to retain peer-voting and crowdsourced evaluation on the quality of online information, which is something that seems to be dwindling away with each passing year.
I tried to make Twitter and Reddit more usable as they started to enshittify, but after a certain point I realized it was a fundamentally losing battle and gave them up altogether. Those sites were not one or two features away from becoming usable again, the rot was more comprehensive. Today in hindsight, I can see that moving on was the only way to go.
Correct, that's why I called it a stupid gimmick. You're trying to fight them on their turf, it'll consume your life and they will wipe you out in a second if they feel like it.
The problem is that the number you see is pointless. There's a limited demographic who cares about the dislike numbers so much they go out and install a browser extension, which in then biases how they react to a video.
It's basically an echo chamber extension.
Not sure what you mean by "fight back", either. Google 100% could not care less if you install this extension. They aren't bringing it back unless the division's leadership has a change of heart on whatever internal goals they wanted to achieve by removing it.
15TB smells of incompetence. Putting ads, even more. Fucking up the ad displaying logic as he says: even more...
They've added a full page ad that opens a new browser randomly and injecting ads directly into youtube.
I added some photos on this reddit post
https://www.reddit.com/r/youtube/comments/1of2k7s/return_you...
Thanks for sharing. I haven't noticed anything on the Firefox extension under the same name. ublock may be stopping it. I can investigate and post what I find here in a few hours.
I also have uBlock as well, and it didn't catch it for me
Did you just begin noticing this today?
Yeah, seems like it just got pushed today, given all the reviews just popped up today too
Discussion here also...
https://github.com/Anarios/return-youtube-dislike/issues/123...
At this point it would be better to start building and working on new web video hosting platform than to cry over feature that is most likely never coming back.
The users of this extension balked at paying for the upkeep of a 15TB database of (user, like) mappings.
Do you really think they're gonna financially support an entire video hosting platform?
I meant if you don't like YouTube, try to make an alternative. Prototype it and look for venture capital.
I assume you wouldn't put "Our target users are people who started swearing at us when we asked for enough money to pay for a single 15TB database" in your pitch deck.
You gotta be a bit short sighted to imagine that the kind of people that would download an extension would accept ads.
On the other hand, you also have to be a bit short sighted to be installed gargabage like "an extension so you can downvote" lol.
They won't "accept ads" but they also won't pay for the extension, so I think in practice this is a good way to tell users "you're costing me money, go away."
I think this every time someone suggests an alternative to YouTube. Sorry but no one is making a video hosting service for users who both reject adverts and a premium subscription. And no content creator is going to work for free to post there.
You can downvote youtube videos without the extension, the extension just shows how many people downvoted a video since youtube took that visibility away a few years ago. It does help when there are shitty video recommendations and can ignore videos that have a bad ratio
Subtle correction: The extension shows how many users of the extension downvoted the video. It has no way of knowing what non-extension-users did.
The paid for feature seems to show the number of dislikes that have the extension installed, however what is shown is the estimated number of dislikes based on the actual number of likes youtube shows, so if the extension users have a like/dislike ratio of 50%, and there youtube shows 1000 likes, the extension estimates that there are also a 1000 users that disliked the video, even though there may only be 1 like and 1 dislike from the extension users, which would be very obvious that the estimate is very off.
IIRC, in the earliest days, the extension reported the dislike count that was still in the API but not surfaced in any clients. At some point after that, Google removed the count from the API entirely, requiring the current piecemeal approach.
That was true for about 3 weeks (ie. less than 2% of the extension's history)
Yes, but I believe it shows an estimate of the total downvotes based on the proportion of its own users who have liked vs disliked.
bad ratio can be caused by a lot of things
Still useful
I'm skeptical that it's of any use considering it's only going to be installed by people who specifically want to dislike. It seems more likely that the like/dislike ratio is going to be heavily skewed towards dislikes just by the stated purpose of the plugin and who it appeals to.
I don't think the extension is installed by people that wanna dislike, rather by people that wanna see the dislike count. I used to have it since it's very useful to see if something like a tutorial is a scam.
Also if I remember correctly, the extension was created before youtube completely removed the count, and it scraped the actual value from youtube to add it to the db while the count still was available
> I don't think the extension is installed by people that wanna dislike, rather by people that wanna see the dislike count.
Yes but the corollary is that the dislikes you see are an estimate extrapolated from dislikes from people who use the extension.
In other words if people want their dislike to be seen, they need the extension.
I highly recommend following the official tutorial to create a browser extension for your preferred browser, and just making any changes to websites there instead of installing extensions made by someone else. For example, removing youtube shorts is like five lines of code in my personal extension. The rate at which published browser extensions turn into malware has escalated from “oh that’s concerning” to “How many times do I have to teach you this lesson old man”
How would your tutorial help get voting information from other users?
You don't even need to make your own extension, which requires a bunch of boilerplate and docs. Userscripts (eg. greasemoney) or userstyles (eg. stylus) is often all you need, and much more straightforward to make.
Is there a browser with native userscripts? because if I install a userscript extension, its just going to get push-updated to add malware like OP