My adventures in using Taskwarrior
Taskwarrior is an open source text-mode todo list tool on steroids.
It is loaded with features, so if you are good at procrastination, you will become even be better at it, fiddling with all the Taskwarrior options :)
To use Taskwarrior as a production tool, you need two components, the desktop application and the server application.
The desktop application can be used as a stand alone tool, but than you have to take care of the backups manually, which is a recipe for disaster, and this also means your task list is bound to a single system.
The server application is nothing more than a sync-tool. The desktop application syncs with the server application. This way you can share the same task list on multiple systems and you always have an up to date copy of your task list on each of the systems as well as on the server.
Your data is protected during transport by TLS, using strong authentication with 4kb certificates on both the server and the client.
Takswarrior features the usage of hooks, so e.g., for automagic committing changes in the tasks file to RCS, Git, or any other version control system.
There are many online task management solutions, and a lot of people are using the solutions that comes with their cloud email and calender suite. That may seem like a nice solution, not having to worry about maintaining a system, doing backups, etc., but on the long run this will result in vendor lock in and too much power in just a few hands.
History have shown that when a provider of an infrastructure gets too much power, e.g., because of massive user adoption, this almost always leads to abuse of this power. In the internet era this becomes a significant risk, because of the global reach of internet solutions and the lack of global legal regulations to hold the provider responsible for his actions.
Because of this, centralised solutions are to be avoided and small scale systems, under control of the user, are preferred.
Taskwarrior on OpenBSD
Installing Taskwarrior on OpenBSD is very simple, just use pkg_add, both for the desktop application as well as for the server application.
After installing taskd --the server application-- read the file in /usr/local/share/doc/pkg-readmes/ which gives a nice step by step manual on how to create the certificates for the server and for each user.
Just following the steps in this manual takes only a few minutes and results in a working synchronisation.
My personal usage
I have recently started using Taskwarrior and use Taskwarrior for both keeping track of my todo items as well as for keeping track of items I have to discuss. In my day to day work, I have several one-on-one meetings with co-workers, spread throughout the month.
Whenever an item pops up, that I want to discuss with one of my co-workers, I add it as a task in Taskwarrior. For this I use a special project "meeting". Within this project, for every co-worker there is an individual subproject.
So let's assume I have some items to discuss with Alice, and some items to discuss with Bob. In Taskwarrior there are two projects for this:
Items added to these projects are seen by Taskwarrior as tasks, and because they are connected to a project, Taskwarrior automaticly assigns a higher priority to them. So when I request my normal todo list, I don't want to see these items in the top part of my list, and to prevent them from cluttering the todo list, I have made an alias to filter them out:
task config alias.zzz list pro.not:meeting
Now, when I enter "task zzz", the task-list is shown, without the meeting entries.
When I have a meeting with Alice, I do
to get the list of items to discuss with Alice.