SoftBlock Chrome Extension

Distractions are everywhere and your favourite time-sinks - Hello Reddit and Hacker News! - are often just a click away while working on a computer.

This was happening a bit too often to me, so I decided to try a website blocker. I tried a few Chrome extensions like Block site and Website Blocker. Both have a ton of options: you can have a whitelist or blacklist, pick specific schedules for when it should be blocking (only from 9 to 5, for example) and so on.

Unfortunately I don't really have a strict 9 to 5 schedule, so I ended up disabling the plugin while I was taking a break and then forgetting to enable it again when I started working again. I'd prefer some sort of soft block that simply reminds me that I shouldn't be visiting that site while working, but still allows me to visit it if I really want to.

I couldn't find anything that fit my needs (I probably didn't search very well), so I did as anyone would do and created my own Chrome Extension.

This would be my first Chrome Extension so there was a learning phase. But since it's basically all just HTML and JavaScript it only took me a couple of hours to create. These were some of the useful resources, all provided by Chrome itself:

I ended up with a really basic plugin called SoftBlock that doesn't have a ton of options but fits my needs perfectly, for now. There's a really simple options page where you can define the websites to block:

SoftBlock Options

Going to one of these websites then brings up the following page, instead of the actual website:

SoftBlock

You can now decide for yourself if you want to go there anyway (when you're on a break or need it for actual work) and for how long (5, 15, 30 or 60 minutes). Clicking on Let me in! will then take you to the page you wanted to go and ignore SoftBlock for the time you specified.

Once your time is up the SoftBlock will appear again and remind you to get back to work or consciously decide to spend some more time there.

Anyone interested in the extension can find it in the Chrome Web Store and on GitHub.