
Show HN: A Firefox extension to add latency to distracting webpages - oldtapwater
https://addons.mozilla.org/en-US/firefox/addon/delaywebpage/
======
iSoron
Looks 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.

~~~
greenie_beans
I used to have this exact same fear and never downloaded any extensions bc of
that, until I started making browser extensions. Pretty much any useful
extension needs the access that prompts that generic message about accessing
all the data.

Any extension that's listed on the web stores have to be reviewed for
malicious code, and they must do what the listing say they do. So if your
browser extension has your passwords, then that extension would be considered
a password manager.

The extension probably listens to the IPs of well-known time wasting websites
like HN or reddit, then adds a latency to the browsing. Same with an ad
blocker -- they know every site you visit but only to compare them with their
blacklist of advertising IP addresses.

Of course, you have to trust they aren't doing anything else with that info,
which you can probably assume you're mostly safe if you don't need an account
to use the extension.

~~~
skipants
I believe only "recommended extensions" for Firefox are tech reviewed, which
this one is not.

[https://support.mozilla.org/en-US/kb/recommended-
extensions-...](https://support.mozilla.org/en-US/kb/recommended-extensions-
program)

~~~
pzmarzly
According to [0], Mozilla requires all extensions to have a source in human-
readable format and runs a test suite on them. They mention "code review"
there, but don't say whether it's manual or automatic. I'd love to hear about
it from someone who has some experience with the process.

[0]
[https://extensionworkshop.com/documentation/publish/submitti...](https://extensionworkshop.com/documentation/publish/submitting-
an-add-on/)

~~~
Anon1096
For my extension the review was automatic, and flags things like direct html
editing. I only have a few hundred users though, so I'm not sure at what point
they decide to do manual reviews.

------
azhenley
The 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
I read that post and wished that there was a Firefox extension but could not
find out. Glad someone made one.

------
waterbadger
Something 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
Hammerspoon 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)

------
mavsman
Love 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.

------
phantarch
This 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.

------
michalf6
There 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
I 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
This 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.

------
derefr
See also:

• Chrome's "throttling" feature:
[https://helpdeskgeek.com/networking/simulate-slow-
internet-c...](https://helpdeskgeek.com/networking/simulate-slow-internet-
connection-testing/)

• 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
Chrome's throttling is great, I didn't know about that. But it doesn't look
like it persists (across tabs, or sessions)?

------
Anaminus
This 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.

------
EternalAugust
Another 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.

------
superkuh
The 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.

------
welly
Easily 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?

~~~
gbear605
In 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
Aren't 0.0.0.0 entries ignored in /etc/hosts?

~~~
gbear605
Not on my computer, at least?

------
peterxpark
Big 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/?sr...](https://addons.mozilla.org/en-
US/firefox/addon/monastery/?src=search)

------
smnplk
When 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]

------
Nightshaxx
This is a great idea. I read the post on HN about the theory behind this and
it's so good.

------
dreeves
Brilliant! 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."

------
stevage
Would 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.

------
psychometry
[https://selfcontrolapp.com/](https://selfcontrolapp.com/) on Mac just blocks
sites outright. Supports black- and white-listing.

------
rk06
Installed it. So far so good. Forcing to wait for even 7 secs is enough for me
to start doing some work

------
kwhitefoot
It works. Not sure if I'll keep it though. It might be better to just exert a
bit more self control.

------
isodude
Added, shared. Love from first sight.

------
mcstafford
Should have called it self-punishment, or something.

[https://en.wikipedia.org/wiki/Flagellation](https://en.wikipedia.org/wiki/Flagellation)

