Completed tasks without a date #104

nusco opened this Issue Mar 17, 2013 · 4 comments

3 participants


The specs say that a completed task must have a completion date. This constraint looks unnecessary. There are good use cases for completed tasks without a date - for example, I use checklists a lot, and checklists doesn't need a completion date. Personally, I rarely even use completion dates in my regular todo lists - when a task is done, it's done, and I don't care about the details.

I'd like to edit my Todo.txt with a text editor quickly - adding an 'x' in front of a task should be enough to mark it as completed, and the resulting line should be valid. Writing dates is always a chore.

The spec would become: in a completed task, if you have a date after the x, that's the completion date. If you have two dates, then the first date is the completion date, and the second date is the creation date. This would read slightly more complicated than "you must have a completion date after the x, followed by an optional creation date" - but it would make the format more tolerant and the file easier to manage. It's also fully backwards-compatible.


Gina is against changing the spec, see here.

I do believe that the date a task was completed is an essential piece of metadata in done.txt. I don't think entering it on completion is too burdensome, especially if you're using any of our tools, which do it for you. If you're using a text editor, a simple macro or snippet could handle it easily.


Yes, the change is not forward-compatible - old tools couldn't generally handle new files. This probably is reason enough to close this issue, unless Gina is willing to have a "Todo.txt 2.0" spec.

In case she ever does, here is my take on the matter - for history. 😏

I can mix-and-match all the elements in a task freely, with two exceptions: a completed task cannot have a priority, and a completed task must have a completion date. Both rules add friction to my workflow when I use a text editor - I'd just like to go through tasks and complete them by slapping an "x " in front of them, without worrying about adding dates here, deleting priorities there.

Both rules also implicitly assume that it's OK to go from uncompleted to completed tasks, but going the other way round is unnatural. So it's OK to lose the priority when you complete a task, and it's OK for completion dates to be so important, because completion is the only important thing that can ever happen. So completion dates end up being the only non-optional element of a task, besides the task description itself. Those dates are megalomaniac.

One consequence of the first rule: complete a prioritized task in Todo.txt for iOS, then pretend you just got it wrong and set it back to incomplete - the task is back to normal, but you lost the priority. If you made a mistake, you have to fix it manually. So it's called "Undo Complete", but it's not really an "Undo".

Checklists are another counterexample. In a checklist, I continuously want to go back and forth between done and undone. If I have a packing checklist, I want to go through it once, then reset all items for the next trip. I'd like to just search/replace "^x " with "" in a text editor - instead I need a more complex regexp, and again I need to think about putting back the original priorities.

I'm aware that I sounded like a whiny nitpicker - I love simplicity, because you can discuss its finer points forever. 😄 Pet peeves aside, Todo.txt makes the world better, so thank you for it.


Thanks for caring enough about the format to make your point, @nusco - I'm sorry to say it hasn't changed my position, but the more people who make the argument the more data we have about reasoning and use cases, so thanks. :)


Happy to provide data points. Thanks! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment