Org-mode Workflow Part 1: Capturing in the Inbox)
There are many to-do lists that don’t include processing as part of the workflow. These workflows use a simple checklist, and one would check off items as they do them. Why would David Allen (and I) recommend having processing as a separate step?
When you’ve taken every open loop, and dump it onto a piece of paper, you may be surprised to see that you have many more to-do items than you expected. I suspect that those with few items on their checklist are holding less (or more) important tasks in the recesses of their mind, possibly a sign of distrust in their capture system. Either way, not ideal. Coincidentally, the benefits of having a separate processing step become obvious when the number of items on your checklist grows huge.
Faced with many tasks, how do you then pick the right task to do first? You’d have to glance through the whole list, and pick the task you think is best at the time. What you’re subconsciously doing here is mentally processing all these items.
This is why I (and David Allen) recommend extracting this processing step out. We subconsciously do it anyway, why not make this step explicit, and do this step only once per task?
Processing is all about:
To make tasks actionable, David Allen recommends using verbs to preface all to-do items during this step. I skip this because in my line of work the actions are pretty obvious. For example, if the inbox item was a link, the action would be to read through the linked item. However, if the captured inbox item is a large task that can be broken down into smaller tasks, I may delete the task and replace them with smaller tasks.
Next, what kind of context helps me decide on what to work on next? Some useful context cues are:
Perhaps more contextual information can be added, but I find that these 5 are sufficient for my needs.
This is highly subjective, but I find that this is a task I can do without deep thinking. Hence, I find myself processing my inbox when taking breaks from deep work, but more often than not in the morning and night when I am starting or ending my day.
Typically the first thing I do when I process my inbox is to schedule the task, or add a deadline to a task, where necessary. Allow me to explain a little on their significance.
A scheduled task is a task that I absolutely have to do on that specific day, on that specific time. Such tasks include appointments (with friends, or the doctor), and often appear on the calendar. Most often, I transfer these tasks to Google Calendar, and use org-gcal to make the items visible in my birds-eye view. Your calendar is sacred! Do not make the mistake of scheduling tasks that do not absolutely have to be done on that time.
There are, however, tasks that have to be done by some time. Common examples of such tasks include homework, or bill payments. Org-mode supports tagging tasks with deadlines, and such deadlines also appear in the birds-eye agenda view.
I first look through each task and schedule the task, or add a deadline to the task. Here’s a demonstration of the sweet visual interface for adding a deadline to a task in org-mode:
I thought I’d leave code out of this series, but I want to give a little teaser into how easy it is to set this all up in Org-mode’s org-agenda. Here’s the function I call to process each inbox item:
(defun jethro/org-agenda-process-inbox-item () "Process a single item in the org-agenda." (org-with-wide-buffer (org-agenda-set-tags) (org-agenda-priority) (call-interactively 'jethro/my-org-agenda-set-effort) (org-agenda-refile nil nil t)))
Perhaps the technical reader can guess what the function does. Here’s a little GIF showing me processing real tasks (I don’t have much to hide).
Let’s walk through it step-by-step.
@homemeans I can work on this task both at school and at home.
C. Here’s how I decide a priority. It’s a pretty loose dichotomy, but works for me.
HH:MM, if the task is estimated to take days, perhaps it needs to be broken down further.
FYPproject, because the readings are related to my Final Year Research project.
That’s it! Make it a habit to bring your inbox count to 0, items are no use left in the inbox.
With everything processed, let’s take a look at the agenda view:
There are 5 main components:
I bind this page to a convenient hotkey, so I’ll always have a nice overview of my day’s schedule, what I’ve accomplished thus far, and what’s left to do. A simplified version of this agenda view can be found in this gist, but if you’re interested in all the gory details feel free to pour through my emacs config.
Because we’ve gone through the trouble of processing our tasks, choosing a task becomes formulaic. Here’s the formula I use:
Once I’ve picked a task to work on, I go to that line and press
clock-in. This allows me to track where I spend my time. As a side
benefit, I get better at estimating how long each task takes, by
observing the total time I spent on previous similar tasks. Example of
tasks that have been tracked can be seen in the agenda view above.
This information also comes in handy when doing the weekly reviews
that David Allen recommends in GTD.
I conduct a quick, weekly review every Sunday. During my weekly review, I:
That’s all there is to the task management system. The vanilla GTD system is much more prescriptive, what I’ve done is to simply pick out certain parts that have been useful and easy to implement in org-mode.
In the final part of the series, I describe my org-mode powered Zettelkasten system.