Task management in Obsidian

This post aims to demonstrate the flexibility of the Obsidian environment, by showing how it has been configured to support a personal workflow for task management across multiple active software development and research projects. It therefore has a wider scope than the biodiversity informatics research management focus described in other posts on the echinopscis project blog. I also try to provide some pointers to researchers and technologists wanting to manage their own working environment in Obsidian, for task or research management, or for other purposes.

Task management

Like all of us, I work on many projects at once. My work is almost all online, so I can work on tasks from anywhere - which is good for flexibility, but needs disciplined management to avoid the risk of burnout. As I don’t have spatial boundaries, I need to set up my own working practices to enable focus. Its important for me to be able to clearly define tasks, see what is blocked or waiting for external input, and to assess status across a whole set of projects.

Working practices are personal

Whilst I still use hard copy notebooks, (and I probably always will), I often need quicker navigation between different interdependent projects than I can manage on paper.

I also like to have a really high-level overview of projects - and of pieces of writing, so that I can rearrange sections and paragraphs to get a better flow. I used a kanban board to manage the the most complex thing I’ve written so far (phd thesis) - using one board for the overall structure, which linked to a board for each chapter, allowing the design of a coherent structure at chapter, section and paragraph level.

Obsidian evaluation

Information storage

I started evaluating Obsidian as I liked the use of open text based file formats (Markdown and YAML), stored on a local filesystem. Using these for long term data storage seems both future proof and flexible.

It also means that the data can be manipulated by different tools if necessary (for example to automate bulk changes, make reports etc).

Supporting alternative views

Obsidian also supports some powerful alternative views of the information in the system. One of the core plugins is the graph view, which shows the links between notes and allows nodes to be categorised and differentiated using search syntax. A useful community plugin enables a kanban board view of a set of lists of tasks - enabling a high level overview of project status.

Task manager design

My task manager is designed as a “vault” (working space) in Obsidian with an intentionally small number of plugins. (If you’re interested in evaluating Obsidian plugins - and the community is really active is producing new plugins and updates - then my advice is to keep a separate vault for that)

Structure

Inbox

Contains any unsorted notes for processing and an inbox-kanban note to manage “atomic” tasks (those that aren’t part of an on-going project)

Meetings

Contains meeting notes / agendas for anything from 1:1s to conferences. Notes are filed into Past or Upcoming subdirectories

Projects

Contains project overviews and tasks. Each project is a sub-directory with a meaningful name containing:

  • A markdown project overview note with sections for summary, link to list of tasks (see below), list of people involved, a timeline and a reference section
  • A list of tasks managed as a kanban board with list columns for backlog, prioritised, blocked, scheduled, done
  • A files subdirectory for relevant PDFs, word documents etc

Templates define the high level structure for the project overview and kanban board notes

Project subdirectories are filed into one of:

  • active those projects being worked on at the moment
  • paused projects that are not currently active but may be restarted (eg grant applications which have been submitted and are awaiting review)
  • reference-archive projects that are finished, but retained for reference

Other sub-directories under projects are used to hold notes that link related projects into a programme (programme-groups) and notes about things that could develop into projects (ideas).

Reference

This is a flexible space for a whole set of reference subdirectories, including data sources, data standards, technical libraries, recruitment materials etc. A couple of these are worth looking at in depth:

  • persons: holds a note page for each person referenced in the vault, holding at least their full name and email address. Nested tags are used to indicate organisation and department, and aliases in the YAML frontmatter allow the use of initials and short names. As notes and tasks are linked to people, its possible to use backlinks to see all current collaborations / conversations with a person.
  • literature: holds a note page for each literature reference that I’m currently using. I link my reference manager (Zotero with Better Bibtex) to Obsidian using the citations plugin. (A later post will describe this setup in depth).

Util

A place to store utilities like templates (and scripts). Excluded from searches in the obsidian configuration settings.

Templates
Project summary

Defines sections for summary (a single sentence overview or project and aims with a link to list of tasks on an associated kanban board) list of people involved, a timeline and a reference section. Tagged as #project.

Project kanban board

Defines columns for backlog, prioritised, scheduled, blocked, complete. Tagged as #kanban/project.

Paper outline kanban board

Defines columns for abstract, introduction, materials/methods, results, conclusions, and endmatter (acknowledgements, author contributions etc). Tagged as #kanban/paper.

Usage

Incoming work

Any unsorted notes are created under inbox; any atomic (non project) tasks are entered into the inbox kanban board.

Project / task management

Defining a new project Create a new subdirectory under projects\active - eg to set up a new project called “obsidian evaluation”:

  • obsidian evaluation\
    • files\ - subdirectory for PDFs / word documents
    • obsidian evaluation - created from project template
    • obsidian evaluation kanban - created from kanban template

Pausing / unpausing a project To pause a project drag its subdirectory from active to paused (and reverse to unpause).

The status of a project (active / paused etc) can be included in a search by using the path search term specifier, eg to find paused projects use: path:paused tag:#project

Writing

I also use the kanban plugin to help plan writing (and presentations). I have a template for a research article plan, which defines columns for the sections of the article, so that I can add cards representing the paragraph content of the sections. I can then quickly drag paragraphs around to restructure the plan, and check across between sections e.g. to ensure that all things included in results have a corresponding entry in methods.

Periodic (eg weekly) review

Every week or so, review the content of the system, check its up to date, archive any completed tasks etc.

  • inbox
    • file any notes to relevant project page or to reference
    • process the inbox kanban (more details on kanban review process below)
  • per-project (Its possible to get a list of all active project kanban boards with a search - searches can also be saved for reuse by starring them). Work through each active project and make some standard checks:
    • kanban board:
      • is the backlog complete
      • is the order of prioritised tasks up to date
      • does anything in blocked need a nudge (eg a reminder email)
      • is anything in scheduled now passed
      • finally, archive the cards in the completed column The kanban plugin is set up to add a formatted date and tag to tasks on archive, which means that it is possible to get a list of all tasks completed in a particular week with a task query, e.g.: task-done:("2022-08-02 #archive")
    • project page:
      • add any timeline entries
      • move any relevant notes from inbox to the reference section of the project page

Summary

Hopefully this overview has shown that it is possible to design a very customised system in Obsidian with a small number of well-supported plugins.

In this task management system, data can be searched at various levels of granularity using tag, path and task searches (see more about search syntax here). The links between project elements and people can be used to get an overview of the context surrounding a project or a person, using either backlinks or the graph view.

Core Obsidian functionality (and its plugin ecosystem) is still evolving very quickly. This means that it can be tempting to continually refine the system. It may be a bit recursive, but I manage the development of my task management system as a project in itself. Planning time for plugin evaluation and process modification - and weighing these “meta” activities against competing priorities - helps focus more on what needs to change, rather than modification for its own sake.

Finally, the fact that you can configure the tool based on your personal conception of your work - rather than changing your working practices to fit with a particular tool - means you can design a natural fit for your task / research management workflow.