Using a text editor for task tracking
Tags: tasks, productivity
Published: 2018-10-11 21:44:59

---
title: Using a text editor for task tracking
published: true
description: Tracking tasks minus the fancy cloud-syncing GUI
tags: tasks, productivity
---

I find tracking tasks super useful, whether it's work or life admin or shopping, keeping it tracked all in one place can help a lot. 

Having recently abandoned iPhone for an Android, I've lost my favourite todo-list app, [Clear](https://itunes.apple.com/us/app/clear-todos/id493136154). Until I've made my replacement (my first Android app!) I've been making do with my text editor to keep things simple.

## Simple Task Tracking

First of all, make a `log` directory to keep task files and a `notes` directory for taking notes about projects. 

Keeping all dev-related stuff in the same place also helps when finding projects, notes, logs etc. quickly. Here's an example directory structure: 

```sh
ls ~/dev
 log
 notes
 projects
 snippets

```
 - `log`: for task files
 - `notes`: for notes about projects, in-depth notes on tasks, etc.
 - `projects`: for code whether personal projects or remotely pulled git repos
 - `snippets`: for odd bits of code that don't belong in projects

### Creating a Task File

Start of by using your editor to create a new file, name it `month-year.md`, e.g. `oct-2018.md`.


```markdown
# Sunday 7th October 2018

```

Albeit slightly redundant, I find keeping tasks organised by the date they were completed (not created) very useful. Importantly, incomplete tasks are carried over to the next day giving a feeling of baggage - an incentive to get them done ASAP.


After the date, writing a little intro to the day is like a personal pep-talk/complaint section to collect thoughts quickly and succinctly. Mention general goals but nothing structured. Keep it short!


```markdown
# Sunday 7th October 2018

Feeling positive about getting this stuff done this 
evening. Hoping to share my task-tracking habits with 
others.

 - [ ] Write a blog post about task tracking
 - [ ] Take a look at a personal project
```

### Completing tasks

I'm not certain that Markdown is the best format but so far I've found it quite intuitive and simple but expressive enough for my needs. It's also vaguely future-proof for when I want to write tools to make the process easier.

What Markdown (or at least the GitHub flavour) importantly allows for is marking tasks as done:

```markdown
 - [x] Start writing a blog post
 - [ ] Publish blog post
```

### Time-based Logging

Recently I've also started adding timestamps to my log so that my thoughts are a little more collected. I think the utility here is in writing, not in reading my thoughts back, but I do occasionally find it useful to see a more detailed view of what I was doing yesterday or last week (especially for pain/happy points in a retrospective sprint review).

```markdown

# Thursday 11th October 2018

 + 22:18 getting pretty sleepy, might try to finish 
         this blog before nodding off

 - [ ] Finish this blog post
 - [ ] Sleep

```


### Not Completing Tasks

Sometimes the amount of time given to a task is underestimated and it becomes necessary to plan to do the task later. To do this, I move tasks from yesterday to today.

The physical actions of performing this movement of text somehow builds up a sense of baggage and I find it dissuades me from planning to do too much in the day.

### Planned Tasks

Occasionally, tasks cannot be done today but only in the future. For these tasks, simply stack a list of date headers at the bottom of the task file, ready for completion when that day comes around. If a task has a time associated with it (e.g. a meeting scheduled during the day), I've found it useful to include the notation `@ 10:30` or similar.

```markdown

# Thursday 11th October 2018

## Log
 + 10:00 forgot to get milk yesterday!! Looking forward to
         banana bread on Saturday though

Kitchen
 - [ ] Buy milk

# Saturday 13th October 2018

 - [ ] Meet with friends @ 14:00
 - [ ] Get ingredients for banana bread

```

### Task Categories

One thing I've found useful is putting headers above groups of related tasks. This is nice for separating tasks at home from those at work, "admin" tasks from leisure tasks, for example.

```markdown
Me
 - [ ] Netflix
 - [ ] Chocolate
Admin
 - [ ] Setup password manager
```

(The "Me" category is a personal favourite. Remembering to give yourself "Me" time should be part of your daily routine.)

## Prior Work

I'll leave you with some prior work that I want to take a look at. [Org mode](https://orgmode.org/worg/org-tutorials/tracking-habits.html) looks to be task tracking for hax0rs running emacs. 

Plain-text task tracking has been done before and I encourage the reader to consider their own system.

Thanks for reading, follow me for more! 🚀