Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the TidBITS Content Network for Apple consultants.

Things, a Nimble, Flexible To-Do List Application

In recent years, I've tried some applications dedicated to the elaborate Getting Things Done (GTD) model of organizing your to-do list, such as Thinking Rock (see "Get a Piece of the Thinking Rock," 9 October 2006) and OmniFocus (see "OmniFocus Willing, But Not Quite Ready, To Help Get Things Done," 30 April 2008). I also use a calendar program, Remember? (see "Remember? Not Forgotten," 30 June 2003), that tells me when an event is upcoming, and is smart about events that repeat at regular intervals. I've also used some utterly simple to-do list programs, such as Ambrosia Software's ToDo! desk accessory. (ToDo! doesn't run on Mac OS X, and I bet most of you don't even remember what a "desk accessory" was; you can get a notion of ToDo!'s simple, clean interface from the screenshots of Omicron's ToDo X, which is modeled after it.)

The nice thing about Things, from Cultured Code (a development house based in Stuttgart, Germany), is that it combines aspects of all of these. Its interface is bright, clean, and simple. It understands due dates and has a very good notion of repeating events. It can be used in the very simplest way, with the most basic organization, like assigning a task a priority value or a vague target date. But it can also implement something very like a full-fledged GTD system. And that flexibility is the whole point: Things gives you a few elementary tools, and you combine them the way you want to.

Things Descriptive -- A task in Things is minimally just a word or phrase specifying what you want to accomplish. It has a checkbox so you can mark it completed, and you can drag it around in the Things window. And that's basically all! But if you want to, you can attach further information, such as:

  • A note. This is longer text describing the task. You can't use styled text, but you can drag a file from the Finder (or a URL, or a message from Mail) into the note area to get a hyperlink that opens it.
  • A due date. You can enter this as text or using a month-based calendar display. A task can also be made repeating, which basically means it will generate a copy of itself, either at some regular interval or after a copy is completed; the interface for making and editing a repeating date is impressive.
  • Tags. A tag is an arbitrary word. Tags can be hierarchical, so a task that is assigned a child tag also implicitly is assigned that tag's parent. A task can have any number of tags.

On the left side of the window is a sidebar containing "levels of commitment" to which a task can be assigned:

  • Inbox is a holding tank for new tasks without assigning a level of commitment yet.
  • Someday is for tasks you're not ready to worry about yet.
  • Scheduled is a way of postponing concern about a task to a definite date; when that date arrives, the task will automatically be highlighted or, if you prefer, moved to Today. (Repeating tasks are also implemented through a master copy that lives in Scheduled.)
  • Next is for active tasks.
  • Today is for active tasks you really want to focus on; a task in Today is also automatically in Next.

A task that isn't in the Inbox must be in Someday or Scheduled or Next, and a task in Next either is or is not also in Today; that basic fact is one of the few Things fundamentals that must actively be grasped in order to use the program effectively.

The sidebar can also display "areas of responsibility." These are arbitrary categories, rather like tags; and at first you might not see why you'd use areas of responsibility as opposed to tags. One reason is that it's nice to have a way of seeing tasks that's independent of levels of commitment. For example, I have a "Programming" area of responsibility, just to have a place in the sidebar where all programming-related tasks live, regardless of their status. You can actually combine areas and tags: every task in an area of responsibility automatically acquires any tags assigned to that area.

Some tasks are complex, and need to be broken down into simpler sub-tasks, providing you with a clear sense you're getting somewhere even though you haven't yet completed the whole task; a task like that should be a "project." A project is itself a task, with a few special features. For example, a project's tags are automatically assigned to its sub-tasks. Most important, if a project is in Next, just its first few uncompleted sub-tasks are displayed there. This keeps a project from becoming overwhelming, and keeps you focussed on the sub-tasks in order. (A project cannot have sub-projects.)

To focus on a set of tasks, click something in the sidebar; this limits the main display to the contents of what you clicked. For example, to see the Next tasks, click Next. Then, at the top of the window, there's a region called the "filter bar," which lets you focus still further. This region appears only if it's needed, and it contains only buttons relevant to what's being displayed in the window. So, if some tasks displayed in the window have due dates, the filter bar appears, with an alarm-clock button in it; click that button to see only the tasks with due dates (in date order). If the window is showing some tasks that have tags, the filter bar appears, with buttons representing those tags; click one (or more) to see only the tasks with those tags. There's also a search field at the bottom of the window, so you can limit what you're seeing to tasks whose title, note, or tags contain certain characters.

