found drama

get oblique


by Rob Friesel

For about the past month, I have been trying out the public beta of Cultured Code’s Things. Things is a “GTD-style” task management application with a clean UI and some nice, convenient features. While I am not really an adherent to GTD philosophy credited to David Allen, the truth is that a decent task management application can be difficult to find and doubly so if you shun “GTD” all together. iCal has its half-baked to do list1; then there are full-blown project management apps; or you can hack your way through it with a more general purpose app like OmniOutliner. That said, it perhaps goes without saying that I have eschewed these task management apps in the past because they have either seemed overkill or else flimsy band-aid solutions to more pernicious problems. When I read about Things for the first time on TUAW, it sounded like it might hit the sweet spot for me and I decided to give it a spin.

First, a little background: as I mentioned above, I’m not a GTD-crazy member of David Allen’s Cult of Productivity2. Inbox Zero is a nice theory but isn’t for me. The @context nomenclature causes me physical pain. The idea that I need rules to dictate what to do and when to do it? C’mon, we’re all grown-ups here… But there is also a secret, lazy part of me that wants to off-load the “remembering” part of my chores, tasks, projects, etc. A secret part of me that wants to be told what to do and when to do it, even if I’m going to postpone it anyway. This is why OmniOutliner has worked really well and yet really poorly for me. Because OmniOutliner is not specifically a “GTD” task management app, it has been easy to add/remove columns as I see fit, bury tasks underneath other tasks to “make” projects; it’s been easy to move tasks up and down the list as their priorities and deadlines change. But OmniOutliner also doesn’t really know or care whether those tasks are one-shot deals (e.g., “price comparison on camera”) or recurring chores that need to reappear every week (e.g., “clean the bathroom, sicko”). That’s where Things came in.

The Good. As alluded to above, it was TUAW’s mention of the recurring tasks in Things that got me motivated to try it out in the first place. I had been relatively satisfied with “my” OmniOutliner approach except for how I needed to manually manage my recurring tasks. I had tried pairing OmniOutliner with Sciral Consistency for a while but did not care for flipping back and forth between the two applications. Putting it all into Things seemed like the way to go.

My first impression of Things was that I liked the UI; it is unintrusive and seems well thought-out. The most important information about a given task is furthest left (for us left-to-right readers) and everything else about it (e.g., tags, due dates, notes) stays out of the way. This sets up the UI to focus you on the task (by way of its name) and its status (finished or not). Also, because the UI is minimalist, the iconography is very easy to figure out. You don’t need to be told what the “this task has notes” icon means; it just shows up when a task has notes and since that’s the only thing unaccounted for, you can just hop to it.

Speaking of “unintrusive”, their approach to tag-based filters is quite clever. When you load a given view3 Things identifies what tags have been applied to the visible tasks and displays them across the top of the app window. Clicking on that tag will filter the view so that you’re only seeing tasks with that tag applied to them. Additional “sub-tags” may then appear to help you drill down even further and get more specific. This can be very useful if you are dealing with many tasks on a given day; it’s even more useful if those tasks are project- or context-based and you have “nested” tagging in place. While the UI for this is clever enough in its own right, I was doubly impressed when I noticed that Things “drills down” as far as it can for you. In other words, if you have tags nested like Home ⇒ Chores ⇒ Kitchen and Home ⇒ Chores ⇒ Bathroom, and your “Today” task bucket only has tasks for Kitchen then the tag bar will start with Kitchen. But if your “Today” bucket has tasks for both Kitchen and Bathroom then the tag bar will start with Chores. I find this to be a smart feature of the application and am quite impressed with it. So impressed that I’m disappointed that I don’t use it frequently.

Another thing that Things appears to do very well is the way that it handles postponed and rescheduled tasks. It took me a little while to figure this out. My first instinct was to drag/drop rearrange the tasks within a given bucket and (in some instance) to drag them into different buckets. Then I discovered that I could select a given tasks and then click on “Schedule” to get it out of my sight, let me deal with it later and focus on the “actually” important tasks. What is particularly nice about the “Schedule” action is how I can tell Things whether to bury the task for one day, two days, three weeks, or whatever other interval I choose. This has repeatedly proved handy for those tasks that I know are necessary but don’t need my attention for a while still. That said, there are some quirks and nuances to how these operations and work and where the tasks “bury” themselves when they have been scheduled or postponed. More on that later.

Overall, I feel as if there isn’t much to say about Things in the “good” category. But that’s not because there is nothing good to say but because it’s encapsulated by my initial impression: Things has a clean, intuitive, unintrusive UI that presents its purpose clearly and functions as expected. There is no bloat here; though I wonder what ~/Library/Application Support/Cultured Code/Things/Database.xml would look like after 2-3 years of completed/logged tasks…

The Bad. For as otherwise clean and straightforward as Things is, there are a couple of areas where it either behaves badly (i.e., “unexpectedly”) or else lacks a certain clarity.

First, the connections between the Collect, Focus, and Organize “super-buckets” are not always obvious. Adding a task to an Area does not appear to automatically add it to the “Someday” or “Scheduled” lists. Perhaps I come into this with a handicap (i.e., not being a GTD acolyte) but it would seem to me that if I add a task and it has no due date then it’s bound for “Someday”; if it has a due date, it’s going into “Scheduled”. When those tasks land in “Next”, it doesn’t always make sense to me. Granted, I have not closely followed where each task goes; my efforts to parse out the logic have been few and (for the most part) the tasks have not “disappeared” on me.

