
Taskwarrior – intelligent TODO list - albertzeyer
https://taskwarrior.org/
======
gglitch
In another comment thread on Taskwarrior, someone more intelligent than me
suggested just using plain dirs and files, one file per task. Then you get all
of Unix for free, with any metadata you want as part of the filename or
contents. I'm a former org-mode user who now just uses a paper book, but if I
still wanted to use a computer, dirs+files would be hard to beat. One or more
folders for todo, one or more folders for done, stick it all in Dropbox.

~~~
tunesmith
One thing about unix is that it makes graphical data structures kind of hard.
You can use soft-links, but is there a straightforward way in unix to see
multiple parent directories, especially if these "parent" directories might be
on multiple levels of the filesystem?

Anyway, task-warrior has real dependencies, where a task can have multiple
parents (pre-requisites) as well as children.

~~~
gglitch
Good q. That scale of complexity sounds to me personally more like project
management than a to-do list, and I imagine Taskwarrior or another purpose-
built tool would be a better fit for it. As tedmiston points out, if your
needs are much more elaborate than "buy_eggs" or "send_report--DUE-MAY17"
you'd end up with scripts and aliases and pretty soon you'd have reimplemented
a custom Taskwarrior. I don't think I ever find myself worrying about
dependencies and prereq's (which is why I use a pen), so the extreme
simplicity of it appeals to me.

------
satysin
A little off-topic but this [1] screenshot from their homepage really shows
how things are today with OS X running Windows 10 in a VM which is in turn
running Bash on Ubuntu on Windows. Haha

