-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reversed logic for allow/deny #32
Comments
Not going to happen. I thought about this for a long time before I named it the way I named it. To much double negation the way you propose it. See #26 |
Sorry for the duplicate. I can see what you mean by this:
But I think the meaning of "allow" (whitelist) and "deny" (blacklist) depends on what people think the addon is doing. For example, an addon that translates every page to your language, except for those on the... blacklist. That makes sense, because it's doing something that normally doesn't happen (translate). It's an added function, something new that was never there before. The blacklist denies or prevents the addon from adding its function to that page. In other words, "deny the page access to the extra function of the addon (translation)". On the other hand, an addon that stops videos from autoplaying on every page except those on the... whitelist. That makes sense because it's stopping something that normally does happen (autoplay). It's not actively adding a new function (non-autoplay), it's stopping or preventing pages from doing something they would do otherwise. So a whitelist allows the page to continue to do it. In other words, "allow the page to do what it's programmed to do (autoplay)". I think you're seeing "skipping" as a kind of positive function, like "translating", and the blacklist is as you said to block skipping. Maybe as the author of the addon, you're used to thinking something like, "ok I'm not going to skip on this page, because it's on the blacklist". But everyone else is telling you that we don't see it that way, that "skipping" is more like "stopping", it's already a negative thing, it's preventing something from happening. We want to use the addon because we want to stop redirects. We don't want to add skipping. We say, "ok, I want to allow redirects on this page, so I'll put it on the whitelist". We do think of skipping as a kind of blocking, preventing the page from doing its redirect. To skip something is to not do something. For us, using "blacklist" to mean "deny skipping" is the confusing double negation - "prevent preventing redirects", or "skip skipping". It's not really a big issue. But you've already had several bug reports and a number of people saying they were perplexed by it. Anyway, it's your addon and of course you should do what you think is best! |
I have people complaining, yes, but I don't know what would happen if I'd change it. Maybe the same number of people or more would complain. I definitely would have a harder time wrapping my head around it. It's all about how to formulate this. I guess we can agree that whitelist is inclusive and blacklist is exclusive. I chose to base the naming on the action that the extension does: skipping redirects. If I'd use "allow redirects" the mode would be named: "Do not allow redirects unless the URL is on the whitelist" and "Allow redirects for all URLs unless it's on the blacklist". But what does "allow redirect" mean? It's the opposite of what the extension does and is named after. This is the negation and disconnect in meaning I was talking about. |
Glad to see Im not the only one. Sblask needs to recheck his addon and his attitude as well. |
I'd say it's a poor attitude to complain about someone who's giving you a gift of free software... Anyway, according to the definition posted in #26, the logic of whitelist/blacklist is:
If we use the word "deny" instead, it must be written:
My thesaurus says:
"Skip" is clearly more synonymous with "deny" than "allow". What's currently written in the preferences then has the meaning:
That's reversed from the above definitions, which is why everyone is saying it seems backwards. To interpret it the other way, we would have to read it instead as:
To me it's very counter-intuitive to read "Skip all redirects" as "Allow all redirect-skipping" rather than "Deny all redirects". In other words, "Allow the addon to deny redirects except for the blacklist" is more complicated than simply "deny redirects except for the whitelist". One solution could be to simply avoid the use of the terms blacklist/whitelist. In the preferences, just put under Mode:
|
Listen I came here only to help you. You can fight it by yourself for all I care and see how much longer he takes to respond. Im not complaining about the "free addon" Im criticizing his behavior. Your suggestion might as well fall on deaf ears. |
As discussed in issue #30, it seems to me that what's called Blacklist should be Whitelist, and vice-versa. Either you skip (deny) all redirects except those on the Whitelist (the allow list), or you allow all redirects except those on the Blacklist (the deny list). The way it is now seems reversed to what's usually understood.
Also for the same-domain checkbox:
I think it might be more clear like this:
The first line is a general rule, and the second line is an optional exception, with the reverse logic of the general rule. And while I'm being all nit-picky... the second line should end with a period, or the other lines shouldn't.
The text was updated successfully, but these errors were encountered: