Planning Work

Organizing work can be far more satisfying than actually doing work: and it never finishes.

I've fallen into this trap countless times: I've used markdown flat-files, vanilla org mode files, org mode and deft, org mode and zettle-deft, a custom org-file generator and parser in Rust, Scapple, painstakingly color coded Google Sheets, fairly long Google Docs, both Outlook and Google calendars, a custom kanban implementation written in chicken-scheme backed by sqlite, a custom index cards implementation written in Vue.js, a local diary with Day One, very short lived attempts at using Asana, Notion, Trello, Workflowy and Roam. Of course, I've also attempted at relying on the in-house task-management software at work.


Figure 1: A Scheme generated kanban board, with garbled text.

That only counts the digital debris, of course: there are the countless notebooks (mostly abandoned half-way or earlier), bullet journals, index cards, post its and large sheets of paper abandoned around my studio apartment.


Figure 2: The Vue.js based index cards application

Of course, I've also read a lot: particularly David Allen's Getting Things Done.

In retrospect, perhaps I should be grateful that I occasionally managed to accomplish anything meaningful while trying to organize how I did it.

My current, mostly manual org workflow

For the past several months (with a few minor lapses) I've managed to stick to a simpler, potentially easier to maintain workflow. With a little bit of Python I generated a custom date-tree:


Within this, I can plan out work a few weeks, or months in advance: at different levels of granularity.

I've given up hope of accurately planning or predicting work more than a month or two away, though I do know what I would like to be doing in broad strokes. Accordingly, I just add an entry at the month/week/day level, and then make it much more actionable as that particular point of time approaches.

The other mechanism by which I like to organize my work is by project: for which I rely on tools based on context: Google docs, Facebook's in-house task management, etc. where I'll also list out all the work to complete a given a project.

Tracking my work in both dimensions: time and per project lets me quickly figure out when I have time – and more importantly – when I don't have time; and what the status of my different projects at any happens to be.

My ideal organizer

Clearly, I've given a lot of thought to this and both used – and created – several options. Even though I don't plan to spend any more time implementing planners, I can still dream about what an ideal planner would be like:

Multi-dimensional views that allow editing

I should be able to see a breakdown of my work by both time and project, seamlessly swapping between them. I should be able to edit it in any of the views and hve it persist transparently.

Within time, I should be able to edit at whatever level I consider appropriate: year, month, week, day, hours. This is very important to allow me to see the forest instead of the trees, which is something I ran into when strictly applying GTD.

Minimal cognitive overhead

I shouldn't have to hunt around UIs, shortcuts, or learn arcane syntax. My energy should go towards the actual work I'm doing.

Open Source, likely to survive and very trustworthy

I have great faith in the Lindy Effect: something that relies on established technologies and can be maintained through my lifetime.

At the very least I should be able to export both the content and the structure.

Allows programmatic hooks

I can declare my intent far more easily with code than through complex UIs or (gasp) manual maintenance.

Support for scheduled work, repeated tasks, and hooks for reminders could simply be extensions of this.

Fuzzy search

Incremental search, like Notational Velocity or Ivy to allow me to quickly run through whatever I'm looking for.

Available online and offline, across devices

Self explanatory: I like to be able to work on aeroplanes, and then have my work sync seamlessly across devices.

Multiple underlying sources

Ideally, I'd like to separate my work planner and personal planner and see them at the same time.

The work planner should be able to live only on official devices, and show up seamlessly merged with my personal planner when the corresponding source exists.

Collaborative / shareable

This is not that relevant to me, but being able to share plans and projects across my team – or to simply publish when I do or don't have time – would go a long way.

Calendar support

Automatically importing and displaying meetings from across Google and Exchange calendars to ensure that I don't optimistically schedule a lot of real work when I have to deal with meetings.


Fairly obvious.

Vim binding support, or external editors

After more than a decade of using Vim bindings across all the software I use (including Emacs) it's too hard to type normally.


Last, but not at all least. Any lag in rendering, editing, fetching – particularly with enough contents – would render it unusable. I appreciate smooth software.

Any noticeable lag in typing and I will discard that software.

Let's be careful out there

Productivity software can be extraordinarily distracting – and even more insiduously – organizing work can feel meaningful and productive.

Something like GTD can also help blaze through the meaningless trivia of life – while completely missing out on the larger, long-term goals and meaningful, deep work.

I've slowly arrived at the conclusion that worse is better when it comes to meta-work (including editors and planners) and I should keep my energy for more fulfilling pursuits; any tweaks to these now count as play.


2020-05-23: Published.

2020-05-24: Typos, tweaks.

view source