Emacs Org Mode and Getting Things Done (GTD)
30.09.2023 PermalinkA few hundred years ago only a small minority of human beings were able to read and write, enabling them to exchange and preserve information. However, to live a more or less happy life most people didn't need this skill.
Today the picture is completely different. Finding, consuming, processing and creating information is front and center for many jobs. In addition, many professions require highly specialized knowledge and experience. To be productive as an organization effective communication among specialized workers is important. Those who are nowadays unable to fluently read or write are effectively excluded from the information age and won't be able to work in these jobs.
To sum it up: literacy - a human cultural achievement which was once dispensable for the majority of humans - has become a vital basic skill.
Why personal task and knowledge management?
It is an interesting question if there are practices today that you could consider as dispensable and are therefore not widespread, but which might be vital requirements in the future, similar to what literacy has become today.
Effective personal management of a high number of tasks and amounts of information might be one of those skills.
As an illustration: Creating software is certainly one of these jobs that are typical for the information age. Everyday many of us are faced with a constant influx of information and requests to do something, and we, too, often need the help of co-workers or information and decisions by clients. Yet, since our brain cannot handle two or more things simultaneously, creating a new solution (or a part thereof) requires times of undivided focus, where we need to stop any distraction from the outside and from ourselves, in order to truly understand the problem and formulate a possible solution.
Therefore the active management of my own time, tasks and information seems to me as if its mastery is already today a big advantage to be collaborative and productive without putting your health or the quality of your work at risk. Those who face a high load of tasks and/or information influx and try to do without any kind of disciplined approach seem to be at a disadvantage.
From paper-based notebooks to Emacs and GTD
I started my personal task management journey while working on a long-running software project around the 2000s by using a single A4-sized notebook. I had to learn a considerable amount of project specific information and needed to remember all of my own tasks, as well as commitments by others. So I tried to write down as much as possible during and after meetings and looked into my notes several times a day to make sure that I won't miss anything. This habit was far from being perfect but it brought me through the time without going nuts. Since then a paper-based notebook remained a necessity for organizing my work. For recurring items I tried calendar events with mixed success. However, I did not use any kind of task organization for my private life.
Fast-forward to today a lot has changed. I started using Emacs for programming in Clojure in 2012. With Emacs comes Org Mode but I used it merely for occasional note taking, ignoring its vast capabilities. And only one or two years ago, as I felt that I needed to improve my personal habits a bit, I came across "Getting Things Done" (GTD), an approach published by David Allen in 2001. Although there are nice online guides available which present the essential ideas, the book itself is worth reading and contains quite some insights from Allens work as a consultant in these matters. I decided to give the method a try and adopted it for organizing my entire professional and my private life.
Org Mode and Getting Things Done: a mapping
To implement GTD with Emacs and Org you need a conceptual mapping of Allens ideas and suggestions to terms and features that Org Mode offers.
Here is what I came up with:
- A GTD item, usually a task, is an Org headline level 2 or 3 starting with a TODO keyword.
- GTDs lists for "next action", "waiting for" and "someday/maybe" can be mapped to a keyword like NEXT, WAITING and MAYBE.
- The Org Mode category nicely matches a GTD project or area like for example a customer, a specific hobby, domestic work, gardening, bicycle maintenance etc. By default an Org file establishes a category, so a reasonable approach would be to have one distinct Org file for each project or area. Then Org agenda is the key to bring everything together in one view with a timeline.
- The numerous lists GTD encourages you to maintain can be realized by
using Org Mode tags in conjunction with
org-sparse-tree
. - In addition, Org Mode tags with a leading
@
character can symbolize a GTD context, like a place or a person. - org-capture is a literal solution for putting new stuff into an
in-tray file, stored there for a subsequent organizing step. I
maintain an
inbox--todos.org
file for this purpose. - Org headlines can carry a deadline or scheduled date. Together with the Org agenda view you have a very effective tickler file.
- For regularly recurring tasks you can attach a repeater specification to a date.
- Org Mode also supports checklists that are mentioned in GTD to support yourself when conducting more complex recurring tasks.
- And if a piece of your stuff is not actionable then it could be
valuable information that you want to store for future
reference. Because of this I maintain several
*--notes.org
files that keep all the non-task stuff.
Find my Emacs/Org configuration on Github.
Effects on my daily life
Managing my whole stuff, professional and private, only takes me 5 to 10 minutes each day. I do a brief review once a week, usually during the weekend. Putting everything into Org and using the Org agenda creates clarity in my life about "what's next". Now I can literally see in the Org agenda if the upcoming days promise to be stressful or easy, and I can shift things to balance the load, taking my personal level of energy into account. If I have to wait for someone before I can continue on a task I use the WAITING state and move the scheduled date to some days in the future. If a task is running longer I attach notes to it so I can easily recall later what the status is. Because of this it is no burden to have 2, 5 or 10 projects in parallel, because I am allowed to forget almost everything about them until a related task shows up in my agenda again.
This "permission to forget" regularly gives me inner peace, so I can take my time and exclusively focus on finding a solution for a customer, or to go on auto-pilot when getting things done at home.
Being sure to never forget anything and being able to react to forseeable congestions gives me so much confidence and control that I eventually started new personal projects. The mental relaxation helps me getting more things done than before, without increasing my level of stress.