DEV Community

Luke Barnard
Luke Barnard

Posted on

Using a text editor for task tracking

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. 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:

ls ~/dev
 log
 notes
 projects
 snippets

Enter fullscreen mode Exit fullscreen mode
  • 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.

# Sunday 7th October 2018

Enter fullscreen mode Exit fullscreen mode

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!

# 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
Enter fullscreen mode Exit fullscreen mode

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:

 - [x] Start writing a blog post
 - [ ] Publish blog post
Enter fullscreen mode Exit fullscreen mode

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).


# Thursday 11th October 2018

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

 - [ ] Finish this blog post
 - [ ] Sleep

Enter fullscreen mode Exit fullscreen mode

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.


# 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

Enter fullscreen mode Exit fullscreen mode

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.

Me
 - [ ] Netflix
 - [ ] Chocolate
Admin
 - [ ] Setup password manager
Enter fullscreen mode Exit fullscreen mode

(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 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! 🚀

Oldest comments (6)

Collapse
 
ewoks profile image
Beeblebrox

How you would feel if your manager is tracking things like this? #discuss

Collapse
 
luke profile image
Luke Barnard

It's nice to have a private log to be able to vent about work or collect thoughts before raising problems with my manager, for example.

If my manager was tracking my tasks, I think I'd be put off including some tasks like personal errands.

Collapse
 
ewoks profile image
Beeblebrox

you misunderstood me. I meant, imagine your manager is tracking his tasks in a text files. Just asking for a friend who experienced that.

Thread Thread
 
luke profile image
Luke Barnard

I'd say managers should feel free to track tasks and manage people however they like, so long as they communicate and listen to their team!

Collapse
 
tux0r profile image
tux0r

You have just invented TODO.txt.

Collapse
 
luke profile image
Luke Barnard

I'd argue that TODO.txt has quite a lot of extra syntax and rules to follow, which could be beneficial but could also distract. I've always found the simplest task tracker the one that I benefit from the most.