Table of Contents

task tracking

When I was in my teens I used to keep all my tasks in my head. Occasionally if I had something with more details than I could remember I would write it down on a notepad. Around the second half of my 20s I started getting really into personal databases and task tracking. I'll write another page on notetaking solutions, but this one is focused on task tracking.

notion

In 2019 I started using Notion extensively as a general notetaking tool. Notion also has a kanban implementation which I started using for task tracking. I had a single big kanban with four columns:

After a couple years, this kanban had hundreds and hundreds of items in it, but remained surprisingly usable. The nice thing about Notion's kanbans was that you could easily link them to notes elsewhere in the workspace; kanban cards with brief task descriptions could have outlinks to notes pages with context, or to databases with data related to the task, and so on.

obsidian tasks

In mid 2023 I moved off of Notion to Obsidian for various reasons. In the process I lost my notes-integrated kanban as well. I needed a new task-tracking solution, and having done that job in my notes app before, I resolved to try to do it in Obsidian.

When I switch to a new platform for anything, I like to try the Happy Path. In other words, I want to use the software according to what its users and developers consider to be its strengths. For task tracking in Obsidian, that is the Tasks plugin. This is fundamentally a plugin that adds a query and metadata layer on top of markdown checklists.

I tried hard to make this work for me but it really does not. The first major issue is that once I am done with a task, I want it hidden from view. But these tasks are Markdown checklists. You check them and they get strikethrough formatting, but they stay right where you defined them. I really don't like that. I get dopamine from eliminating the task and making the list closer to empty. When you tick the task and it stays there that doesn't give any dopamine.

Another problem with Tasks is that metadata associated with tasks - such as priority, due date, categories, etc - is added in plain text on the same line as the task description. I don't like this. It looks messy and unreadable, and on mobile it's completely untenable. Also, the way that you distinguish tasks from regular checkbox items is by adding a #task tag. This annoys me because it's like a noisy type annotation on a markdown checklist. it just doesn't feel good.

And speaking of mobile - the phone experience of Tasks is awful. On desktop I'm okay shuffling todos around with my keyboard using a mouse to click those small checkboxes. On mobile, it is really bad. The checklist box is hard to hit. There's a lot of friction to adding new tasks - navigate to wherever the task list is in your vault, scroll, scroll, type - on a phone keyboard - the following:

- [ ] task description #task

Doesn't seem too bad, right? But look at the amount of keypresses you actually need to type that:

It's a lot. Typing - [ ] in particular sucks.

This is really annoying on a phone and it made me dread adding tasks. If I dread adding tasks, I either won't do it or I'll spend too much time doing it. The mobile experience for any task tracker is critical to me. I need to be able to jot down a task the moment I think of it, and then put my phone away. It shouldn't take more than ten seconds or so.

I looked into recreating my kanban solution in Obsidian, but the two kanban plugins I tried - this one and cardboard. Cardboard supposedly integrates with tasks, but unfortunately it insists on either organizing tasks by tag or by due date. I want to organize them by status (todo, doing, done etc) and it can't do that. The UX is also weird and again, it doesn't work well on mobile at all.

tl;dr bad mobile experience, vault littered with completed tasks, poor metadata support and high friction make every task solution I tried in Obsidian untenable. I began looking for something else.

2do, nextcloud tasks & caldav

I vaguely knew that calDAV has support for task synchronization. I already run Nextcloud as a calDAV server for calendaring. Nextcloud also has a Tasks application that allows you to edit these tasks. Normally I find that Nextcloud applications kind of suck, but this one has 5 stars, and they are well deserved. I tried that one and was pleased to find that it supports categories, due dates, subtasks, and generally sports a pleasant user interface. Now to find a mobile solution.

After a little searching I found 2do (note that as of writing, the TLS certificate expired on January 8th). This thing looked a bit aged but very capable, so I decided to give it a try. Imagine my surprise when I saw it was $10 on the app store. I think this is the most I have ever paid for a mobile app.

But oh man, is it worth it. This app rocks. It is designed around making adding and managing tasks as frictionless as possible. It supports categorizing and tagging tasks, grouping related tasks together, and subtasks. It has a few different overviews for tasks that allow you to view tasks by category (e.g. “all diving-related tasks”), and by due date (“all tasks due today across all categories”). The concept of 'smart lists' is also supported - set conditions on what tasks should appear in the list and they will be pulled into the list.

And all of this syncs flawlessly with CalDAV. I can whip out my phone, type a task into the quick add bar, hit enter and put my phone away, and it'll be there in the task viewer on Nextcloud. Furthermore, since tasks with due dates are also calendar items, they appear on my calendar so I get an overview of everything I'm going to do just by looking at my calendar.

This all probably sounds very trivial, but I've never used a task tracking solution where all the pieces worked together so well. It's really slick.