142 comments

[ 2.8 ms ] story [ 170 ms ] thread
Hey HN,

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.

DK

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

I really like this idea! The setup was also very easy too and honest about permissions (using Firefox). I 'enabled' Hacker News for 5 minutes so i could leave you a comment :)

Next I need this for my phone.

Yay! Honored you'd spend part of your daily limit to leave me a comment. :)

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.

I don't have a lot to add here, but an upvote didn't seem like it fully expressed how much I like this. I really like this! If you do decide to make something for iOS, I would definitely pay a few bucks for it.
You could try kiwi browser or Firefox mobile, they are compatible with some desktop extensions (not on iOS)
> for every day you stay under your limit, you'll grow your personal streak.

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[0].

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

[0]: https://addons.mozilla.org/en-US/firefox/addon/safebook/

> So this is using gamification to game gamification? Interesting.

You got it!

> There are some other interesting add-ons in this area. I'm a big fan of safebook[0].

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 really like this property:

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

I didn't know you could do it that way and I really like it as well. I'd love to implement it in my DelayWebpage firefox extension as well!
I like this a lot.

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". :)

Thanks!

I've yet to check out the OP's extension, but I've used a Firefox extension called LeechBlock before which (with some creativity) can achieve your bullet points as well. For the first I would set up one blocking profile to apply through early morning and a different profile (with the same sites) for the rest of the day; for the second LeechBlock lets you put a countdown timer in the corner of the screen so that at all times you know how much time you have left; for the third it lets you set up an "Override" which will resume blocking after a certain amount of time.

(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.)

No need to apologize! I enjoy trying other tools in this space and learning from all the different practices they use. Will check out LeechBlock — thanks!
I use Crackbook Revival (Chrome) which is similar in purpose. However instead of giving you a countdown timer (because "but 5 more minutes, mooooom") it never actually stops you from browsing, but instead slows down select sites with every page load. First loading a page is instantaneous. 100th time takes seconds which is frustrating enough to cause me to go off and do something else, but without the same anxieties that Leechblock causes.
Yay, glad you like it! I also found most tools to be too black and white. I made Intention to be the sweet middle path between blocking sites entirely and having unfettered access.

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.

Enjoy. :)

Check out Cold Turkey. It does everything you've asked for, I believe. I use it on and off.
I quit Cold Turkey cold turkey.

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.)

This is great. I think it'll fit better with the way I want to control my impulse browsing than others I've tried (StayFocused and manually editing /etc/hosts are the other mains ways I've tried). Thank you!
(comment deleted)
This is absolutely amazing, thank you so much, and also thanks for being clear about the data you are using and privacy up front. Because of this, I'm definitely up for paying you, let me know where to send my dollars.
Wow, I really appreciate that! My aspiration is to work on this sustainably full-time and expand to mobile, etc. so I do plan to eventually come up with a paid model for Intention (and would love your support when I do!). For now, it'll be free while I work out a lot of the kinks and make the product truly excellent. Thanks for your comment — really heartening to get this kind of feedback.
First look: I like this. I like that it will help raise awareness of time I waste on some sites, but that I can easily bypass it if and when I need to. I like that I can choose to have it work only on some sites.

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.

Also: any plans for making it for other apps, e.g. Steam?
I also get sucked in by depth first searches that never end.

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.

Software could totally do this. A common trick to check yourself is to set a timer for every $x minutes or so [1] and then when the timer goes off see what you are doing. Software could definitely address this problem by giving you a little popup and changing the time interval so you can't cheat it. I'm sure some os-level apps already supports this feature.

[1] 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)

Interesting perspective to discuss. I think DFS that goes on forever reveal how poorly the internet organised information. There is never any certainty you have searched all available information. The internet’s knowledge base routinely gives 4-5 semi solutions for any given problem and it’s not always clear if transforming a vaguely similar solution is going to work better than reinventing the wheel from the ground up. The internet’s search functions can’t meaningfully refine or redirect your search beyond spell check and popularity.

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.

You at least can use pocket, bookmark, or email yourself a link.
Nice job! This is great. Exactly what I've been looking for.

Have you thought about blurring the background in the modal? I find that for news sites, the modal still lets me read the headlines