Things has some additional features that I haven't tried, such as synchronization with iCal or the Things iPhone app (which I also haven't tried). And there are some other features, such as the Add Teammate menu item, whose purpose is not clear to me.

[Adam here... I've used the iCal and iPhone app synchronization, and both work well (look for their controls in the Things preferences window). Syncing bidirectionally with iCal requires choosing which levels of commitment you want to sync - Today or Next - and which iCal calendar tasks in those levels of commitment should appear in. A Custom option adds syncing of Someday, and lets you sync specific areas with particular calendars. Since iCal synchronization works via Sync Services, programs like BusyCal can read and write those tasks too. Syncing with the Things app for iPhone or iPod touch occurs via Wi-Fi once you've paired your device with Things, and any time you launch the app while Things is running on your Mac, the two sync any changes. The Things app faithfully converts the program's Mac interface to the iPhone; the main lack is an equivalent of the filter bar. The Add Teammate menu item? It's described, briefly, in a blog post, but without sharing of tasks between networked users, it's hard to consider using it in favor of a site like Manymoon.]

Things Judgmental -- In general, I like Things quite a lot. It doesn't adhere strictly to any prefabricated philosophy; rather, it provides a small number of fairly simple features and leaves it up to you how to use them. It has remarkably few menu items; yet it packs a lot of power. I'm not terribly fond of the non-standard interface - to my mind, it wastes space, plus I find myself clicking and double-clicking rather frantically, trying to get things to expand or collapse, or lose or gain focus - but I can live with it.

Sometimes the interface seems a bit too simple, though. For example, the filter bar lets me limit my view to tasks that have a certain tag; but there's no way to see only tasks that don't have a certain tag. To see why this might be needed, consider a tag whose meaning is negative ("on hold" or "waiting"); it's still in Next, but you can't actually perform it right now, so you need to hide it in order to pick something you can do.

Similarly, there is no view in which you see all your tasks: you must select just one level of commitment in the sidebar, and then you see only the tasks in that level. Similarly, the pending arrival of an item's due date isn't magically signalled; you have to deliberately look in Next and deliberately filter/sort by due date. As a result, as soon as I have more than a few tasks, I tend to become confused about what's where; I have to keep poking around, looking at various lists, trying to get an overall picture of the situation.

But those are minor quibbles compared to the lack of decent documentation. What documentation there is feels like an afterthought; indeed, until fairly recently the best explanation of Things was a user's online video, not even hosted at Cultured Code's site! There's online help (which appears in Apple's dreaded Help Viewer), but it's sketchy and uninformative, not to mention downright incomplete: for example, you'd never know from the online help that you can drag files into a tag's Note, or what the mysterious Add Teammate menu item is for. Similarly, Things is scriptable with AppleScript, and there's a PDF Things AppleScript Guide; but this isn't mentioned in the online documentation, and the download doesn't include the Guide, so how on earth are you supposed to find out about it? Cultured Code has a habit of describing a feature on their blog or their wiki and leaving documentation to catch up a year or two later; but not everyone wants to search the Web for basic facts about what an application does.

The online help is also inconsistent, using different terms for the same concept in different places (is it a "task," an "item," or a "to-do"?). The application's interface terminology has the same problem. The Add Teammate menu item creates a sidebar section called People (not Teammate) - two terms for one thing. "Levels of commitment" (per the documentation) are also called "Focus" (in the sidebar). When a task is selected, a certain menu item reads Move to Someday or Move to Next; when a project is selected, the very same menu item reads Make Inactive or Make Active, and does exactly the same thing - a clear candidate for Occam's Razor. My prescription is, as usual, that Cultured Code should hire an experienced teacher and documentation writer to rewrite the online help, provide a PDF manual, and straighten out the interface terminology.

Despite my reservations, I think that Things is an eminently usable application, which, ironically, is just what you want when what you're really after is not to use the application at all, but rather, to get things done. The price seems a little steep, but that hasn't damped the enthusiasm of users on Culture Code's forum, who are vociferously telling Cultured Code how they really use this program. That's a healthy sign; another is that Cultured Code is fairly open about what new features they're working on.

Things requires Mac OS X 10.4.11 or later. It costs $49.95 ($74.95 for a five-user, one-household "family pack"), and the download is fully functional without a license for 15 days.


Backblaze is unlimited, unthrottled backup for Macs at $5/month.
Web access to files means your data is always available. Restore
by Mail allows you to recover files via a hard drive or USB.
Start your 15-day trial today! <>

Comments about Things, a Nimble, Flexible To-Do List Application
(Comments are closed.)

