Back to writing

[life] [introspection]


    Table of contents
  1. Introduction
  2. Homework
  3. All habits
  4. My habits

Introduction (§)

Over the past two years I have become aware of what I now feel is the most important element of habit formation: friction. Recognizing friction has helped me to understand my current habits and form new ones.

I think that all habits can essentially be boiled down into two ingredients:

More potently, I think we can expect that we will always pick the action which has the best ratio of value/friction.

Homework (§)

Take homework for example. You're supposed to be doing homework, but getting distracted on the internet is sooo tempting. Let's make a chart:

Sure, homework is important. It gives you value in the form of a grade which is important to the rest of your schooling. It's certainly much more important than lazily scrolling the internet. But boy does it have a lot of friction. Maybe it's boring and difficult. Maybe it's math homework with 50 of the same kind of problem that you're sick of doing. Maybe it's an essay on a topic you don't care about and you can't think of anything to write. Procrastinating on the other hand is easy, and in the age of notifications the internet is more than willing to come to you. The ratio of value/friction leans heavily in favor of the internet. I for one have always been a procrastinator.

As the deadline approaches, the homework starts to gain more value — on top of the grade you have "avoiding the shame of not turning anything in", "avoiding the embarrassment of being called on in class and not having an answer", "avoiding a slippery slope trend of not doing my work". If these are enough, the homework will finally get the better ratio and you'll do it. If they're not, well... I assume we've all skipped assignments before. Students who regularly skip homework either aren't finding it to be valuable enough or have too many alternatives with lower friction (or have extenuating circumstances at home, I apologize if that's the case).

So what to do? Clearly I believe that the value of a task can change, but in my experience I don't have much control over it. Short of realizing some benefit that I genuinely didn't know was there, I find value to be generally outside of my control and impossible to give actionable advice for. Just, like, think about how important it is. Just tell yourself to do it. Great thanks. That leaves the other variable: friction.

If you want to build a habit, you should reduce the friction of that habit or increase the friction of the alternatives.

To continue the homework example, you can increase the friction of internet distractions by putting your cell phone or computer physically far away from you, or study in a room that's far from them — make it so that in order to look at your phone you would have to intentionally get up and do so. At any rate this will certainly stop notifications from stealing you. If your homework requires the computer, try disabling wifi after loading up any webpages that you absolutely need.

Decreasing the friction of homework is not always easy. Try splitting the assignment into multiple parts so that no individual part feels so daunting. For an essay, separate gathering sources, writing your outline, and filling in the body, for example. Anyway I tend to find that once I'm working I'm more willing to continue, so the only thing that matters is reducing the perceived friction at the very beginning.

I'm not in school any more, but when I had essays to write I got into the habit of loading up MS Word, writing my name on the page, and leaving it on my taskbar. It would remain otherwise blank for another two or three days in some cases, but it made me feel happy that I had at least "started", provided a constant reminder to work on it, and reduced the friction of switching into work mode down to a single click. Check out Will Schoder's video The Closure Effect about the Zeigarnik Effect / open loops / closure. Will's channel is great and I encourage you to watch the rest of it. After you do your homework.

All habits (§)

Sorry for talking about homework so much. I think it demonstrates my point in a way that we've all experienced regardless of age or expertise. But make no mistake — I think we can apply this to everything:

Brushing your teeth prevents you from losing them, and only takes a few minutes out of your day.

Eating healthy is ideal, but unhealthy foods are numerous, cheap [1], and tasty [2].

Those of you who drink coffee have probably reduced the friction for yourself by setting up automatic morning brews or writing terminal programs to start the machine at a distance. Some people use Keurig-style machines at home, and I think the plastic waste is higher than necessary, but clearly they bring the friction way down.

Programmers know that writing documentation tends to be low on the priority list. Conveniently, just today there were several posts on hackernews about writing documentation in Markdown (one, two, three). Some argue that other formats like AsciiDoc or rst are more powerful (higher value), which is hard to deny, but clearly the value/friction of Markdown has yet to be defeated.

Starting an exercise routine when you don't currently have one is hard. I know because I don't currently have one. I think that most people, once they get themselves to start, find that the value is higher than they expected (beyond fitness, there's sleep quality, stress relief, better appetite) and the friction is lower than they expected (being a little sore isn't the end of the world, you only need to spend a few minutes each day). Probably my biggest source of friction in starting to exercise is confronting the current state of my fitness. As long as I simply don't try, I can imagine my abilities to be as high as I want.

I encourage you to examine the habits in your life, especially the ones you want to get rid of and the ones you want to form. Ask yourself about the value they provide to you, and the sources of friction. Understand that the brain will want to do the things with the fewest steps, the smallest distance, the least lifting.

[1] Meal prepping, buying enough ingredients to make many meals, can bring the per-meal cost down. A singular search found me this Harvard article suggesting that it's still $1.50/day ≈ $45/month more expensive. I imagine this has an air of Vimes's boots to it especially for e.g. overworked single parents, however.

[2] I typically hear healthy eaters say that junk food tastes bad to them now. That helps if you're already there! Trusting this can give you confidence (thus value), but taste is undoubtedly a source of friction.

My habits (§)

Class is dismissed, you're free to go, but this last portion is for how I have identified value/friction in my own life.

I've never liked using planners or calendars. Partly because having to get a physical thing out of my backpack, and flip to today's date, and not remembering my tasks any time I didn't have it with me was too much burden. And partly because there are some tasks that don't need to have a dated deadline, like finding some movie I heard about and want to watch. During college I started using checklists on my phone [3]. Prior to that I rarely used any written tasks and just remembered everything. I've got one list for things that have due dates, ordered by soonest due first, and another list for things without due dates, ordered by most-recently-created first since those ideas will be freshest in my mind and easiest to start. Of course, that list continues to grow faster than I clear it, but scrolling through completed tasks shows I've done quite a lot. Adding emoji helps visually categorize tasks. Meanwhile, there are people who enjoy writing on physical journals so much that that's the better habit for them.

I have been using Anki to keep up on Korean vocabulary for about one year now. I've learned that the best time to do my cards is immediately after I wake up, while I'm still in bed. Not only are my scores highest at this time, but I'm most likely to get the whole day's cards done in a single session. There is no 'second best' time of day to do my cards — if I don't do it in the morning in bed, it's a crapshoot as to when I'll get around to them during the day, usually it takes multiple small sessions, sometimes I don't finish until 1 AM, sometimes I don't finish at all and do extra the next day. I only do about 30 minutes each day so it's not even a big undertaking, but once I'm out of bed I've got too many distractions and friction to get around to Anki.

Learning Korean requires spending a lot of time listening to it. Certainly the long-term value of learning the language is very high for me, but on a day-to-day basis the value of any individual listening session is hard to measure. I can't feel my improvement on such a short timescale, so individual listenings are unfortunately of somewhat low value. Thus it's necessary to reduce my friction as much as possible. That means keeping the tracks on my phone, using Musicolet which gives me a queue (not playlist!) dedicated to Korean, and putting the Musicolet widget on my home screen so I've got a play button right there. I mentioned this in Are children better at learning languages. My current source of friction is earbuds, I wish I could just have it beamed into my brain with no mortal coils to speak of. Those true-wireless bluetooth earbuds seem promising but then you've got the friction of charging them and my experience with bluetooth sound quality hasn't been great, though that might just be from low-quality devices. It would also be nice if Musicolet had widgets for playing particular queues, because the widget now only shows the current queue and you have to open the app to switch them. The next time I get a new phone I think I'll keep this one as a dedicated Korean device with 24/7 airplane mode to save battery and a play button right on the lock screen.

I wrote to check the number of changed files and unpushed commits in each of my important git repositories. The cwd doesn't matter, it always shows me a complete list. I have a tendency to make small or experimental changes that I forget about and go unpushed for a long time. gitcheckup helps me keep my repositories in a clean state by showing me empty checkboxes (the horror!) next to what needs attention [4].

I have a digitizer / drawing tablet that I like to use as a mouse even when I'm not doing any graphics work. It's fun to use and helps me prevent wrist strain from using a regular mouse too long. But when using the tablet, accurately double-clicking is a little harder, and switching from clicking to typing requires dropping the pen in its holder, so there is a bit more friction to using the tablet as a mouse replacement and I'll often instinctively reach for the regular mouse instead. So, I'll occasionally toss my regular mouse to the other side of my desk as a way of forcing the use of the tablet.

[3] Originally I was using the built-in tasks app on my phone which is an LG, but it didn't sync with my computer. Currently I'm using Microsoft's To Do. I am relegating this to a footnote instead of inlining it because I don't actually think it's the greatest option in this space and it lacks many features I want. Like you can print, physically-on-paper print a list but can't export it to json or anything. I just picked it because it's free without ads or premium, isn't totally terrible, and isn't Google, criteria which I find difficult to satisfy on Android. It's made by MS though which isn't great either. Sorry for rambling, I'm battling between my feelings that I should share my current solutions in this article versus my disdain for advertising especially a non-open application by MS.

[4] This is a good example of tasks that don't go on my regular checklist — it's too dynamic and would be too prone to falling out of sync. I strongly believe in letting the current state of the filesystem act as its own 'checklist' so long as you remove the friction of querying it, that is by writing scripts when necessary. Same goes for my downloads folder, which is perpetually non-empty but I don't need to write "organize downloads" on my checklist because the downloads folder is already it's own checklist — what's there needs to be organized and what's not doesn't. Occasionally I will add a "[tag]" to a filename that needs later re-processing so that by searching my disk with Voidtools Everything, poof, there's a checklist.

View this document's history

Contact me:

If you would like to subscribe for more, add this to your RSS reader: