better priorities with org-mode

blog ~ journal ~ doc ~ code ~ home

better priorities with org-mode

For the last year, solid, and for almost all of the last four or five years, I've been using org mode to manage my time. Up until I started working at Canonical in September, 2019, I used org-mode especially for work checklists, including a complicated IT routine that was essential to get right, but very long and convoluted. This routine was used more than once on most days, sometimes five or six times in a day, and it had lots of conditionals and special logins to complete. Org-mode handled it perfectly.

org-mode as a daily reference point

I also used org-mode for my daily routines, which I had written as a long checklist in German (I was trying to learn German at the time). It became part and parcel of my morning: It didn't matter what I felt like when I got up; by the time I finished shaving, I felt ready for the day -- and I felt like I had accomplished something.

I had used org-mode, off and on, for many years before that, but the problem was portability: I couldn't always sit down in front of a computer or tablet, and printing an org-mode file renders it mostly useless. About the same time as I started back with org-mode, I switched to an android phone and discovered the app "Orgzly," which gave me the portability I'd been seeking. I could run through my daily routines, easily keep track of appointments and on-the-spot to-do items, and it even synced with my Galaxy watch, so I actually had org-mode sending me reminders. Phenomenal.

an org-mode resume

When I applied to Canonical in May, 2019, I got the wild idea to apply not with a resume', but with an org-mode file that answered each part of the job description, organised as an outline. It seemed the right thing to do, mainly because I had strong credentials for nearly every item in the job description, so a matching outline would be less work for the hiring manager. It was well-received, and I got the job.

Thanks to the way things work in Canonical teams, org-mode and emacs fit in extremely well, so I dropped every other method of keeping track and went whole-hog, both-feet-first. My methods have evolved a little to embrace the breadth of org-mode -- capture, reminders, clocking work, progress counters, and journaling -- but I still struggled in one area: keeping up with a lot of simultaneous, slippery, variable-time-interval priorities.

no flexible categorisation

Specifically, my problems were:

  • contextual priorities: needs that differ by time of day or situation; "A-Z" is limited, requiring too much focus on my time-management system. I'd have to scan the entire list, promoting and demoting things, taking as much as an hour after waking up to get my day optimally organised. I was able to make it work, but it was more time-consuming than necessary.
  • too many priorities: more than 26 items leads to convoluted lists. I'd end up having one set of A-Z priorities, a second set with a "." in front of the to-do item text, the next with two dots, another set up emergencies with the text preceded by a "!", and so on. It was impossible to read without feeling overwhelmed.

Categories helped me change things -- especially the sort order for agenda mode -- giving me a clean mega-list of little sub-lists that's easy to work, and easy to match to my current situation, mood, obligation, and time of day.

not "life priorities"

"Mission statements," "50,000-foot views," and "overriding life priorities" are beyond silly. Nobody is that prophetic, but I was able to group items to answer the question, "Would I postpone a lower-ranked category if a higher-ranking one became truly urgent?" For example, if my wife were having car trouble and needed me, would I postpone my work project? If a nearby relative needed a ride to the hospital, would I worry about taking a shower first? You get the drift.

Thought of in relative terms, it was easier to come up with a workable list:

  • getting my head on straight ("00-spirit"): for example, waked at 2am to get a neighbour to the emergency room, I still need the 15s to clear my head and make a quick plan, e.g., pants, shoes, wallet, mask, keys, insulin, phone -- otherwise, I risk running out the door and leaving something essential (like my mask, which happened to me recently, BTW).
  • spouse ("01-spouse"): she comes first in my life; her needs are my needs, and they get appropriate priority.
  • kids and extended family ("02-family"): same idea with these people, one notch down from my wife. My pet cat also falls in this category, since she is part of my family circle and needs my help daily.
  • my health ("03-health"): this could float ("put on your own oxygen mask first, then help the person next to you"), but there's no perfect solution, and I don't have time for the Nirvana fallacy 38 times a day whilst trying to get things done.
  • my routine medical needs ("04-medici"): as a controlled diabetic, I have some daily routines that are essential, but flexible (otherwise these would come higher in the list).
  • eating ("05-eating"): everything below here is harder to do when I'm truly hungry, though I need to get back to the meaning of "truly" hungry.
  • gathering my vitals ("06-vitals"): there are vitals i need to collect regularly for my routine doctor's appointments, but also on a flexible schedule.
  • friends ("07-friend"): this seems like the place to prioritise friends, although, again, this one can float if there are emergent situations. Really, I think most priorities are like that, anyway.
  • organisation ("08-orgmod"): anything after this is less vital and habitual, and more discretionary, so it can be varied from day to day.
  • finances ("09-ledger"): balancing the books and paying bills is important to keep up regularly; I've done better this last year or so, since I started getting serious about using org-mode tables to manage my ledger, and I want to keep the streak going.
  • recurring niceties ("10-reboot"): self-care that makes the day easier: putting more diet soda in the fridge, making coffee, journaling, chatting with my therapist friend.
  • work routines ("11-whabit"): backups, e-mail, forum posts, triaging bugs, IRC messages -- that sort of thing.
  • main work project ("12-xxxxxx"): currently is "raddoc" for Reader Adaptive Documentation, my current big work project, but it changes from cycle to cycle; always at #12, tho.
  • secondary work project ("13-xxxxxx"): currently it's "offlin" for Offline Documentation; again, #13 is reserved for this project.
  • tertiary work project ("14-xxxxxx"): currently set to "2.9doc".
  • updating previous and existing projects ("15-update"): like documenting minor issues, fixing wording, retooling a graphic, etc.
  • housework ("16-hauswk"): self-explanatory.
  • administrative work ("17-cadmin"): also self-explanatory.
  • meetings ("18-meetup"): actually, these are scheduled, but in my current work universe, these can be selectively pushed or skipped in favour of the work projects above.
  • off-the-clock technology stuff ("19-offclk"): like learning potentially useful new languages, trying offbeat ways to use the MAAS tool, porting the BSD calendar to yet another new language, etc.
  • trivial nice-to-do-but-not-important things ("20-trivia"): cleaning out my personal e-mail, filing my files, and other things that really wouldn't matter if not done, but still make things a bit nicer when completed.

