#+TITLE: 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.

#+CAPTION: A Scheme generated kanban board, with garbled text.
../static/images/knbn.png

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.

#+CAPTION: The Vue.js based index cards application
../static/images/cards.png

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:

../static/images/planner.png

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.
** Encrypted 
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.
** Fast
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.


* History
** 2020-05-23: Published.
** 2020-05-24: Typos, tweaks.