Hacker News new | past | comments | ask | show | jobs | submit login
Todo.txt: Future-proof task tracking in a file you control (todotxt.org)
83 points by tobr 61 days ago | hide | past | web | favorite | 49 comments

Throwing my failed side project into the ring as well - Ultralist[1][2] is very similar to todo.txt but has a bigger focus on Due dates. I use it every day.

The CLI portion is fully baked and works great, but the webapp and syncing part never really gained traction.

[1]: https://ultralist.io/

[2]: https://github.com/ultralist/ultralist

This looks really cool, might have to start using it!

Some alternatives: devtodo[1], taskwarrior[2], and org-mode[3].

[1] - http://swapoff.org/DevTodo

[2] - https://taskwarrior.org/

[3] - https://www.orgmode.org/

But why. What are the advantages and disadvantages?

I've not used the others, but org-mode is capable of everything described in the linked site, and a lot more. It's a text format (so from a future-proofing perspective, similar). The task tracking system is fairly straightforward, if you just wanted tasks you'd have something like:

  * TODO Call mom               :phone:
   DEADLINE: <2019-08-24 Sat>
  * DONE Ignore dad
You can create custom workflows, (details in the manual):

  * TODO Do something
  * WORKING Doing something
  * DONE Did something
Or perhaps you're a kanban fan?

  * CODE     CR 3
  * QA       CR 4
  * DEPLOY   CR 5
  * DONE     CR 6
(Extra whitespace added for formatting here.)

You could create somethnig akin to a workbreakdown structure, and have org prevent marking parent activities done until children activities are done:

  * IN-WORK CR 1
  ** DONE Analysis
  ** DONE Develop acceptance tests
  ** IN-WORK Code
  ** TODO Peer Review
  ** TODO Release
And all those are headings, you can put text underneath them.

  * IN-WORK CR 1
  The customer wants us to stop storing passwords
  in a plaintext file.
If you use it for meetings, as I have, you can do something like this:

  * TODO Some Meeting
  DEADLINE: <2019-08-23 Fri>
  ** Agenda
  - [X] Introductions
  - [X] Presentation
  - [X] Discussion
  ** TODO Actions
  *** TODO Fix typos
  Accidentally typed /x/ everywhere I meant to type /k/
  *** TODO Email minutes
All the todos are integrated in with the notes, references, and other documentation. The full context is available. When I'm reading a book, I break it down into a todo per chapter, and record notes in the appropriate chapter as a way to monitor progress. When I'm writing a program, I try to develop the spec and other things inside of org files as well (conveniently works with literate programming, but I can't use that at work, couldn't sell it, but I use that for personal projects).

Downside: Some mobile viewers that can also edit the files, but full org capability is really only available in emacs (as best I can tell, is there a fairly feature complete implementation besides that one?).

You sound like you know quite a bit about org-mode. I recently started using emacs again and want to also give org-mode another shot.

IIRC last time I gave up on using org-mode for todos/notes because the experience on Windows wasn't as nice as on Mac (Mac for work, Windows at home).

Orgzly is good enough for Android imo. Do you have any experience with emacs+org on Windows, and any tips if you do?

I'm also curious about your kanban example. What are CR 1/2/3/..? Are they some sort of tag, or just the name of that item? Would you just move (refile?) a task from CR 1 to CR 2 for example?

Last question - do you use one instance of emacs for both notes/tasks and regular code editing? I enjoy reading examples of other peoples workflows because it helps me realize what I didn't know I could be doing better.