using categories in org agenda

Some category names look weird because I constrained them to six characters -- so that they won't overwhelm the org agenda display, like this snippet from my agenda shows:

15-update:  Scheduled:  TODO [#D] blog jq cookbook
16-hauswk:  Scheduled:  TODO [#H] bath light (shorts?)               :SAFETY:housework:
16-hauswk:  Scheduled:  TODO [#I] do some dishes                            :housework:
19-offclk:  Scheduled:  TODO [#B] straighten out website (+links!)               :foss:
20-trivia:  Scheduled:  TODO [#A] clean out/review personal email           :housework:
Diary:      Shemini Atzeret

The only one I don't mess with is the "Diary," because it still lines up and I just don't have time.

There is also a category called "00" for things I'm too lazy or busy to stop and rank, created by my capture template:

TODO [#A]  call in that prescription right away
  SCHEDULED: <2020-10-08 Thu>
  :PROPERTIES:
  :CATEGORY: 00
  :END:

Everything but the text of the TODO item is part of the capture template.

making categories sort

The only thing left to make this work is to cause categories to sort first, by changing org-agenda-sorting-strategy to something like this:

Hide Org Agenda Sorting Strategy: Value Menu Individually:
Cons-cell:
Strategy for Weekly/Daily agenda
Repeat:
INS DEL Choice: Value Menu habit-down
INS DEL Choice: Value Menu time-up
INS DEL Choice: Value Menu category-up
INS DEL Choice: Value Menu priority-down
INS

Not complex, but not obvious, maybe:

  • things marked as "habit" fall to the bottom, where they can.
  • anything scheduled goes to the top (agenda default anyway).
  • categories get sorted ascending
  • priorities get sorted descending

This produces a series of A-Z priorities within each category, like this:

02-family:  Sched. 1x:  TODO [#A] clean & refill food dish                       :baby:
02-family:  Sched. 1x:  TODO [#A] allie's birthday
02-family:   1 d. ago:  TODO [#A] allie's birthday
02-family:  Sched. 1x:  TODO [#C] landon's birthday
02-family:  Scheduled:  TODO [#C] clean litter-box                            :personal:
02-family:   1 d. ago:  TODO [#C] landon's birthday
02-family:  Scheduled:  TODO [#D] Play w/Baby                                    :baby:
02-family:  In   8 d.:  TODO [#M] anne marie's wedding                         :family:
03-health:  Sched. 1x:  TODO [#A] change towels                             :housework:
03-health:  Scheduled:  TODO [#A] sit up                                     :personal:
03-health:  Scheduled:  TODO [#B] light on                                   :personal:
03-health:  Scheduled:  TODO [#C] get clothes                                :personal:

Where ":baby:" refers to my little black foundling cat, not a child! :)

in practice

It's a flexible system. Depending on how soon before work I get up -- I work from home, so my main priorities before work are getting a shower to wake up, and doing any necessary meds -- I warp it around some. If I get up early enough, though, I can just work down the list until time to log in.

Not perfect, and prolly not for everybody, but it's actually been very workable in practice.

Author: stormrider

Created: 2020-10-10 Sat 15:04