Thank you!!! I've been trying to figure out a way to obscure the background without hiding it entirely (which would make the popup feel a bit too obstructive) and blurring the background is the perfect solution.

Expect to see this in an update soon!

I’ll use this as soon as there’s an override my aggressive reward system that rwmequites double or triple the amount of dopamine to reach the same satisfaction as neurotypical individuals? until then I’m a slave in the sea of my own mind, and a wiki walk is in progress.
Just want to say thanks for this. I was using Leechblock before, but it would frequently navigate away from in-progress forms while I was writing longform comments and lose work, whereas Intention offers a modal prompt to extend the period.

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!

This is fantastic :D! Thanks for building this.

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.

This is just lovely. Clean, exactly what I need, and the on-boarding/privacy experience is best-in-class. Well done.
Thanks so much! I spent a ton of time making sure that it's as privacy-oriented as possible and asks for minimal permissions, unlike most extensions in this space that ask for permissions for all sites. It doesn't make sense that a tool to help with YouTube or Twitter should also have access to your banking site and emails.

Glad you appreciate it. :)

I agree, exceptionally well done. I very much appreciated the onboarding process, especially regarding privacy. I also very much appreciate the fact that it only monitors whitelisted sites, rather than just blanket tracking everything I do.
"Mindless browsing" is just dopamine addiction, happens with phone notifications, porn and many other stimulus, a good video about it at https://www.youtube.com/watch?v=9QiE-M1LrZk
The advice I got is that you need to take a very hard look at what things in your life recharge you, and prioritize the ones that work well over the ones that are minor or neutral.

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.

(comment deleted)
You should look into Motion. https://www.inmotion.app/ It is very similar to your product.
Yup, I'm a fan of Motion, and I'm glad they're also trying to help people spend time well! It's a big problem to tackle, and given that we're up against multi-billion dollar corporations, we can use all the help we can get. Motion inspired parts of Intention's design (e.g. the default unlock duration in Intention used to be 5 minutes, but I liked how Motion defaulted to 1 minute so I changed it).

Some key differences between Intention and Motion:

Product

- 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

Privacy

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

Thank you very much! The privacy aspect was key for me, thanks for doing this right.
It looks cool, I wonder how easy it is to click away though. I notice I'm on reddit or Facebook less nowadays because the content there stopped interesting me. (Side note: Someone on reddit said the way to quit reddit is to unsubscribe from a lot of the default subreddits and subscribe to subreddits where the content don't interest you, so you would visit the whole site less and less). No one posts their personal updates on FB anymore, I visit FB to see the 2 city-related groups I live in, but the number of dumb posts/comments there make me just snigger, sigh, and leave again. My addictions nowadays are probably YouTube and this site.

I've been thinking of making an extension that loads some elements of a site slower, or fail to load the elements (e.g. reddit's Ajax-based replies). That way I would be forced to refresh to view the content. I'm convinced the more it irritates me, the more I will avoid the sites with this active.

these last 2 weeks me and my wife created a strict rule where we can't have any screens (laptops, phone, tablets) in a bedroom.

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 think what contributes the most to that bad habit is dependency on alarm clock app in our smartphones.

I need to finally buy two alarm clocks with snooze and weekly schedule.

i've been working from home for the past 10 years and for the past 10ish months i just stopped using an alarm clock. work is flexible enough that as long as i'm up before midday, i won't miss any meetings.

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 bought an alarm clock last year and its been huge for my mental health/morning routine. Now my day starts exactly how I want it. No phone. Straight to exercise.
If you have an old dumb-phone without a sim-card you can use it as an alarm instead. For me it turned out to be cheaper and better!
Should uninstall any browsers too :)
I can't seem to get it working in Firefox. I can click the icon in the top right but it just says I'm on a distracting site it does not launch the popup. Any configuration needed in Firefox?
I'm in the same boat. Doesn't seem to be doing anything.
Hm, this is a bit strange. It should work fine on Firefox, and a lot of other people on this thread seem to have no issues.

Can you share what OS you're on and other extensions you have installed?

Feel free to reply via email — my address is dk@getintention.com.

