Habits vs. tasks
I've been learning about
org-mode tasks for Emacs. This is part of my gradual descent into Emacs and org-mode.
Org-mode supports repeated tasks. Separately, there's org-mode documentation about tracking habits. It looks like the main difference is in how the tasks repeat:
+1d: Used for tasks, to say "when this task is complete, increment the date by 1 day." For example if an overdue task were due 2019-02-01, when completed its new task would be due 2019-02-02 (even if today is 2019-02-06).
.+1d: Used for habits, to say "when this task is complete, increment the date by 1 day from today. If an overdue task were due 2019-02-01, when completed its new task would be due 2019-02-07 (if today is 2019-02-06).
++1d: Used for maybe both tasks and habits? This means "when the task is complete, loop ahead this increment until the date is in the future." For example if an overdue task were due
2019-01-26 ++1w(a Saturday), and the task were completed on 2019-02-06, Emacs would loop forward one week from 2019-01-26 (the next Saturday), see that was still in the past (2019-02-02), and therefore keep looping forward until it found the next date in the future (2019-02-09, the next Saturday after 2019-02-06).
Also for habits,
org-habits will build a graph for the times you did/didn't complete the habit.
So what is the philosophical difference between a habit and a task?
Zen habits suggests that a "true" habit is something that we just do without prompting. From that perspective, the purpose of org-mode's habits would to support the creation of habits. For example, I might want to have a task to track "do push-ups" each day, until doing push-ups becomes enough a part of my day that I don't need a reminder anymore.
I feel that another difference between a habit and a task is that habits are aspirational while tasks are outcome-oriented. That is, for a habit a significant part of its value is doing the habit rather than just the outcome from completing the particular habit. Tracking work as a "habit" suggests that I might forget to do that work sometimes, and that's a normal part of habit formation. Tasks, on the other hand, might have implications if they aren't done.
As you can see in my write-up about my execution system, I have a bunch of recurring tasks. I'm trying to figure out how these fit into org-mode: as tasks, habits, and/or checklists. In my current system I'm overwhelmed by relatively unimportant tasks. For example tomorrow I have these daily recurring items "due" at work:
- set MIT for the day
- process email inbox
- process Google Docs notes
- review blocked Jira issues
- process onenote
These tasks add some value but also they add a lot of noise and distraction to my task system. I have been feeling like I need to have one pomodoro a day to do these kinds of tasks, maybe in some kind of looping order. If I were to pick up these tasks as-is and move them into org-mode, I'm pretty sure they would show up as habits rather than tasks.
Elimination or automation?
I think I have a class of tasks, like the above examples, that could potentially be streamlined and/or automated. For example, "process email inbox" could be simpler if my email system were integrated with my task system (e.g. by checking email in Emacs and using
org-capture) for work I need to do). Or, for "process onenote," if I didn't use OneNote then I wouldn't need to review it. Or, for "review blocked Jira issues," I could have a push notification for stuck Jira issues, such as a report, rather than having to pull them.