I’ve been using my current Org setup (somehow my article made Hacker News; only just discovered this, sweet) for long enough now to see what parts of it are useful and what parts of it aren’t. What’s been nice so far is that there is nothing strictly lacking, which is good, but there are things which I’m not using so just sit there as over-complexities. So I spent a little time today stripping them out.
Stuck and unstuck projects
If you have a task that has TODO items under it, such as a philosophy essay which has things like “Read book x”, “Read article y” and “Write essay”, then by default Org will change the colour of the top-level TODO item in agenda views to show that it’s not completable yet because there are prerequisite tasks; it also won’t let me mark a task as done that has incomplete subtasks. Simple and effective.
However the problem was that even though the tasks are dimmed they still show up in awkward places. So I tried a new PROJ keyword to identify projects, and piled up tasks underneath. This takes time to set up for individual tasks though and I don’t want to be messing with it; the simple TODOs-within-TODOs allows the structure to build up automatically.
The other issue I had is that many tasks of mine take ages to do but can’t be broken down, but that are parallel to projects. So the week’s problem sheet is similar to the week’s essay, but the latter can be made PROJ and the latter can’t. I didn’t want this asymmetry.
The solution is to go back to using TODOs with sub-TODOs and also to
(setq org-agenda-dim-blocked-tasks 'invisible)
which means that these
top-level tasks don’t appear at all until things under them are
complete.
This led me to the GTD (this is far enough down that rabbit hole) notion of stuck and unstuck projects. The idea is that if you have a top level TODO item with lots of TODOs under it, you want to have one of these that is identified as “this is the next stage of this project and it can be done now”. A “stuck project” is one for which this is not identified, meaning one can’t just go and work on the project without first thinking things through.
Bernt Hansen’s setup for stuck projects suits all this perfectly.
Dropping STARTED keyword
I had a TODO keyword STARTED which I used to mark stuff that I was working on gradually but I don’t think there’s any point in this at all. Basically I would mark something as started (but not everything), work on it, and if I didn’t finish it that day then I’d reschedule it for tomorrow at the end of the day. This isn’t actually achieving very much. Instead, marking such tasks as NEXT, that is, big tasks that require lots of time i.e. stuff for my degree, and then not worrying about whether or not I’ve started them as that’s not meta-data I care about has simplified out something I really don’t need.
Review agenda
My standard agenda used to come in the form: currently started tasks (including blocked ones in grey), tasks waiting on others, agenda for upcoming week, undated TODO items. Here is where having tried the system out for a few weeks showed me what was superfluous. I never look at my undated TODOs (really should) because they are out of view unless I scroll a long way down, I almost never look beyond today, and I’m not using STARTED anymore per the above. So I simplified things right down to just a daily agenda view, a list of next tasks and a list of tasks waiting on others.
I then created a second view to consolidate reviewing my day at the end of it. On there there are tasks to refile, projects and stuck projects, and my evil-looking list of undated TODO items (only got about 20 things on right now which is alright I suppose).
Finally I added a view to get a weekly agenda for looking ahead in time.