[1]
[https://taskwarrior.org/news/images/win10.png](https://taskwarrior.org/news/images/win10.png)

~~~
ywecur
It's nice that they actually went through the effort to show that it works
well on GNU/Windows!

------
awwaiid
If you are getting started with taskwarrior, I recommend starting out with a
very very minimal usage of the features, and then gradually add in the ones
you like/need. Otherwise, like many cool advanced tools (vim, emacs...) you
might get overwhelmed and abandon it.

------
ywecur
While this is a decent tool, it doesn't come close to the power of org-mode in
terms of implementing task management systems such as GTD.

Still, if you're not an Emacs user and want a FOSS task management system this
is the way to go.

~~~
toolslive
care to make a more detailed comparison between this and org mode ?

~~~
tines
I too would like to hear about how org-mode is an effective task manager. On
its face, it seems like grandparent is saying "This doesn't compare with the
power of Markdown for managing to-dos." One is a tool, the other is a
formatting language.

~~~
maaku
Org-mode has embraced the emacs philosophy with respect to workflow
management. It is a document formatting language which has been co-opted into
doing pretty much all aspects of workflow management -- tasks, reminders,
calendars, etc. I personally don't think it does a very good job, but some
people swear by it.

~~~
ProfDreamer
> I personally don't think it does a very good job [...]

Why do you think so? Would you care to elaborate?

~~~
timroy
I posted above why I like Org-Mode. Here are a few things it doesn't do well.

1\. Because it is text-based, its visual summaries are limited. Like, there's
a calendar, and for org-habits a simple color-coded chart to show consistency,
but that's about it. If you're looking a week or a month ahead to visually see
how many tasks you have coming up, the org-agenda is text-based.

2\. While org-mode can sync with Trello, Beeminder, and a couple other task-
management systems, its integrations are pretty limited. If you want to
integrate with Contacts or whatever you'll have to work a bit.

3\. org-mode's part of Emacs, so you'll need to be comfortable with Emacs.

Contrast this with Sunrise Calendar. Sunrise Calendar grabs gmail messages and
appointments, iCal, google calendar, and displays them all nicely.

Pluses and minuses, depends on your needs and what you like.

------
great_kraken
I tried using Taskwarrior with sync to Mirakel last year, as a free
replacement once my Todoist trial ended. The sync didn't function correctly,
and notifications weren't reliable. Ended up paying for Todoist. It's a real
shame, because I much prefer going with free & open source solutions whenever
possible.

~~~
pbeckingham
Mirakel doesn't work with Taskwarrior, and they stopped supporting it a while
ago. There is a much better alternative.

~~~
claudius
Hm. Mirakel 3.0 apparently doesn’t work, but 2.8.2 is still on F-Droid.
Compared to the "Taskwarrior" app there, it seems much more polished, with the
Taskwarrior app, I have a hard time figuring out how to e.g. add subtasks to a
problem (or even hide existing subtasks from cluttering everything). Do you
have an even better alternative?

------
lambdasue
For all plain-text file lovers out there, there's actually quite a good tool
that combines both the power of plain text files (i.e. Markdown) and
taskwarrior called taskwiki [1]. Provides the best of the both worlds to me,
tasks in plain text files synced to TW -> synced to Taskserver -> synced to
mobile app. I can also use all the power of Taskwarrior directly on the
command line.

[1] [https://github.com/tbabej/taskwiki](https://github.com/tbabej/taskwiki)

------
ytjohn
I use this pretty extensively for work. I don't really need to keep a todo
list for home things, or if I do, pen and paper is the most ideal.

At work, we use Jira for task management. My philosophy is that taskwarrior is
what I use to track things. Jira is what I use so that my team members and
management can track things. So when a bit of work comes my way, whether via
slack, email, or other methods, I add that to taskwarrior. I then use the tool
bugwarrior to pull down my jira tasks (every 15 minutes or on demand). If I
end up entering a TW task in Jira, I mark the TW version done. I can use TW
itself to set task priority, assign tags, or move into "projects" according to
my view of the work needing accomplished.

I did look into using the TW hooks and a python jira library to manipulate
jira tasks using the task command. It was technically doable, but I feel I'd
always be fiddling with the logical side (each jira project has different
workflows for moving a task through statuses, some requiring acceptance
criteria at the end). Instead, I either use jira-cli, or just edit the task in
jira.

------
dhagz
So, I went to the downloads page to see how I can get it on my laptop. I have
a MacBook Pro, so I scroll down looking to see if there's anything for OSX's
package managers...and there's 3 different Homebrew packages listed, each with
a different name. Do they conflict? Are they all needed? Why isn't there just
a plain `brew install taskwarrior`? It's a little off-putting.

~~~
ywecur
>Why isn't there just a plain `brew install task warrior`?

That would be `brew install task`. I'm guessing their thinking is that brew
isn't part of OS X, though this is silly IMO. Homebrew is basically a
requirement if you own a Mac and want to use the command line at all.

------
edward
And on Android:
[https://bitbucket.org/kvorobyev/taskwarriorandroid](https://bitbucket.org/kvorobyev/taskwarriorandroid)

~~~
phillc73
On the official project website I could only find this repository link and the
link to Google Play Store for the pre-built Android binary.

However, it is available on F-Droid[0]. I wonder why Taskwarrior doesn't
promote this, with the parent project being open source and F-Droid
specifically for such Android projects.

[0]
[https://f-droid.org/repository/browse/?fdfilter=taskwarrior&...](https://f-droid.org/repository/browse/?fdfilter=taskwarrior&fdid=kvj.taskw)

------
covi
As a Google Inbox user, I've found its reminder features to be very good for
these kinds of day-to-day tasks.

~~~
Scarbutt
That's just for your phone no?

~~~
anamoulous
[https://inbox.google.com/](https://inbox.google.com/)

They've created a weird extension to save pages into Inbox, too:

[https://chrome.google.com/webstore/detail/inbox-by-
gmail/gkl...](https://chrome.google.com/webstore/detail/inbox-by-
gmail/gkljgfmjocfalijkgoogmfffkhmkbgol?hl=en)

------
rndstr
Haven't tried it but for CLI apps, numbered references to items (named ID in
taskwarrior) are often troubling for me.

In the Quick Demonstration[0] it seems that deleting will re-number the items
but doing

    
    
        $ task 1 done
        $ task 2 done
    

and then `task list` should actually lead to

    
    
        1  Buy eggs
    

shouldn't it?

or then

    
    
        3 Bake cake
    

if IDs are kept

[0]:
[https://taskwarrior.org/docs/start.html](https://taskwarrior.org/docs/start.html)

~~~
lgas
This same thing bothered me, so I installed task warrior to try it out. It
appears that "task list" actually has a side effect of re-numbering the IDs.
So the example is actually correct behavior, but if you issue an extra "task
list" command in between "task 1 done" and "task 2 done" then yes, you would
the result you expected.

This (IMHO) terrible design is what will keep me away from task warrior.

~~~
fvargas
Why is this "terrible design"? I'm not a Taskwarrior user, but I did read
through their introduction and didn't notice this perhaps odd behavior in the
example until reading this comment thread. Looking at it again, I concluded
that either the id associations last observed by the user are the ones that
get used, or that the example was simply incorrect.

As you discovered, the id associations are based on what the user last
observed when running task list, which may feel like an unnecessary
complexity. But consider the alternative. A user runs task list and wants to
mark as done multiple tasks. After marking the first task as done, they would
need to start calculating offsets for the next task. After doing that a few
times, your task list might suddenly have multiple gaps in it, which would
make it unnecessarily difficult to precisely calculate what the current id is
for an item that was initially in the middle of your list. Maybe you deleted 4
items before it and 6 items after it. So, 10 deletions in, how many seconds is
it going to take for you to figure out precisely what id you need to be
deleting next?

It makes sense for the id associations to correspond to those last observed. A
user is likely to run task list right before deleting anything and then run a
series of done commands. Thus, this feature is a far simpler and quite
essential solution to the problem I described above. The alternatives would be
to keep track of exactly how you're mutating the task list, or run task list
between every few deletions to avoid making a mistake.

> _This (IMHO) terrible design is what will keep me away from task warrior._

I could understand not wanting to give it a try due to lack of this feature.
But I think your conclusion is greatly misguided.

~~~
lgas
I did try it -- and thats what led to my decision not to use it. A reasonable
solution to the problem (again IMHO) would be to use permanent IDs and never
renumber them. I am comfortable marking task 1654 done. Maybe a manual command
you run to renumber them if you're tired of them being high.

------
stewbrew
Why would I want to choose Taskwarrior over todo.txt?

~~~
dmix
I've tried all of the Unixy tasks managers* and vim-tasks works well for me:
[https://github.com/irrationalistic/vim-
tasks](https://github.com/irrationalistic/vim-tasks)

Any file with .tasks turns into a todo list with keyboard shortcuts to
create/complete tasks. Which is useful when adding them to projects on github.

I don't bother with trying to have one sync with mobile anymore. Simpler the
better.

* I still need to try out org-mode

~~~
cpro
I, too, have build a task manage with Vim support:

[https://github.com/prophittcorey/t.rb](https://github.com/prophittcorey/t.rb)

[https://github.com/prophittcorey/vim-t](https://github.com/prophittcorey/vim-t)

I did it for the same reasons-- simpler is better, focus on finishing tasks
and not organizing them. The more I can stay inside Vim and not out of it, the
better!

I didn't add any history support because all of the tasks are stored in
.tasks.json, if you want history, just check it into git and bam, history.

------
julian_t
I've started using TW and find it great for the simple to-do list stuff I
need, with enough control over dependencies and scheduling.

I've tried org mode, but I just don't get on with the emacs way of working.
TW, as a simple command line tool, integrates well with scripts and other
apps, and a Ubersicht plugin displays the task list on my OS X desktop.

One thing that does drive me nuts, though, is its habit of changing task IDs.
I know why it works like that, but it makes it harder to work with.

------
soyiuz
An impressive tool and website. Like others in this thread I use a plain txt
file + git to manage my todos. Simplicity trumps any other feature for me.
Unix tools are a bonus.

------
jvehent
I use taskwarrior with bugwarrior [1] to automatically maintain a list of
pending bugs/issues and pull requests assigned to me. The initial setup takes
a couple hours, but it's a great way to track stuff spread across dozens of
locations.

[1]
[http://bugwarrior.readthedocs.io/en/latest/](http://bugwarrior.readthedocs.io/en/latest/)

------
tomlong
I've written about 5 programs about 30% as functional as this... I can't
believe I didn't know about it. Been using google keep for a while, but going
to try and live with this for a bit.

------
Numberwang
A bit unrelated, but are people actually getting anything out of personal task
managers and ToDo lists? Supposedly they are to help me do the right thing at
the right time and not worry too much. I've started to believe part one of
that problem manages itself more or less and part two just get's worse and
worse by trying to be organized with projects, lables, calendars, ideas and
ambitions.

I'm currently thinking maybe I should encrypt all my notes and make the
password unavailable for me for the next year or so whilst I try starting
every day with a blank page.

~~~
narrator
If you really want to implement the GTD system the right way, pay the money
for Omnificus. For your phone, use the Omnifocus IOS app or the Focus GTD app
on Android. Integrate it with MailPlane, and you've got a sweet task tracking
system that actually works and can link back to your email inbox.

I recently saw a presentation by the head of the GTD consultancy connected
with the book anf he says he uses Omnifocus to implement GTD. I have tried
tons of to do apps over the years and nothing beats Omnifocus.

~~~
BinaryIdiot
> pay the money for Omnificus

Absolutely not. I will _not_ get sucked into their lock in again. I own
several macs but I constantly switch between iOS and Android and, for the past
year, I've been getting back into doing development on Windows again. I had
most of my life in Omnifocus at one point but what good is it if I can't use
it on my windows computer or my phone?

Focus GTD is awful. It's very buggy and relies on the Omni folks not radically
changing or introducing something. The last time I used Focus GTD it actually
lost some of my data during a sync. Sure it's probably better now but I'll
never try it again.

I think it's a mistake to pick a system that forces you to only use a single
platform. GTD helps people run their _entire lives_ depending on how much you
use it so I think it's important you pick a system that is flexible enough to
come with you no matter what.

Though I'll be honest there are not a lot of good alternatives out there
(especially if you want a dedicated windows app).

------
kusanagiblade
Just out of curiosity, who really uses this thing day-to-day? And why???? I
can't even be disciplined enough to use my to-doist app on phone. No!!!!!!!

~~~
tsahyt
I do. I've got the server counterpart set up on a Linode and sync my task
lists across all devices. That's quite nifty because I usually think of things
that I should be doing while I'm on the go. At the moment I need this kind of
organization to get _anything_ done, and out of all the solutions I've tried
this one is by far the best. The feature I use the most is probably the
scheduling feature. After dinner I'll sit down for a moment and contemplate
which of the tasks I've still got open I will do the next day and schedule
them accordingly. The next morning I do a `scheduled:today` query and I've
basically got half the day laid out in front of me already. The best part of
it though is that by running my own task server (at no additional cost because
the same box doubles as my mail server), all the data belongs to me instead of
relying on a third party.

