Totally TaskPaper

[Tweet : nvALT]

I’ve been switching back and forth between The Hit List and OmniFocus for a while now. I like the simplicity of The Hit List combined with it’s tagging/filtering capabilities, but the overall power and scriptability of OmniFocus keeps drawing me back. Plus, the forecast and review modes in OmniFocus for iPad are amazing. You can criticize me for fiddling if you like; I mess with my systems in my free time, but always make sure they’re stable before Monday morning comes…

Within my projects like nvALT and Marked, as well as some smaller scripting projects, I’ve been keeping bugs, feature requests and general todos in TaskPaper format text files. They sync nicely in my Git repos and are easy to manipulate with or without the TaskPaper application. TaskPaper’s built-in scripting and filtering capabilities make it very easy to handle advanced views of my tasks. So much so that I’m switching my entire todo system to TaskPaper for while to see how it goes.

TaskPaper files are plain text with a simple, intuitive syntax. I can edit them in nvALT, sync them to the TaskPaper iOS app or any iOS text editor, and access them on multiple machines easily. I can even get a great printout, thanks to Dr. Drang. I like the portability. Within the TaskPaper application, they get a great UI which allows for mousing around and editing them like text files. You also get some great keyboard shortcuts for navigation and manipulation.

I also like the advanced search capabilities of TaskPaper itself. It’s a simple, easy-to-remember syntax which lets you use queries such as project = Bugs and @v > 1.2 or @v = 1.3 and not @maybe and project != Archive 1.2 +d. The “@v” part of those queries comes from the fact that when you tag a task in TaskPaper, you can add a parenthetical parameter to the tag, e.g. @v(1.3). That’s my tag for the version of the app it belongs to, in this case version 1.3. It doesn’t have to be numeric, but numbers are especially nice because you can use greater-than/less-than operators on them. I can then sort my tasks and completed task archives by version number when putting together roadmaps and changelogs.

TaskPaper allows for nesting tasks and projects, too. Just indent a line one tab farther than the line above it and it becomes a child task. Keep nesting as deep as you like. You can use “+d” in search queries to include all child elements of matching actions/projects.

I can see great possibilities for expanding these capabilities to my every day task lists. I already have several very handy scripts for working with TaskPaper, including the date increment/decrement and priority and natural language date scripts I’ve posted before. The best part for me is that I can work with my files in TextMate and on the command line, too, and do sorting, searching, tagging and more all through script commands. It gives me plenty to fiddle with on weekends, and provides a powerful system when I get down to working.

My one request for TaskPaper–and I know I’m not alone on this–is to be able to save search queries and use them across files. I know I can leave tabs open to preserve them, but that’s not a viable substitute for a “Perspectives” type of feature. Hopefully Jesse will concede on that someday soon.

I was a very ardent user of GTDAlt as a plain-text todo system for a long time, but TaskPaper has taken its place in my heart. I’ll let you know how it works out in the long run as I get this new task management system polished up and ported over.