Sebastian  2010-03-02 15:03
I use Things for Mac and iPhone (I love it), The iPhone for me is very useful for capturing ideas that pop up when I am out of office.
Then I sync with my iPhone, the unique flat that I have is that the sync is only with wifi conexion. It could be great that sync was for the cloud.
What things doesn't have is font control, a deal breaker for aging eyes.
Things is good, and has the possibility to be great. Time will tell. But I never understand the idea that Things is pricey. If it does its job, which is to help you run your life, accomplish projects and tasks, it seems almost comical to consider 50 bucks, basically dinner for two, expensive.

If it helps you be more productive its saving you money. Time is money after all. This is without considering that it's less than omnifocus.
David Blatner  2010-03-03 05:51
I have been using Task Paper ( on my Mac and iPhone for a while and I'm loving it because it's incredibly simple... I've tried more complex to-do programs, but I find that I just need something as simple as normal paper and pen.
Sterling Zumbrunn  2010-03-04 06:25
I used Things since it was a public beta, and would have great reservations recommending this software to anyone. The developer is slow as molasses. Promised functionality for both Mac and iPhone versions has been years in coming, and has some critical features such as over the air syncing may never materialize at this rate. Even super basic features like landscape mode and search were described back in August, and here we are in March and the final version of Things Touch 1.4 has not even been added to the app store. These developers do a terrible job of communicating - you were spot on about the lack of documentation.

Overall, I would recommend products from more reputable developers such as OmniGroup (OmniFocus is excellent, works as described, and has very active development with an iPad version to be available soon after launch). The aforementioned TaskPaper from Hog Bay Software is also excellent, for users that want more simple task management.
Durbrow  2010-03-06 13:34
Matt: Things does not allow for subprojects. The Hit List is much more graceful and does allow for subprojects. It is worth a look.
Please post a link to the "the best explanation of Things was a user's online video." It's mentioned in the article but with no way to find and view it.
Adam Engst  An apple icon for a TidBITS Staffer 2010-03-23 07:14
I'm not exactly sure which one Matt was referring to, but he did say it was the best "until recently." Screencasts I found include:


sure to go back to the beginning on that second one; there are multiple screencasts about different aspects of the program.)
This seems like an obvious suggestion to me - Cultured Code needs TidBits to write a Take Control ebook.
Hear, hear!
(This is a reply to Al's comment suggesting a Take Control book; at least on my screen, it's been moved to look like a reply to my own comment on alternatives to lists)
Adam Engst  An apple icon for a TidBITS Staffer 2010-03-23 07:10
If Cultured Code would like to talk with us about it, we'd certainly be happy to consider it. Our experience with projects like these is that they need a champion within the other company for the project to come to fruition, as our Take Control ebook about DEVONthink 2 is about to, thanks to DEVONtechnologies.
I have Things for Mac and for the iPhone, and I agree with the general idea of this review: while OmniFocus hits you over the head with the GTD method, Things starts simple, and it's possible to keep it simple forever if you want, but it's also possible to build out an increasingly complex system. I'd say that Things and Task Paper, and perhaps the Hit List, too, are the state of the art for to-do list management.

But what puzzles me (and I've told the Things developers, too, though I've no idea whether they read my message) is why all these programs seem so fixated on lists to manage to-do items. In the analog world, some people use lists, while others use index cards or post-it notes, which offer several advantages. On the Mac, when dealing with just a few items, Stickies are way more visually salient than a Things list item. I hope that one of these very capable developers starts thinking outside the box, rather than endlessly refining programs that are already fairly mature.
Jonathan Lundell  2010-03-22 22:39
Things is the only program of its kind that I've been able to stick with. I paid for OmniFocus, and dumped it for a beta of Things (sure, if OF floats your boat, good for you & it).

It looks pretty good, too; that means a lot to me.
Things is the only system I've found that gives me the satisfaction of ticking a checkbox when something's done, and organizing my huge ToDo lists into workable tasks that get completed on time. The Notes field is what really makes it work -- that's where my grocery lists reside, along with instructions, memos, etc. I wish it were searchable on my iPhone as well as on my Mac, but someday I expect it will be. Can't live without it now, not without forgetting umpteen things along the way. (The Someday section is invaluable for those things you want to do someday but have no idea when but if you don't write it down you forget about it, like fixing a sticky drawer or transferring audio tape to digital CD: no urgency, but it needs doing Someday.
I use the Teammate (or People) function for keeping track of tasks I've delegated to other people. If it was a task on my list, and I delegated it to someone else, but I'm still responsible for it so need to keep track of it, then I drag it onto one of my teammate's icons and it gets stored there as a reminder to follow up at some point.