HackMake

Text File Notes in Things.app Repeating Task and Projects

Cultured Code’s Things has been my go to to-do app for years. It has the simplicity I want while having a full feature set. Recently, I’ve been working more with repeating scheduled tasks and projects and have found that the notes system for it isn’t as robust as I need.

I’ve created a multi-step project called “QA & Deploy” that repeats on Tuesdays and Thursdays. Throughout the week, we will have git branches that need to be QA’d, merged, and deployed to production and I’ve been keeping track of these in Things project notes. The problem is that if it’s not the day that the project has moved from scheduled into today, any notes I add to the project are actually made in the project template rather than Tuesday’s instance. Ideally, Things would create instances for this weeks recurring projects in Next which are separate from the template, but knowing Cultured Code’s history with updates, I’m not holding my breath.

I created a workaround using flat text files and Alfred. I used a really basic shell script to create a new .txt file in an arbitrary directory (~/Dropbox/Library/Things/documents) with the filename being the query in Alfred.

This makes it simple to pop open Alfred, hit the command to create a new Things document, and type in the filename I want. This document will then open in whatever application you set in the script, for me BBEdit, and you’re ready to add your notes, save, and drag the file thumb from the title bar into the Things project note area. You’ve always been able to add file references to Things tasks but this system makes it simple to create and puts the file in a place that won’t ever get deleted or moved, so the reference is always active.

What you gain from this is being able to have better project templates where you have more control over the notes. Your repeating tasks and projects will always reference this file so you can have consistent notes if you want or if you don’t, still have a better way to manage them. You get to have your notes in your favorite text editor, with all of the advantages that has rather than the simple text field in Things.app. The downside to this method is that you won’t be able to edit your project and task notes directly in Things for iPhone and iPad, but if you put these documents in Dropbox—which you should—you can edit them in a better text editor there too.

I use this script for Things notes, but all the script does is create a file with whatever extension you designate in the script, in a specified directory with the filename you give it in the Alfred query, so you can let your flat-text-file-imagination run wild and use the script for whatever .txt needs you have.

Download the Alfred extension

Bonus: With both this system, and the one I created for scratchpads, I wanted the new text files I created to open with Markdown syntax highlighting. To do this in BBEdit, go Preferences > Languages > Custom Extension Mappings and add a new mapping for .txt to the Markdown language.