I've been working on a Chrome/Firefox extension called Intention to help me stay focused and not get distracted, and for me and my friends, we've found it more effective than other tools we've tried.
The idea behind it is extremely simple: Commit to a time limit before using a distracting site.
This prevents the two most common ways that we get sucked into distractions online:
1. Habitual navigation: Throughout the day, we reflexively type t/f/r <enter> and immediately start scrolling through Twitter / Facebook / Reddit / etc. Intention stops you before you start browsing and gives you the opportunity to decide not to get sucked in.
2. Mindless browsing: Our willpower is no match for the endless stream of personalized content optimized to keep our attention for as long as possible. Intention pauses your browsing after your intended time limit and restores your focus.
You can set a daily limit to know how much time you've spent across all distracting sites, and for every day you stay under your limit, you'll grow your personal streak.
I designed Intention with privacy as a core priority, and here's what that means:
- Intention requests access only to the sites you select, not all sites.
- Intention gives you full control over the data you share.
- Your browsing history stays in your browser and is never transmitted.
Intention is part of a suite of tools I'm developing to help people spend their time well, and I'd love to hear your feedback.
P.S. If you'd like to read about the process behind developing Intention, I've been publicly writing a daily journal at https://roadtoramen.com
What I've found that:
- No breaks is bad.
- It is even worse when a 10 min break turns out to be a 2h rabbit hole.
But most of the current software does not address that. For example:
- I use social media after midnight, and it does not stop me then but cuts the limit for the next day.
- There is a nasty surprise when an app kicks me out, with no warning. So nasty (especially when I am in the middle of writing a long comment) that it may prompt be to uninstall it.
- To strict limits. Sometimes I know that a given day I need more social media.
In your case, it solves all. Also, I see that the timer is at 23 sec, so I click "reply". :)
(Sorry if this is distracting from the OP, I aim not to shill but to help more people make use of productivity tools in this era of endless distraction.)
I can definitely relate to the unpleasantness of getting kicked out with no warning, so I included intelligent logic in Intention that handles cases gracefully. For example, on YouTube, it'll pause the current video when the lock activates but it won't pause the video if it's in a background tab so people can listen to music. Hopefully, you won't even notice these things and everything will Just Work.
It is the opposite.
- Limits are strict (so even if I write a super-important event announcement on FB, and get kicked out, that's it).
- I don't see any timer. (It needs to be visible constantly, not whenever I check.)
> Intention requests access only to the sites you select, not all sites.
Very few add-ons implement it (talking about Firefox) but it makes the add-on much more trustworthy.
Next I need this for my phone.
Intention actually works on Firefox for Android so you can use it on Android today! Planning to build something special for iOS (the OS limitations make it challenging) in the future.
And while it'd be cool to have an addon that made me check in on, you know, are you still trying to figure out that statistics problem you were looking at or are you relearning linear algebra instead...
Firefox doesn't seem to have a reading list, at least not out of the box, and I don't end up using it on Mobile Safari anyway. Having a way to 'get out' of a loop by saving it for later, and ideally have them randomly show up on the landing page I think would help me, possibly others.
Organising scattered forum posts and exhaustive api documentation into centralized and vetted problem solving tracks would be the next conceptual step for reducing search uncertainty in the face of infinite streams of posted information. There must be a better way of tackling the infinity of knowledge beyond string searches and documentation trees.
 How long the timer is depends on yourself, i.e. how much data you want and badly you need to keep focused (tends toward shorter timer) vs. how much you pay every time the alarm sounds and you need to mental check yourself, causing a loss of focus and context switch (tends to longer timers)
Also appreciate that it only requires access to the sites I'm blocking.
Some stats I'd like to see on the prompt would be: how many times this hour/day/week/month I've extended the unlock period. This would help me nudge myself to stop doing it.
Good luck and never sell out!
So this is using gamification to game gamification? Interesting.
> immediately start scrolling through [...] Facebook
There are some other interesting add-ons in this area. I'm a big fan of safebook.
> - Your browsing history stays in your browser and is never transmitted.
That sentence worries me. If I told you "I haven't stolen anything from your living room," you'd probably start to think what other room I'd looted.
You got it!
> There are some other interesting add-ons in this area. I'm a big fan of safebook.
Oh, safebook does look interesting. Do you ever turn it off to look at real content or simply use it as a blocker?
> That sentence worries me. If I told you "I haven't stolen anything from your living room," you'd probably start to think what other room I'd looted.
Yeah, I want to be super clear about how I handle user data, especially since Chrome extensions can often be pretty sketchy and scary: (from my blog: https://www.notion.so/dkthehuman/Day-4-The-Danger-of-Chrome-...). I decided to be explicit about it even though there's the downside you pointed out.
I've tried to use other somewhat similar extensions or tools in the past but removed them as they often "got in the way" of what I needed to do. Right now, this seems to be just right for me.
Thanks for doing this.
Normally, I immediately delete any unsolicited emails. However, if you want beta testers for any other creation, feel free to email me (username at gmail) mentioning that you created intention. I promise to have a look at what you create and to give you some feedback.
Have you thought about blurring the background in the modal? I find that for news sites, the modal still lets me read the headlines
Expect to see this in an update soon!
On my iphone I have found myself mindlessly clicking the "add 15 minutes" of screen time and typing in my 4 digit code so often that it is now just muscle memory to do so. Yes, I have no self control.
Could you add a feature so you have to type in a pin to continue BUT the number pad is in a random order, to break up muscle memory? Or randomly re-arrange the add 1,5,15 min buttons? Or a math problem?
For you I would recommend the book: The Willpower Instinct by Kelly McGonigal. (audiobook is also well narrated)
It's well written and full of great methods for gaining your self control back.
Now what I have practised is being mindful of my actions, and treat the time when I work, study as time without youtube videos, without writing long HN posts and so on.
It's a lot harder than having some app to ping you to stop browsing. But I think it's what works better in the long run. You choose the time when you work, say a couple of hours, then take a break. No mindless browsing in between. Or well actually what has worked best for me is to have no mindless browsing at all during the best part of the day, since the feedback loop is too strong when you get accustomed to looking "just one more video".
But I'm curious to try this out. We'll see. But I'm sceptical.
I'd love to open source Intention like I've done with a ton of previous projects (http://github.com/dkthehuman/), but since it's a Chrome extension, that'd make it trivial for anyone to copy. Given that I'd like to eventually develop a paid plan and make working on this full-time financially sustainable, I hope you can understand why open sourcing doesn't seem like a viable option.
I'm brainstorming ways to make the extension as transparent as possible (e.g. if I ever decide to include analytics, (1) providing an opt-out and (2) a way to view all the information that's transmitted in a human-readable way), but at the heart of it, using Intention will require some trust in my integrity and care as a developer. I'm also hoping that writing about my decision-making process publicly in my journal (https://roadtoramen.com) will provide transparency and help develop that trust. If you ever see me going astray or not thinking clearly, please keep me accountable!
If it helps, here are some of the things I've written about privacy (I think about this quite a bit):
- My privacy principles: https://www.notion.so/dkthehuman/Day-97-Privacy-Principles-5...
- Privacy gut checks: https://www.notion.so/dkthehuman/Day-86-Privacy-Gut-Checks-0...
- Exploring whether I should include analytics: https://www.notion.so/dkthehuman/Day-45-Should-I-include-ana...
I'd recommend a free extension with a paid plan which has additional features. Provide the basics in the free version and the really good stuff in the paid version.
If source code is the same and it's just feature flagged based on a ping to a server to validate a license key, then it'd be indeed easy to copy the paid features in another extension. To a large extent you'd be relying on the web store moderation a copy to not be published and to tech-savvy users to not install it locally.
However, that approach could ensure a wider reach of users so the share of the paying ones to be big enough in absolute numbers.
Marketing the extension to non-developer audience would help reduce the chance of manual installation.
The biggest difference would be that the developer audience could contribute to the open-source code and you'd be making money from those contributions. I don't think the income from that alone would be enough to support you in the short-term, but in the long-term with good expansion with other products, that could prove to be a very strong passive income.
I don't have any fist in the fight on privacy, just thought you should know your code is already out there.
Glad you appreciate it. :)
As a feature request, I would love to be able to restrict my time spent on websites I arrive at _from_ e.g. HackerNews, not just _on_ HackerNews itself.
Some key differences between Intention and Motion:
- Intention lets you set a daily limit so that you're encouraged to limit your distracted browsing.
- To calculate remaining time, Intention uses active time (time actually spent on a site), not clock time (time passed since you unlocked a site).
- Intention displays its timer in the browser toolbar instead of directly on the page, which can block UI elements
- Intention only requests access to the sites you select, not all sites.
- Intention gives users full control over what data they share. Right now, Intention includes only crash reporting (no analytics or tracking), and you can disable even that inside the settings.
now we don't browse while laying in bed in the morning or at night. this simple change cutdown on my addiction even when out of my bed room.
When we go to our bedroom at night we know it means bed time, its a mental change.
Also, at first you'll feel an urge to look at your phone at night, but it goes away.
I need to finally buy two alarm clocks with snooze and weekly schedule.
it has been such a pleasure to wake up when my body tells me it's time to wake up!
also, i found that after giving up alarm clocks, i'm waking up between 7:30~8am naturally which is perfect.
I find myself caught in the y/t/f <enter> loop all the time. I use a site blocker, but if I do want to visit a site, I end up turning off the blocker and forgetting to re-enable it. This seems like much a better solution that allows me access to the sites I need, but ensures I don't get lost in them, and tracks my usage.
I am seriously so pumped about this, funny that I needed to visit one of my blacklist sites (hacker news) in order to find this. Please keep us posted with updates (settings page of the app?), if I continue to use this I'd be happy to pay for it in the future.
One thing I'd love to be able to do right now is whitelist certain times in the middle of the day. For example, lunch. Punching in 30 mins on a site is an easy fix, but it'd be nice if that were built in.
Once I get through the incoming bugs, I'll spend some time thinking about what options to provide in Intention while making sure that the product stays simple. Appreciate the kind words!
Ability to start a focus session for 30m, 1h, 2h etc. in addition to having the schedule. E.g. by default my schedule allows browsing reddit on the weekend, but if I need to get something done on Sunday I can get click the focus button. Or disable schedule and use it only in focus sessions. For now I can only either change the schedule constantly or disable/enable the extension. A simple "Focus" button would solve those 2 cases.
The focus mode could even countdown the focus time with a different colour.
This would replace RescueTime for me and I've been a paid user for years.
- It even offers you summaries of links before you click them where available.
- Blocks cookie notices.
- Hides Facebook/YouTube feed.
- 1st party tracking resistance (deletes cookies on every page load for websites that you're not signed in to)
- Website blocking
The upcoming version even has in page reader mode so you dont leave the page (video in tweet): https://twitter.com/BaitblockApp/status/1252623683266494464
https://chrome.google.com/webstore/detail/baitblock-distract... - for chrome
https://addons.mozilla.org/en-US/firefox/addon/baitblock - for firefox
On this topic, another add-on I have found to be fairly helpful is called "Pluckeye" . At its base level, it simply blocks all images and video from your browser. You can customize it by adding/removing websites from the blacklist, and is fairly robust to occasional cravings by having a delay on changes to the blacklist that allow a website. The only downside is that most websites now look broken, but I've found that I don't really miss being bombarded by the colorful graphics on websites.
I think there is significant work to be done on making these tools more widely known, but I'm happy with the progress being made. Good job, again!
Your initial list will contain a bunch of things that are really just playing for time. They don't recharge you, they just keep you still long enough for you to recuperate a little bit.
One of my big ones is naps, but I'm still wrestling with the idea that going to sleep is an activity instead of the absence of (nearly) all activity.
Is there any chance we could get it to make a rest API call on certain actions? I'd like to change my lights in home assistant as an added visual reinforcement.
If I mindlessly type youtube.com in and hit a error I immediately realize I did that mindlessly and get back to work. I've been doing this for a while and it has worked every time.
One thing that would be nice to see would be a way to track the referring site - for HN or Reddit it would be easy to go in for a minute, open a ton of tabs, then waste hours. Having the tabs count against the timer for the originating site would help
Recently I blogged how I make my twitter password really hard to recover through heavy, repeated hashing, which has helped mindless social media browsing
I'll give this a shot.
I'm the kind of person who will just keep selecting to view a bit longer so it wouldn't work for me (I need more rigid restrictions on things like Freedom and actual physical locks) but I'm super happy to see new approaches to this kind of thing emerge.
I think that it forces me to take a moment to stop and answer the question, "Do you really want to spend time on this?" before continuing is going to be quite powerful.
Can you share what OS you're on and other extensions you have installed?
Feel free to reply via email — my address is firstname.lastname@example.org.
I don't know if this is possible, but it might make sense to check that tab permission again (for example, when the user tries to block a site).
Hopefully that makes sense. Let me know if you need further clarification.
Thanks for finding this! Will add a check like you suggested.
I clicked the continue button, but in the following screen clicking the "grant permission" button didn't do anything.
I uninstalled and reinstalled the extension, same thing. But this time resizing or moving the browser window showed the Firefox Addon prompt that should have been shown previously, but not long enough for clicking it. I was using Firefox under Wayland.
I tried a third time, now using Firefox under XWayland, and this time the prompt was correctly shown.
Thanks a bunch!
I also love DK's other extention, hidefeed.com, which I use for sites like LinkedIn where i need to go to do work, but don't want to get sucked into the newsfeed.
While now 100% the same as this, I've found introducing some extra friction can go a long way in curbing unwanted behaviors