If anything, it seems as if Things remembers tasks too aggressively. There have been a few instances where I have created a task, then gone back to make it recurring, and suddenly things is creating 2 or 3 copies of that task all due on the same day. It’s as if Things saved my edits to the task incrementally, leaving behind multiple “master copies” in the Scheduled bucket. The part about this that drove me crazy is that it was not easily reproducible; it happened a few times (intermittently) but I haven’t been able to reliably recreate the problem.

Tangential to this maybe-it-is-or-more-likely-I’m-using-it-wrong bug are the mixed feelings that I have about how the tasks get clustered by Areas within the “Today” and “Next” buckets. On the one hand, clustering these according to their logical relationships makes quite a bit of sense; who wouldn’t want their like items to be together? On the other, this seems like a quick and easy way for items to get “buried” when you have a long list of tasks in that particular bucket: uncategorized tasks of questionable importance all rise to the top while critical tasks in the “Work” area all sink to the bottom of your very long list of tasks in “Next”. Granted, if you’re using Things effectively, you’re using the tag bar to narrow down your list anyway, making this a minor UI annoyance at worst.

Another thing that I noticed while paging through my “Next” and “Someday” buckets was how projects showed up. Projects show up right alongside tasks; they’re indistinguishable from tasks except for a blue “tab” that appears on the left side and performs double-duty as a progress bar. I quickly figured out that these are projects instead of tasks; that part was fine with me — like I mentioned before, the UI’s aim is to be as unintrusive as possible. What kept throwing me off however was that a project responded to double-clicks in the same way that tasks do: it “opens up” so you can edit the task instead of showing you what component tasks it contains. It took me a while to figure out that I needed to click on the # items link in the leading tab. And even then, the project revealed its component tasks by moving me into that projects bucket — even though the “Someday” (or “Next” or whatever) bucket remained highlighted in the app’s main navigation pane on the left.

Aside from the “Things remembers my tasks too aggressively” bit (which I can’t even reliably reproduce), these issues are all pretty minor and most of them stem from either (1) my unfamiliarity with the GTD approach4 or (2) my head-first, damn-the-wiki-full-speed-ahead approach to the learning the application.

The Miscellaneous. The past month spent with Things has been productive and, in a way, fun. As I keep mentioning, I have really enjoyed the clean, minimalist UI and the fact that it’s focused on task management without any of the added bloat of project management, calendaring, team synchonization… Even my qualms with the app seem to stem mostly from some of my own predelictions and biases. That being said, there are a couple of other noteworthy points of feedback that seemed a bit neutral to me. I’ll present them bullet-point style as follows:

  • The tagging. Overall the tagging is great; a nice and flexible approach to categorizing and organizing your items. I was expecting the tags to “do” more, I suppose though; I was expecting Things to auto-tag a task if it was added to a given project or area (perhaps) or maybe the other way around. But this hasn’t been a big deal. What has been a big deal, is how a task’s name can become overwhelmed and obscured when you add “too many” tags to it. As I mentioned above, putting the focus on the task’s name is perfect and we should consider that name to be next to sacred. If the list of tags gets too long, collapse them into an icon. Especially since we can start to make inferences about what items are tagged as what based on what tags show in the tag bar.
  • Attachments to external files. This is kind of a big one for me. One of the things I love in OmniOutliner is how I can drop in an alias to an external file and it shows inline with its icon and name. This makes it easy to spot the attachments and easy to open them up. Things allows me to add “attachments” into the notes (which I like) but they just show up as if they were links (which is weak).
  • Projects vs. sub-tasks. This is me and my scope creep… This is me trying to break my OmniOutliner habits… Sometimes I found myself wanting to drop a sub-task under a different task instead of converting it to a project. I just kept thinking: but it’s not really a project…
  • The Dock icon. I love it. But for some reason, I kept expecting it to light up with badges (a la Mail) telling me what tasks were in my “Today” bucket.
  • Right-click? I have mixed feelings about this one. On the one hand, the simplicity of the UI demands that we not clutter it up with context menus accessible via right-click. On the other hand, my inner power user kept wondering where the hell they were.
  • Where are my master recurring tasks? It took me a long time to figure out where the “master copy” of a given recurring task is. (HINT: they’re in the Scheduled bucket. At least I think they’re in the Scheduled bucket.)
  • Recur after completion. In theory, I love this feature. I love that task will recur (i.e., Things will create the next copy of that task) only after I have checked off the previous one. There are tons of little “daily” and “weekly” tasks/chores like this. But I never really got this to work reliably. I think these kept getting buried in Next or Scheduled or something like that…

Conclusions. I think this review would mean more if I had more experience with other “GTD-style” apps; it would have been nice to do an apples-to-apples comparison with something like OmniFocus or iGTD or Kinkless. Instead, my comparison leans on my ol’ home-brewed OmniOutliner approach. The real question then becomes not “what would I change about Things?” but “would I buy it?” And to that, I’m undecided. The recurring tasks features are pretty important to me and overall, Things is a good-looking and well-engineered application. But I found my OmniOutliner-based habits and expectations very hard to break. For the time being, I think I will continue using it through the rest of the public beta and make a decision when we get closer to the final release.

  1. Say what you will about its integration with Leopard Mail, I still think it’s little better than sticky notes. []
  2. I mean this in colorful good humor. []
  3. Or “context” or “bucket” or whatever you want to call it. []
  4. That’s my presumption, at least. []

About Rob Friesel

Software engineer by day, science fiction writer by night; weekend homebrewer. Author of The PhantomJS Cookbook and a short story in Please Do Not Remove. View all posts by Rob Friesel →

One Response to Things

Leave a Reply

Your email address will not be published. Required fields are marked *