I love Taskwarrior, therefore I love Free Software

It’s Valentine’s day and you’re writing a blog post? Are you nuts?” you might ask. Well, but it’s not only Valentine’s day but also I love Free Software day. This day is proclaimed every year on February 14 by the Free Software Foundation Europe to thank all developers and contributors of Free Software (software you can use for any purpose, which source code you or others can analyze, which can be modified and distributed).

As last year with ZNC, I want to say thank you to a specific project which easies my daily life. As you might know by other blog posts here, organisation of tasks, mails and almost everything else is a very important issue for me. So this year I want to write some lines about Taskwarrior, taskd and Mirakel which enable me to take some free time without thinking of task which I could possibly forget to accomplish later on.

My head is full of ideas and mental To-Do lists and so I’m in need of a handy tool which allows me to write down and organise items at any place and time: At my desk, in bus or train, when I’m offline or abroad. And its important that I don’t have (analog and digital) bits of paper everywhere, so I need a system that syncs all task inputs and outputs. I tried a lot of tools but Taskwarrior was the best so far. It used the well-known „Getting Things Done“ concept with different priorities. Taskwarrior also supports tagging tasks, organising them in projects, due dates, postponing, making tasks dependend on others and much more. And Taskwarrior has a (modifiable) algorhythm that sorts your tasks by urgency levels, so that the most important tasks always are on the top of the list. Even now I just took a glance at what Taskwarrior is able to do!

Someone who loves Taskwarrior as much as I do

Someone who loves Taskwarrior as much as I do

Services and programs that organise tasks aren’t very special!” one might think. But if you prefer sorting tasks digitally, you cannot simply chose a random todo-organising service provider. Most of the tools and services on the market aren’t free and transparent. All input may no longer belong to you, all the gathered information (which is a lot if you think of it!) could be used for targeted ads or worse. You cannot modify the algorhythm to suit your needs. And what happens if the service provider goes bankrupt? All data, all project history and all pending tasks would be lost at once. So using a free (as in freedom), decentralised, maybe self-hosted service is the best idea to organise your tasks decentrally.

But one thing at a time, let’s start from the very basic. You can install Taskwarrior and almost any operating system. After the installation, taskwarrior isn’t much more than a black window with white letters in it. And even when you’re a pro-user, you won’t find much more than white or colourful text on black background – and this is a good thing! I’ve seen no graphical user interface which can handle Taskwarrior’s complexity and the users‘ needs sufficiently (but there are some, feel free to test them!). Nevertheless, it’s quite easy to use Taskwarrior from your terminal:

task add "This is my first task"          # Add your first item
task long                                 # Show all pending tasks
task add "Second VIP task!" pri:H         # Add a task with priority
task add "Third task with tag" +test      # Add a task with a tag
task add "Fourth projected task" pro:Blog # Add a task with a project
task long                                 # Show all pending tasks
task 1 done                               # Mark first task as done (ID = 1)

There are many useful and well understandable guides in the project’s documentation. Most likely you do not need every command but maybe it’s useful to read something about techniques which might help you to organise your tasks your way.

Some useful commands of Taskwarrior using some fish shell features

Some useful commands of Taskwarrior using some fish shell features

But Taskwarrior is only for your local computer. What’s if you want to use it when sitting in the bus and don’t want to forget a ToDo item you want to write down at the very moment? Then there’s a handy application for Android called Mirakel. Even the app itself is powerful, but it’s full potential is unleashed when combining it with Taskwarrior. For this, we need a central instance which synchronises the tasks you add or edit on your devices. The Taskwarrior project developed taskd for it which you can easily setup on a server. You can also use Mirakel’s own public taskd server (at least in the past) if you don’t own a server or don’t want to maintain this service.

So if you connect both Taskwarrior and Mirakel to the new taskd server, you can easily share all tasks among them. When marking a task done on your smartphone, it’s marked as done on your home computer some seconds or minutes later if you want to. Security is an important part of taskwarrior as well, so transport encryption is on by default. And if you want, you can also try a web interface or other handy tools and extensions for your server and client which I haven’t tested yet.

Hopefully you now know a bit more about Taskwarrior and Mirakel and the great tools they designed. Of course I do not only want to recommend some software but also use this opportunity to say a big THANK YOU to all the people behind these projects! Thank your for developing the software and making it compatible to each other. Thanks to the various contributors which are writing the important documentation, adding new languages, writing tools and bridges for other usage scenarios and thank you for reacting to bug reports. People like you make Free Software possible!