Mozilla working on in-page popup blocker for Firefox
androidpolice.com
androidpolice.com
Or that monstrous dialog Facebook has on its pages asking its visitors to join Facebook. Annoying on desktop, supremely annoying on mobile. Just another reason I usually don't bother clicking on Facebook links.
Arguing that etiquette should be observed when you have a lead / sales generation flow doesn't work.
Depends on which customers you want.
That doesn't work. Before Bayesian filtering and Gmail, 90% of my mail was spam. The people who did it knew that it was wrong, they just didn't care. $$$ > almost anything.
But irritating popups will ensure many will never come back - you've forever lost your opportunity to even attempt to sell me something. Seems so illogical
When browsers and search engines fights back against crappy web content I suspect we'll see change.
Usually some out of touch marketing, SEO, advertising, etc. person. Most web developers aren't the decision makers in situations like this.
I'm clicking it more and more these days - even those damn fixed navs that take up a stupid percentage of the screen give me the shits.
If clicking the bookmarklet doesn't get rid of your stupid modal newsletter sign up or annoying sticky nav, I'm just closing the tab.
Here's the bookmarklet btw:
javascript:(function()%7B(function () %7Bvar i%2C elements %3D document.querySelectorAll('body *')%3Bfor (i %3D 0%3B i < elements.length%3B i%2B%2B) %7Bif (getComputedStyle(elements%5Bi%5D).position %3D%3D%3D 'fixed') %7Belements%5Bi%5D.parentNode.removeChild(elements%5Bi%5D)%3B%7D%7D%7D)()%7D)()
if this is as awesome as it looks, i'm actually excited.
thank you.
its funny, suddenly i don't even have to think about it, which is what this is all about - reducing cognitive load.
re inclusion on ublock and the like: it should probably be an option that people can enable/disable; ublock is more about blocking ads/trackers, but i would wager that most people are annoyed with sticky stuff too.
ready for the next challenge?.... getting rid of sites that fuck with the default scroll behaviour ;)
thanks again :)
Ironically, though, this will probably limit severely the quantity and quality of data I can feed back to this Mozilla project via this add-on...
It even works well on iOS/Safari !
(Slightly modernized version could be:)
javascript:void([].forEach.call(document.querySelectorAll('body *'),e=>/fixed|sticky/.test(getComputedStyle(e).position)&&e.parentNode.removeChild(e)))
[0] https://news.ycombinator.com/item?id=16516126
[1] https://alisdair.mcdiarmid.org/kill-sticky-headers/ [].foreach.call(a, b) -> a.forEach(b)
... since the value returned by `querySelectorAll` has a `forEach` method. And 5 more if you replace: 'body *' -> '*'thanks.
But they are annoying when they block everything and prevent you from doing anything further. (I'm looking at you WaPo). I used the clearly extension to bypass things like this. And if that did not work I would go into Dev tools and delete things.
I guess a machine learning approach might be a good approach. But would it learn from all of the benign use cases when people are only reporting negative stuff?
I.e., allow web-apps to request permissions, and allow users to grant those permissions. In a way that is not intrusive.
Then, I can see this work, and actually be useful.
Tangentially related, I wish I had fine grained control over whether or not websites can access (or block) pasting, keybindings, etc. I think currently you’d have to write an extension or userscript to monkey patch the functionality in javascript land before the site executes.
Users can opt in to a sharing service which consolidates the blocked certificates across multiple users. When a threshold is crossed for a particular certificate, that certificate can be propagated broadly to all the participants in the sharing service and said developers and publishers can lose the ability to put anything onto a user's across wide ranges of users.
I think when people start having things to lose, they might start acting more responsibly and respectfully.
Perhaps it's best to keep things straightforward at first (?)
I think the point is not to block all of them, but the annoying "subscribe to our newsletter" ones that pop up even before you've read anything on that site.
That aside: the main reason modals are useful are because they prevent you from doing anything else - sometimes that's needed. If not, a modal is probably not the solution.
I'm guessing we'll see similar goofiness with modals. And that we'll reach a similar terminal state where nobody uses them anymore, except for your bank, who will doggedly refuse to let you see your monthly statement unless you display your modal blocker first.
I've taken to browsing with JavaScript disabled, and many sites' "no script" version of the page is just an impassioned plea for me to re-enable JavaScript so that they can do all the popups and tracking and whatnot that prompted me to turn it off in the first place.
https://blog.evernote.com/blog/2015/12/17/evernote-to-end-su...
Even for things like confirmations: a user might likely still want to see (and maybe interact with) the thing they are confirming. For instance, if confirming to delete an object, it's still helpful to be able to scroll to see the entirety of the object to double/triple check that it is indeed the object you plan to delete. A overlaying modal always interrupts the user's focus and often gets in the way of otherwise useful information or actions before confirming.
You don't need to worry about elegantly maintaining context. They introduce a side context.
Unfortunately the spell breaks when you want to switch contexts again. The side context makes it awkward. There is also an issue for URLs as modals are difficult to share.
They may solve one specific problem, but are less adaptable than doing the hard work of making separate views.
But an overlaying action-bar with a "confirm" button that otherwise allows you to scroll before you delete would be a great middleground.
But how can a browser tell the difference?
When I think "action bars", I tend to think of banners that expand into a flexbox row or rows of my choosing and I don't overlay anything. If it is meant to hide a part of the UI, it's better to hide or replace that UI explicitly rather than cover it up graphically in an overlay.
Another reason to explicitly hide/replace UI instead of covering it graphically is because that doesn't stop someone from interacting with that covered UI, it just makes it more irritating to do so. I'm not just talking about Dev Tools and similar "cheat" options, but not every user is necessarily interacting with your site or application with sight/graphically. An overlay doesn't stop a screen reader, for instance. (A lot of the modal popups that Mozilla is hoping to block are entirely ignored by a browser's "Reader Mode", which is sometimes my first attempt when I see one.)
I can't say I've noticed this. Almost every application I have uses modals.
> a user might likely still want to see (and maybe interact with) the thing they are confirming. For instance, if confirming to delete an object, it's still helpful to be able to scroll to see the entirety of the object to double/triple check that it is indeed the object you plan to delete.
KDE uses modals for confirmations but gets at least this instance right: "delete" confirmation boxes list the files in question. I wish other applications would do this.
That said, paywalls on news sites have made me realize two things: good journalism needs monitary support, and that news is so expensive I can only afford to support one, maybe two news outlets. Vicious.
https://addons.mozilla.org/en-US/firefox/addon/open-page-in-...
The tricky bit will be getting rid of the darkened full-screen overlay as well as the modal, but I guess you could track element visibility changes/removals around the same instant as the mouse click.
I wouldn't as easily dismiss the difference between the browser vs a service provider, but regardless, I assume Mozilla will make it an option you can turn on or off at will. I doubt Comcast would do the same.
If Mozilla comes out with something that changes content without user's choice, I'm willing to bet HN will justifiably be up in arms.
They did, and HN was up in arms. Did everyone forget the blowback from their cross-promotion deal with USA for Mr. Robot? https://beta.techcrunch.com/2017/12/15/mozillas-mr-robot-pro...
That wasn't even an integrated part of the browser, it was more a case of bad defaults with an auto-installed plugin and HN was (rightly) quite pissed off with them for it.
This is different IMO, this is changing how a website is rendered, not really very different at all than an adblocker which are already generally accepted.
Maybe we can do better?
The browser should render what it's given by default. If the user wants to modify that, change a setting
We are just so used to it that we don't even think about it. Do you think websites should be able to spawn unlimited popups, even as you try to close them? I remember that horror.
You're solution works as long as I can set N to 0, I guess.
But as far as defaults go, I think of people like my parents. My dad was routinely fooled by those fake "Click to Download" ads and it breaks my heart that there are people out there who take advantage of others like this.
Defaults should help the average user. Power users can always turn a setting off.
> Suppose Microsoft decides that websites with small font aren't friendly enough to people with vision problems so they start upsizing all font below size ten in IE?
This is somewhat humorous for me, because one of the first things I do to my Firefox installs is lock the font and set a minimum font size that I can read. The most broken sites by far are internal ones at my company, where no one has given a damn about usability or ADA. Most public sites handle it just fine.
Is that a plugin you use to lock the font sizes? That's not a default option in Firefox that I can see. I only have default size and minimum size.
¹ https://developer.mozilla.org/en-US/docs/Web/Accessibility/U...
But they wouldn't do this.
They would do something like detect the popups and then inject ads for additional Comcast services into them. And they would do it secretively rather than making a public announcement beforehand. And they would hassle customers to no end about switching services in protest of that behavior, whereas most browsers would just provide a checkbox for turning it off.
Comcast is in no way a victim here.
So, yeah, they've already been caught doing exactly this.
They started blocking new-window popups 15 years ago. It's a little late to put the cat back in the bag.
Comcast probably wouldn't offer this option...or if they did, they'd charge you more for it.
(And is there really a plugin for that? One that gets rid of all the junk, all the time? If so, it needs to be publicized.)
Chrome extension: https://chrome.google.com/webstore/detail/in-page-pop-up-rep...
(both for reporting such pop-ups - the blocking hasn't been implemented yet.)
That would be quite amazing, some newspaper outlets have that annoying inpage popup that nags me on disabling adblocker.
And if you dismiss it, it shows up every 5 seconds. And that's not even exaggerated. It was legit 5 seconds.
Edit: what endymi0n said in another subthread
Second, if a user installs a plugin that automatically hides or rejects cookie warnings / gdpr stuff, that's their own fault then.
There will be a few fairly simple ways to block these - probably some libraries or pieces of code reused by almost all websites employing these UX-crimes. As mentioned before, maybe the solution is to just block mousemove events.
Its all explicit opt-in/implicit opt-out instead of implicit opt-in/explicit opt-out. There are no consequences for the user if they opt-out, and it is extra-territorial in its enforcement meaning it impacts any businesses in any region handling European citizen data. GDPR seems to mean business from a regulatory standpoint.
And yeah, I agree - they mean business
[1] https://www.gdpreu.org/the-regulation/key-concepts/legitimat...
I am legitimately curious, because GDPR can be quite nuanced and I may be missing something myself.
Edit: I'm still trying to figure this one out. I just read a dozen articles about affirmative consent and almost every one recommends a clearly defined and unambiguous checkbox embedded in your form. I couldn't find any example that did a modal except for some mobile app examples but mobile apps would presumably not be effected by this change to how in-page popups work. The fact is, the browser does not passively collect enough PII without asking for it explicitly in a form so putting the consent also in the form is an easy choice.
Again, I could be missing something. I'm hoping someone more familiar with it can clarify.
The lazy approach is to have a fully client-side modal dialog that is clicked away with an "I agree", fully client-side.
You ask "How do you prove you asked for user consent", but you don't need to - you need to prove the user gave consent. And if the user has a script that automates that process, then that's good enough for you and your company IMO.
I like it.
If Mozilla really wanted to block actual popups could do so directly by directly removing the userland functionality spawns a new browser window.
This would resolve all problems with position fixed and also block the page from showing real modals once scrolling starts.
Blocking things like this is different from blocking third-party advertising in my mind. I should be able to stop my browser from contacting a third-party site.
If the author of a page wants to see a float-over then so be it. I can choose to close the tab and not come back.
And Firefox still hasn't fixed their issues with native popups: http://fan-pages.herokuapp.com (WARNING: if you use FF it may crash your browser)
btw Chrome seems to have some kind of protection against that dialog DoS. From what I've been told Firefox actually downloads the content in the background before you ever approve the dialogs (which is probably great if someone isn't popping an infinite number of them).
But an in-page popup window can be created in loads of different ways. I can't see a general heuristic you could apply to detect them.
I think it is about time we rethink the whole web to the foundations. In the meantime we can install Lynx.
Life is infinitely better now.