I tried on 75.0. I disabled all my extensions except yours and restarted. No luck.
Can you email me at the address above? Would like to help you get this working and happy to jump on a Zoom call to debug the issue with you.
I think I got it sorted. I tried it on 6 different computers/laptops/VMs/Ubuntu/Windows and it never worked. Then I tried Chrome and after I clicked install I was presented with a picture of (I assume) you and a "Continue" button. I had never bothered to click on that before, always going straight to the extension button in the top right corner. However, if you don't press "Continue" it doesn't request the permission it needs to work.

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.

Ah, gotcha. If I'm understanding correctly, you skipped the onboarding which is where permissions are granted so it never worked.

Thanks for finding this! Will add a check like you suggested.

I only have WebEx extension installed. I am on Win10 using Firefox 75 64bit.
I had the same experience.

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.

Now my compulsive snoozing can continue even during daytime :)
this is the exact opposite, but did anybody here ever use stumbleupon?
Consider a setting to remove the icon from the toolbar. It's too easy to right click an uninstall it.
This but an Android launcher
There are some nice "minimal" launchers out there that restrict you to essentially a phone, camera, and messaging app. It adds a hurdle to accessing the apps that are easy to waste time in.

While now 100% the same as this, I've found introducing some extra friction can go a long way in curbing unwanted behaviors

I'm looking for something that asks me what I want to do before letting me open any app on the phone. Then it could periodically ask if I have accomplished my goal. "You have been "reading hacker news" for 30 minutes, are you still "reading hacker news"? [No] [Yes- turns off phone]"
Hey this looks really helpful! I appreciate your commitment to privacy, that's a very important feature for me. Nonetheless, having been burned by Chrome extensions in the past [1], I'm worried about privacy and I'm wondering if you'd be willing to make it open source to allay those concerns.

[1] https://robertheaton.com/2018/07/02/stylish-browser-extensio...

One thing to that's good to know is that it's against Chrome store policy to make the extension code unreadable or inaccessible in any way. They will actually take it down from the store very quickly. I know this because I had a client once who wanted me to obfuscate their extension code and in about an hour it was taken down. So, if you install the extension, you can open up the source.
Hey! I totally get where you're coming from. I wrote a post exploring the privacy and security of Chrome extensions: https://www.notion.so/dkthehuman/Day-4-The-Danger-of-Chrome-...

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

To be truly open in terms of privacy, open-source + auditable open releases is the way to go.

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.

as a chrome extension, your code pretty much already is open sourced. even of obfuscated, that's just a process of replacing named vars. It is fully copy-able, bit for bit.

I don't have any fist in the fight on privacy, just thought you should know your code is already out there.

Love the idea and the execution looks great too!

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.

This looks great. I just signed up for Freedom to solve this problem because it works across devices. I'll test your extension as well to see if it does the job as effectively.
Thank you for making this! I was using StayFocusd until now. The look and feel of Intention feels so much fresher and easier to use. Also, having a lot more flexibility for blocking is a great feature. And of course privacy. Much appreciated.
This is really awesome. I really like how it has you, the user make the final call. I'm hoping long term use of this will make start to catch myself before I even type the url in. Thanks for making this extension!
This looks really good, I've been going down the rabbit hole of optimising focus and killing distractions...

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 could request one thing, it would be the ability to block a site during the scheduled time outright, and / or add a challenge of typing some awful lorem ipsum or something to unlock it for a short time.
This is awesome! My mindless browsing became so bad at one point that I made my own extension that I called "Detour". It automatically redirects you from one site to another, so if I absent-mindedly navigated to Reddit, it'd detour me to my homework to-do list. Never got around to really fleshing it out and building the types of features that would really make it useful like this. Kudos!
Too early to say for sure, but this seems to strike the sweet spot as far as nudging me towards my 'intention' without being so onerous that I simply disable it.

Thanks a bunch!

I used to use Motion but it asks me to login and shit and then doesn't even bother syncing across browsers. Waste of time. And then it slows down web pages and sticks that annoying little box on the side. My user agent has a place for you, in the toolbar. Stop rendering on top of content and then making scroll slow. Ugh.

I'll give this a shot.