Like most tech bros, I’m a little too interested in productivity and optimizing my life. I’ve even made a few of my own tools to help me stay focused and efficient. In the process of trying to find and build the best productivity tools possible, I discovered common elements among all the productivity tools I found most effective.
I call such tools elastic, because of their similarities to rubber bands. And so, elastic tools
- stretch, meaning that they’re designed to allow for some leeway
- snap back, i.e. after stretching they automatically go back to their intended form
- don’t break, in the sense that you can never stretch them too far
Elastic tools are a marked improvement over standard tools, which typically
- are brittle, allowing no leeway
- don’t help you get back on track
- end up getting ditched
Inelastic Tool Examples
Freedom: gives no way of getting out of a focus session, so when I really needed to access a blocked app I would disable it, and it would take me days to re-enable it.
Blocklist: when I needed to go to a blocked site, it gave me no choice but to disable it.
I had 3 tasks in the windows task scheduler that would shut my computer down at 9, 10, and 11pm respectively in an attempt to enforce a consistent bedtime. However, when I knew I needed to get work done I would disable them, and then go to bed at 2am the days following that, until I would turn them back on.
Elastic Tool Examples
After Freedom didn’t work out for me, I switched to LockMeOut, where I could pay $2 to unlock it for the day. Unlocking for the day is a little too much for my taste, but much better than disabling it altogether.
As for Blocklist, I made my own alternative, where if you really want to go on a blocked website, you have to effectively stare at your screen for ~1 minute. After that, you can go on previously blocked websites for ~1 hour, after which it blocks the websites again. I found that a little bit of boredom is the perfect amount of deterrent.
To replace my shutdown tasks, I made my own tool to shut down my computer every 30 minutes after 9pm. If I need to do work, I can skip the next shutdown. This effectively gives me a maximum of 30 minutes to slack off after I finish working before my computer shuts down.
Things That Should Be Made Elastic
All my lights are connected to smart plugs, which I schedule to turn on at 7am (and off at 9pm) with Alexa. However, sometimes I really need to sleep in, so I adjust the schedule to turn on at 10am, but then I usually forget/am too lazy to set it back to 7am, resulting in sleeping/lying in bed too much. An elastic solution would allow me to change my wakeup time for a day, and automatically revert back to my normal schedule.
“States” on my phone, like grayscale and do not disturb would ideally be elastic too. If I needed to look at a photo or be open to phone calls for a few minutes, ideally I would turn them off, and after a set amount of time they would turn back on.
The general problem of maintaining habits is elastic in nature: you want to push people towards maintaining habits, allow them to break those habits when truly necessary, and make it easy for them to pick the habit back up.
More Elasticity, Less Breaking
If you build or have thought of building productivity tools, please make them elastic! For everyone else, hopefully now you have a framework to assess the effectiveness of potential tools.
I tried to use various things to block distracting websites, but I always ended up turning them off “for a little bit” to look at something they were blocking and, uh, “forgetting” to turn them back on.
Shape the default- the ideal situation is for doing the right action to feel like the default, so it takes no willpower
A good example of a more flexible tool is the “Focus-mode” on Adroid since version 11 or 12. You can disable certain distracting apps during certain times, but if you really need to, you can click on the icon and ask for using it for 5 minutes. After 5 minutes, it exits the app and makes my whole phone hang for a few seconds. I consider this a feature rather than a bug. It's nice to have this added friction to use apps I don't want to use often (like messaging apps during the morning).
This is a great idea, I've tried to find something like this in the past and failed, can you share yours?
Thanks! Here is the extension I made: https://chrome.google.com/webstore/detail/webblock/jeahkphmdfbddenabgndnooheiciocka
Admittedly, I copped out on the UX in a few places (motivation section, link parsing, etc...) but better to publish than wait for perfection!
Right after I published my extension, I found these similar tools:
See also https://blog.xkcd.com/2011/02/18/distraction-affliction-correction-extensio/
https://one-sec.app/ puts a 15-second delay on cell phone apps of your choosing. I only installed it two days ago, but so far so good.
You can do that using LeechBlock.
Just throwing in Cold Turkey Blocker as a pretty good tool for blocking stuff. But yeah, it lacks elasticity.
Elasticity also describes a feature that I've wanted my email inboxes to have, but never known the term for.
I would like messages to automatically archive after a certain duration, perhaps a week, if I haven't interacted with them. If a message matters, I'll read it, star/pin it, or both.
Attaining this kind of elasticity tends to be expensive, though -- one has to be aware of specifically wanting it (rather than the vaguer and more prevalent generalized dislike of an inelastic status quo), and also know what the particular elasticity is called to search usefully for whether someone has already built it, and also test+implement a potential solution or build it oneself.
Since the ROI of elasticity tends to be long-term and subtle, I often find it difficult to regard that bolus of elasticity-generating effort as worthwhile to do instead of other stuff in any particular moment, even when it'd obviously be useful in a more general sense.
I actually had that as an example in a draft, but my friends told me it didn't quite fit the mold so I deleted it :)