8 ms·
Show HN: A Firefox extension to add latency to distracting webpages
- dreeves 7y agoBrilliant! As far as I know, this idea was first proposed by Randall Munroe in the hovertext of https://xkcd.com/862/ https://xkcd.com/862/ (2011-02-18): "After years of trying various methods, I broke this habit by pitting my impatience against my laziness. I decoupled the action and the neurological reward by setting up a simple 30-second delay I had to wait through, in which I couldn't do anything else, before any new page or chat client would load (and only allowed one to run at once). The urge to check all those sites magically vanished -- and my 'productive' computer use was unaffected."
- isodude 7y agoAdded, shared. Love from first sight.
- mavsman 7y agoLove this idea. It would be interesting to see what different ways (AI) you could predict that a site is distracting based on personal and wide-spread usage habits. Some advanced method that doesn't require a user generated whitelist would be the next level for this.
- Nightshaxx 7y agoThis is a great idea. I read the post on HN about the theory behind this and it's so good.
- michalf6 7y agoThere is also Leechblock which contains the same functionality along with blocking and some in-depth config. But this may be a cool solution for someone who only cares about the latency part.
- citizenkeen 7y agoI tried Leechblock, and found it unusable (on my Android phone). It broke my back bar, and often wouldn't follow through links (instead taking me to where I already was).
- CJefferson 7y agoThis is really nice! It would be nice (from my experience) to make the delay variable - - this stops people "Learning" ways of avoiding the always fixed length delay.
- welly 7y agoEasily disabled if you find it annoying. And if you're self disciplined enough to not turn it off, surely you're self disciplined enough to curb your browsing habits?
- AceJohnny2 7y agoStayFocusd had the nice feature that you couldn't change its settings for the current day. The only way to get around it was disabling/uninstalling the extension. The behavior curve is interesting. It is for me now practically an autonomous unconscious behavior to open Reddit or HN. StayFocusd would figuratively provide the "slap" to make me consciously realize what I was doing, so going through the steps of disabling it was a conscious, deliberate decision, which was enough to prevent that from happening.
- isodude 7y agoNot really. This sort of thing is really helpful. It's not that I am not disciplined, but rather that I need a reminder to keep myself disciplined when I surf on the web. A small reminder.. it's easy to end up in scrolling mode.
- gbear605 7y agoIn my /etc/hosts file, I redirect distracting websites to 0.0.0.0 to block them. There's nothing stopping me from enabling a website beyond the effort to type in sudo vim /etc/hosts, but yet I now spend a lot less time on those websites. Human psychology is funny that way.
- pwdisswordfish2 7y agoAren't 0.0.0.0 entries ignored in /etc/hosts?
- gbear605 7y agoNot on my computer, at least?
- azhenley 7y agoThe relevant post from a day ago: I Add 3-25 Seconds of Latency to Every Site I Visit. https://news.ycombinator.com/item?id=22319383 https://news.ycombinator.com/item?id=22319383
- Ottolay 7y agoI read that post and wished that there was a Firefox extension but could not find out. Glad someone made one.
- kwhitefoot 7y agoIt works. Not sure if I'll keep it though. It might be better to just exert a bit more self control.
- mcstafford 7y agoShould have called it self-punishment, or something. https://en.wikipedia.org/wiki/Flagellation https://en.wikipedia.org/wiki/Flagellation
- iSoron 7y agoLooks like an interesting extension, but unfortunately I would never install it given that "this add-on can access data for all your websites". As far as I am aware, this means it can read and record all data in all websites I visit (including emails, banks, etc) and record everything I type anywhere (including usernames and passwords). Even if the extension's source code is available on GitHub, there is no guarantee that the code hosted at addons.mozilla.org corresponds to the same one found on GitHub; and even if I (or someone else) could verify that the code is indeed the same, and that there is nothing malicious in it right now, there is no guarantee this will still be the case in future (silent) updates. To be clear, this is more of a criticism to Mozilla Firefox's security model, not to this particular extension.
- amenod 7y agoFTFY: To be clear, this is more a criticism of _every browser's_ security model,... I do agree with you though. What is surprising is that technically, this should be fairly easy to solve: - own the CI system (to make sure the sources match the built versions) - make sources (the ones that went into build) clearly visible - disable silent updates
- iSoron 7y agoThis is exactly the approach taken by F-Droid (for Android apps). All apps available on F-Droid have been automatically built from a publicly available repository, and you can either download the binary (APK) or the source tarball that they used to produce it. Updates are manual.
- seanwilson 7y agoThe solution should surely involve more granular permissions? I'm assuming this permission has no need to read the body of network responses, inject anything into the responses, read cookies etc. However, it probably has no option than to request the "read and change all network data" permission because there is nothing weaker that will let it do what it needs to do. Making sources available isn't a scalable option to help with this in my opinion. Who is going to be doing thorough security audits of every extension + every update?
- psychometry 7y agohttps://selfcontrolapp.com/ https://selfcontrolapp.com/ on Mac just blocks sites outright. Supports black- and white-listing.
- waterbadger 7y agoSomething I started messing around with: add a global stylesheet with the rule body { filter: grayscale(100%); } (only gotcha is position: fixed; elements breaking in Firefox?) It feels a lot easier to focus on what I'm reading and to not be sucked in or distracted by websites. I bet psychologically color activates reward systems that may not be as healthy for digital content. I actually liked it so much that I used accessibility options to make my entire computer and phone grayscale. So far it's great! Also has better performance than a CSS filter for stuff like video.
- waterbadger 7y agoHammerspoon shortcut to toggle grayscale & color (applescript not mine, borrowed from https://github.com/shavidzet/osa-grayscale https://github.com/shavidzet/osa-grayscale) hs.hotkey.bind({"cmd", "ctrl", "alt"}, "c", function() hs.osascript.applescript([[ tell application "System Preferences" reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess" end tell tell application "System Events" to tell process "System Preferences" repeat while not (exists of checkbox "Use grayscale" of group 1 of window "Accessibility") delay 0.1 end repeat set theCheckbox to checkbox "Use grayscale" of group 1 of window "Accessibility" tell theCheckbox # If the checkbox is not checked, check it to turn grayscale on if not (its value as boolean) then set checked to true click theCheckbox else # else turn grayscale off set checked to false click theCheckbox end if end tell end tell tell application "System Preferences" quit end tell ]]) end)
- superkuh 7y agoThe best extension to do this is to run NoScript in temp whitelist only mode. Every time you visit a crappy website with lots of JS domains that load JS domains that load JS domains you'll have to spend 20 seconds load and reloading the page till you get it to work. If at all. It thoroughly discourages visiting these bad websites. But good websites (ie, not web apps) will load instantly and unimpeaded. And as a side effect you're protected from most browser exploits since the vast majority require executing JS.
- derefr 7y agoSee also: • Chrome's "throttling" feature: https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/ https://helpdeskgeek.com/networking/simulate-slow-internet-c... • Whole-computer "make my network stack worse" utilities: • • macOS's Network Link Conditioner: https://nshipster.com/network-link-conditioner/ https://nshipster.com/network-link-conditioner/ • • clumsy (for Windows): http://jagt.github.io/clumsy/index.html http://jagt.github.io/clumsy/index.html • • dummynet (for Linux): http://info.iet.unipi.it/~luigi/dummynet/ http://info.iet.unipi.it/~luigi/dummynet/ • A naughty SOCKS5 proxy (multiplatform): https://github.com/Shopify/toxiproxy https://github.com/Shopify/toxiproxy
- andai 7y agoChrome's throttling is great, I didn't know about that. But it doesn't look like it persists (across tabs, or sessions)?
- smnplk 7y agoWhen I want to get stuff done, I just "block" sites in my hosts file, by pointing them to localhost. I even wrote a small bash utility [1] for that, so it's easy to undo changes in /etc/hosts https://github.com/smnplk/hosta https://github.com/smnplk/hosta [1]
- phantarch 7y agoThis and the post yesterday about adding latency to websites reaffirms an idea I've been thinking about lately - adding friction back into digital processes helps break some of the addictive power they have. Imagine if you had to use a printer to print out your facebook feed when you wanted to see it. Then, in order to interact, you had to write on that paper the comments, likes, etc. that you wanted to transmit and scan it back into the system. That mode of interaction seems "primitive" compared to the way we use things on our phones, but I think carries with it a lot of nice advantages like introducing time buffers for your mind to catch up to your impulses.
- peterxpark 7y agoBig fan of adding friction to my electronic devices. I have a bunch of Firefox extensions to grey scale, automatically block images and videos, and add a 30 second delay timer for districting websites. I use the poorly named extension Monastery for the delay timer. https://addons.mozilla.org/en-US/firefox/addon/monastery/?src=search https://addons.mozilla.org/en-US/firefox/addon/monastery/?sr...
- EternalAugust 7y agoAnother pro tip for managing distractions: use uBlock Origin to block distracting elements on web pages. Ever since I removed the comments section, the recommended videos, and the home button on YouTube I have felt much more in control of my browsing habits there.
- stevage 7y agoWould it be possible to make an extension that simply makes everything on a given domain load slowly? I would find that more effective, because I wouldn't be constantly reminded of the arbitrariness of the delay.
- Anaminus 7y agoThis sort of thing has never worked for me. It's like the snooze button on an alarm clock; instead of hitting this relatively large button, even my half-asleep brain will precisely locate the off switch every single time. I've found greater success in just observing my impulses. While I'm working, I might get a desire to type the "hn" keyword into my URL bar (guess where it goes). But because I've noticed this before it happened, I can choose to not do it. If I find myself "idling" on such distractions without realizing, then that means it's time to do something else. Get back to work. Take a break and relax. Get off the screen entirely. Anything else, just don't idle. This seems to get easier with practice.
- rk06 7y agoInstalled it. So far so good. Forcing to wait for even 7 secs is enough for me to start doing some work