I use emacs+org on my work computer, which is Windows. It seems to work pretty well. I have not used the mobile apps in a while so I can't comment on them. The main issue on Windows is where it decides to stick your .emacs file. Your "home" directory is "C:/Users/username/AppData/Roaming", which is not the most practical location. So I use this option:

  (setq custom-file "fileshare-or-other-path/config.el)
  (load custom-file)
All my customizations live in that config file, and having it on the network share has made it easier to move between systems.

"CR" means "Change Request", the way we term high level feature changes (additions, alterations, removals) from customers (as opposde to bugs or other things). We give them unique identifiers (usually a combination of a system identifier and unique number), but in a project we usually just refer to them either by a short description of the capability or "CR ##".

The Kanban example was more a quick demonstration of how you might use a custom workflow, it's not something I've actually used. Having to coordinate with others is not a strength of org-mode, I can't get other people to use it. So we use other project management systems at work. But for my own things, I often do have a custom workflow set up to indicate what I'm working on, or what it's status might be.

I do use one instance, the first thing my config file does is:

I can launch new clients and they all connect to the same server. I also make extensive use of frames, and added a quick way to cycle between them stealing the Command-` key from macOS (where it switches between windows in the same application):

  (global-set-key (kbd "M-`") 'other-frame)
  (global-set-key (kbd "C-`") 'other-window)
Much more convenient, for me, than the standard way. This makes switching between different sets of activities pretty easy.

Will have to try one of these... todo.txt not yet available in South Africa App Store

If you're looking for an app, check out Orgzly. It uses org-mode files, which are pure text.

I like the motivation behind it but it's still too complicated typing "t add" with quotes blahblabha. I aptly fit the description in the introduction, but so far my best experience (by far) has been using OSX Notes.app.

First I pin the note so its always at the top, then I use automatic * bullet points.

First, I have items in bold which are critical and waiting on me to get done TODAY

Then I put an empty space, and i put non-bolded items which are waiting on me, less critical, and can be done in a week or month.

I also dont do any 'crossing off' or anything like that. I just immediately delete it when its done, and try to see those bold items go away

I use alfredapp.com bound to control+space and then type "n" for notes and hit enter, and my todo list is right there, usually with the cursor where I want it.

I rebound caps lock to space for even more efficiency in vim and when using alfred (with my pinky)

I've been using this for about a year now, and having tried out many many others over the last 20 years of IT and management. Taskwarrior was ideal when managing departments, as I was tracking 200-500 tasks at any given time.

Now that I no longer manage people or large projects this works excellent for me. I use todotxt.net for Windows, I forget what I was using when I used to use macOS, I think just vim. In windows if i'm doing some sort of batch operation I open it with notepad++ (I manage a someday.txt and horizon.txt to keep focused).

The android app is excellent, with quick widget shortcuts to add tasks, including a panel. I very often when browsing reddit, or whatever else, will "share" anything i'm interested in and then process and sort them later. Things without a context are considered my "inbox".

When I add a due date, the due date actually gets entered into my calendar as a reminder (This is EXCELLENT). Since everything is synced, it doesn't matter if I enter this from a text editor or not, the android app sees it and does the entry. I use dropbox for sync for now, which is not ideal, but I can't be bothered at the time to get my workflow setup on my sync app of choice.

I've been trying use this -- but the sync from linux is tough. Been using rClone from the laptop to push changes to gDrive but doesn't seem reliable. I need to manually remember to push the file. If the file changes on the phone and on the desktop, there is no way to auto merge them.

Hmm, I found the Android app lacking - can you link which one you use? I much prefer Simpletask (Dropbox version) which works with the todo.txt format but has neat filter features. I really need to see a list of all my tags of my projects get lost in each other.

I just downloaded to app to compare it to what I use, TickTick. My biggest gripe is that it doesn't auto detect times. With TickTick, i can make the note "Haircut on Saturday at 1pm" and it will automatically set an alert for that time.

Good calendar sync is my #2 wish for Taskwarrior.

Does todo.txt have support for multiple/shared Todo lists? Dependencies? Priorities?

This looks great for simple stuff and awesome that they have a neat end-to-end product ecosystem.

I essentially do this with org-mode in emacs, though I don't have a special mobile application to edit it and sync with dropbox -- I know that others actually use orgzly[0] and similar tools.

[0] https://github.com/orgzly

Did you use beorg[0] for iOS? [0] https://beorgapp.com

Beorg works very nicely. I recommend it.

I switched to this format a few months ago and I love it. The file is kept in a Google Drive folder and synced to all my devices. Aditya Bhaskar's Todo.txt for Android app[0] is probably the best app there is for it and is my preferred way of interfacing with it. I haven't gotten the hang of the CLI, and the configuration documentation isn't great. When I use it on a computer I just use a text editor, but it isn't as nice.

The only con I've run into in the few months is that there is no built-in support for re-occurring tasks, but I've moved around that by adding a manual tag like "repeats:every-saturday" or "repeats:last-sunday-of-month" and then changing the due date to that instead of hitting "complete"

[0] - https://play.google.com/store/apps/details?id=net.c306.ttsup...

I prefer simpletask for Android.

I use Simpletask too. I still wish for a bit more out of it, but I appreciate the tag/project list and the UX over the official todo.txt Android app

I would be very interested to know what your additional wishes are. Could you raise some feature requests at github [1]?

[1]: https://github.com/mpcjanssen/simpletask-android

I'm going to take this for a spin. It's similar to what I've done with a vimwiki todo file, but, Dropbox and app integration will be nice.

I still really miss Google Inbox's reminder functionality, that was the perfect Todo app for me.

Related, fully using the power of simple text file system to keep track of my stuff

Adding command and corresponding script:

logadd whatever

echo %date% %time% %* >> log.txt tail -n1 log.txt

Retrieval command and corresponding script:

loglist whatever

grep -i %st% log.txt

This allows me to save thoughts, notes, stuff I am doing and want it noted, a phone number, whatever, and can retrieve it down to minute and second or to type of entry etc. Very helpful when sometimes you need to recall around when you were doing X thing. Works as a to do list as well. The tail in there is to verify that my entry was written.

For lightweight task tracking I prefer Moo.do. I prefer outliner tools in general to easily zoom in and out to subtasks, and it is also possible to add pictures anywhere in the tree structure. It also does have dark mode and other fancy features to integrate calendar and mail to your todos but I don't really use them.

That might be a great product, but I don't see how it is a substitute for todo.txt - it appears to be a regular closed web app with a freemium business model.

When I was using Linux full time I used todotxt. It worked nicely with Vim on my workstation and native mobile apps on the phone. Since I switched to Macbook with iphones I’m satisfied with the native Reminder and Notes apps from Apple that are automatically synced across my devices.

I’ve used todo.txt for several years and have been really happy with it. I’ve tried various tools, including Trello, Remember The Milk, Evernote, Todoist, and more, and I still come back to todo.txt primarily due to its simplicity.

What I want is a Linux GUI tool, that on a hot-key pop-up and allows me to quickly add comments/task/edit using only keyboard, and then when I hot-key it again, it hides in the background. Any recommendations?

I expect Linux terminals can do this: iTerm on mac has a "Hotkey Window" mode, which drops down a terminal when I press Option-Space. In (one of the panes of) this I keep a text-mode emacs open for time logging. I generally use it only for that, so it's always open at the right place. org-capture can also work well to quickly save notes.

For more substantial notes work I typically switch to the appropriate virtual screen, switch to the GUI-mode emacs there, and if needed use a hotkey to jump to the appropriate org file.

Can't recommend a task tracker that does that but how about using your favorite one and hot keying that one?

The most usable one (and the one I use would be a tiling WM).

Another would be dependent on the desktop environment you use. KDE has KHotkeys. Gnome certainly something similar.

Another more independent solution would be ror scripts (run-or-raise). They start or run a custom command with a key stroke.

https://extensions.gnome.org/extension/1336/run-or-raise/ https://github.com/mkropat/jumpapp

This sound like a use for Rofi[0] and some kind of Todo.txt code that appends to a file

[0]: https://github.com/davatorium/rofi

My favorite todo.txt editor is "open" or "xdg-open" on linux. `xdg-open ~/Desktop/todo.txt` and see if that works for you. There's probably a great way to bind it to the window manager keybindings. See: https://askubuntu.com/a/180317

VSCode with vi mode ?

This looks great, but I'm all in on OneNote now, super happy with it.

Nothing beats a plain Google Docs doc IMO. Synced everywhere, historical revisions (more useful than done.txt as I can see things I deleted/changed as well), it just works for me.

I really tried to use Google Docs for a few years until I felt overwhelmed by the privacy considerations of putting my entire life "in" Google.

I know it just works, I even know no-one is really mining the database to see what time my vets appointments are. But I couldn't shake the nagging doubt of giving one internet company "all my stuff".

As soon as you add features to more than a one item per line list you've added useless friction.

Unless you've got org-mode then its OK

Why is this better than just using some service like Rememberthemilk which I have been using?

Use a fucking text file

todo.org is also a powerful one :)

>a file you control

>on Dropbox

pick one

So this is a third party application (or one of several) I can download and install to make editing a text file sitting on my desktop easier and more accessible? Easier and more accessible than, say, opening it in Notepad? I apologize if I'm being snide, but I don't understand the use case here. This just seems like one extra step on an already very simple process.

I think the use case is pretty clear and simple, and somewhat appealing: You can use a todo list app of your choice, with whatever features you like, without getting locked in to a proprietary format.

Haven't used it myself, but if anyone has experience and/or recommendation for clients, I'd be interested to hear. It looks like it's been around for well over a decade.

I've followed Todo.txt from the beginning. It's an interesting project because it started without code, as just a Lifehacker post (back when it was very popular) about GTD-esque formatting for text files [0]. The actual application was built later [1] to simplify creating/querying todos in the files.

[0]: https://lifehacker.com/geek-to-live-list-your-life-in-txt-16...

[1]: https://lifehacker.com/geek-to-live-reader-written-todo-txt-...

It appears to share some qualities with bullet journaling.

Thank you (and all other respondents) for clarifying that. The website doesn't do a great job of explaining it.

This is a simple text format that you can edit using any tools you want, including Notepad.

They have created their own convenient apps that makes It slightly easier to edit, because unlike a general purpose editing app, it knows the format that this file is expecting.

I have to try it out, but I suspect I would use Vim on the desktop, but use their apps on my cellphone.

This is a really nice idea.

I've seen many text editing tools on touch devices, and the verdict is "painful to use." OTOH, if you exclusively use a single desktop computer, this is probably not a tool for you.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact