I'm kind of amazed Things 3 is actually in the world. It was in beta for so long I'd given up on it ever being released. But now that it's here I've tried it out of curiosity and been happy to find it's the best fit for the way I manage tasks. I've been using Things 3 for a couple of months now, and I'm really enjoying it.

I don't want to do a full explainer about how Things works, but just in case you're not familiar with it, here's the basic idea: tasks can have start (yay!) and due dates, tags, checklists, and notes. You can organise tasks into projects, which can have dates, tags, and notes of their own, and can be completed. You can also put tasks and/or projects inside areas, which don't have their own dates or notes (though they can have tags). They're more basic collecting areas for related projects and tasks.

In my screenshot above, you can see all my areas and projects listed in the sidebar, with areas in bold. Projects get a little pie icon, which fills up as you complete the tasks inside it.

There are also some built-in lists you can work from, such as Today, Upcoming, Anytime, and Someday, as well as a Logbook section where you can revisit completed tasks.

Managing a content calendar with Things 3

One of my main uses for Things is to manage my work writing and publishing content for RescueTime. I have an area in Things for RescueTime which contains one-off projects for long-term work like our content guides, and a never-ending project for my content calendar.

In Things 3 headings are a new feature that let you break up projects visually. I use headings in my content calendar project for each week of the current quarter. I publish two posts on the RescueTime blog per week, so each of these headings should have two tasks under it. If I'm writing a guest post, that will go here as well, and I'll be able to see at a glance that my week is extra busy with three posts instead of two.

Each of my blog posts exists as a task with a check-list of subtasks. Since most of the subtasks are the same for every post, I've created a template version of a blog post task and set its start date to "someday" so it won't show up in filtered views like the Upcoming section. I use the duplicate feature (cmd+d on Mac) to create new versions of this task and simply rename them and drag them under the right headings.

When all the posts for a week are completed, I archive the heading. This means the top-most heading is always the one I should be focusing on. (Headings don't act like tasks at all. You can archive them or move them around, but they're really just visual indicators.)

Subtasks in Things are called checklists. This fits better than calling them subtasks, because they don't have all the same functionality as tasks. They work more like a simple checklist for each task, with no separate tags, notes, or dates. Because I can't assign different dates to the items on my checklists, I just reset the start date of the entire task based on when I need to do the next item on its checklist. When that task pops up in my Today view, I open it to see what's next on the checklist, and that's how I know what to work on.

I tried using an area in Things for my content calendar, which let me use a project for each blog post and a set of tasks rather than a task and a checklist. But I found this didn't work as well and I missed the ability to use headings to visually break up my content calendar (you can only use headings inside a project), so I'm using this slightly clunky workflow of tasks to represent posts.

Managing development projects with Things 3

I'm using Things 3 to manage my two ongoing development projects: Exist for iOS and Larder for iOS. I have an area for each of these apps.

Larder hasn't been released yet so the setup is slightly different. I have a project under Larder for the first public beta which is what I'm working towards now. And I have another called backlog.

For Exist, which has been released, I have projects for each upcoming version I'm working on, as well as a backlog project.

Both my backlog projects contain everything I want to do at some point (or might do at some point) but haven't yet planned for a specific version. Exist's backlog is quite full, so I've used headings to split it up into "next", "soon", and "later", to help me prioritise when I'm planning a new version of the app.

Managing everything else with Things 3

Everything else falls into two main areas: Hello Code, for anything business-related that's not development, and Personal, for everything else.

My Hello Code area includes projects for each of our products, Exist and Larder, for the Exist and Larder blogs, and for our company blog. Areas themselves can hold tasks as well as projects, so anything generic to our company, like business admin or tax-related tasks just go into the area.

My Personal area includes projects for my own blog, bills to pay, goals, project ideas, and a shopping list. I've also made a project in this area for moving house, to keep all those tasks together until the move is over and I can complete the project.

I use a Google Pixel these days, so I can't use Things on my phone. I find this a pain when I want to add a task while I'm away from my computer, but it doesn't happen too often. And since I mostly get work done at my computer, or on my iPad, where I also have access to Things, I generally have it when I need it.

When Things 3 was released, all the positive reviews said it looks amazing. It does look nice, though it's got a very simple, understated design. It's hard to say something that seems to be designed to not get in your way or draw attention to itself is beautiful. But more important than the style is how polished it feels. The app just feels well-made. You can tell the difference between this and a web wrapper, or an app that's fragile and clunky. I feel like I can trust Things to work well, and to be well thought-out in every respect. Even if it doesn't always work the way I want it to, it works the way it does for a reason, and a lot of thought has gone into every compromise that's been made to build it.

The other thing I love about Things is how using the app often feels like dealing with plain text. I love that with plain text I can always see what's going on. I like using a Markdown editor that doesn't hide my markup. I like to know what I'm doing. And I like to keep my hands on the keyboard and use the keys to get around, rather than clicking on buttons.

Things offers both these things. There are lots of shortcuts, so I can do almost anything I want to without taking my hands off the keyboard. And when I'm creating a new checklist for a task, it feels like writing a quite plain text list of to-dos, even though it looks much nicer than that. Hitting enter creates a new item on the checklist. Hitting cmd+delete (which I do a lot when editing text; it normally deletes from the cursor to the beginning of the line) deletes the checklist item I'm writing and bumps me back to the previous line. Those tiny touches make Things feel like a text editor when I want it to, but it feels like a polished task manager the rest of the time. It's a very clever blend, and I'm surprised how impressed I am.

I've become disillusioned with iOS and Apple's choices recently. I started to hate using iOS so much that I switched to an Android phone. But I miss the third-party developers that are heavily committed to Apple. The reason I switched from Android to iOS years ago was because I was sick of missing out on great software that was only available for iPhones. These days, the situation is better, but only to some degree. Plenty of great software designers and developers only work with Apple products, and it means I miss out on using some great apps. I'm glad Things works well as a Mac-only app for me, because it particularly shines on the Mac, and I'd be disappointed to miss out on using it.

P.S. I make some stuff you might like: Exist, a personal analytics app to help you understand your life, and Larder, a bookmarking app for developers.