Stick a Database in It, It’s Done

For months now, I’ve been using the superb Kinkless Getting Things Done system to manage my to do lists. I like it a lot. It’s a beautiful hack of the excellent-in-its-own-right OmniOutliner Professional that uses ingenuity and a healthy dose of AppleScript to turn that program into a fairly robust expression of David Allen’s “Getting Things Done” philosophy of personal time management.

Yet it’s still a hack. Ethan J. A. Schoonover, the author of what᾿s commonly abbreviated as “kGTD,” has done a tremendous job of turning OmniOutliner into a malleable repository for categorizing and manipulating reminders and to do items. As good as it is though, I’m rarely able to forget its limitations when I’m using it; the fact that OmniOutliner Pro wasn’t conceived from the ground up to handle this kind of data and the way users interact with it is often too easy to see.

All I Want Is a Database and a Whole Lot of Cocoa

Below: Doing Getting Things Done. The kGTD/OmniOutliner Pro interface, a marvel of a hack.

What it needs, more than anything, is a true database running behind it. Without that, there’s the unsightly reality of an essentially disconnected series of flat file lists; mark a task complete in one area, and it remains unmarked in another unless you synchronize the file. And believe me, I have to deal with script-powered syncing enough to know that I need as little of it as I can manage in my life. The lack of instant coordination across all the various ‘views’ of my to do list is less than ideal. And occasionally kGTD will mark completed tasks as incomplete all over again, which is confusing and disorienting.

Kinkless Getting Things Done Interface

It surprises me, actually, that no one is working on a proper, Cocoa-authored desktop application that is a fully-fledged, elegant version of kGTD. Schoonover has done such a remarkable with this solution that no further imagination is necessary in crafting an interaction model for a truly purpose-built version of the same functionality; just make it work like kGTD and hook up a database to the back-end of it, is what I’m saying. If there ever was low-hanging fruit in the market for productivity software, this would seem to be it.



  1. Hey Khoi,

    From what I’ve heard, both Ethan and Merlin Mann (of 43 Folders) are working with The Omni Group on a top-secret new GTD app–check out the fifth or sixth paragraph of this article on ‘The Omni Mouth,’ their company blog… I’ve also heard that it’s going to be called “OmniTask,” and I can bet it’s going to be awesome.

    As an avid user of OOP/kGTD myself, I can feel your pain (god, that sync takes long sometimes…), but I think something nice and shiny is in the pipes…

  2. I’m sure you’ve heard of it already, but you might consider submitting your “dream app” to this contest. Seems right up your alley. I’m with you in the hunt for this killer-task-project app that really gets the job done right.

  3. Hmm, “Brand New Secret Product is not a GTD app. However, we have been talking very seriously about building a GTD app, and collaborating with our friends Ethan and Merlin, and hearing so many of you tell us that you’re interested in that kind of software…”

    I remember the OmniPlan unveil (that was “Brand New Secret Product”), and I’m pretty sure “OmniTask” was something different…

    Anyway, here’s another article with more info (second half), it doesn’t seem like they’re that far along yet…

  4. While I love me some Cocoa smoothness, I think I’m looking for a web-based solution so I can access lists from home and work for starters, and across platforms ideally. Anyone have any good experiences or suggestions with a system of that variety?

  5. I had the same thought when I started using Kinkless, but about a web app. I had the Django data models written before I moved, but I never got around to a proper interface. One of the critical things that works for me about Kinkless is the Quicksilver input plugin, and I wasn’t up to writing that.

    I’d sign up to pay good money for a proper Cocoa app though.

  6. Well if there was a shared storage format/mechanism etc. I suppose in theory a web-UI and a Cocoa app could both share data…

  7. I’ve tried Frictionless, actually I think I’ve tried ALL of them. EasyTask, etc. And I always come back to kGTD. I’ve also spoken to some mac developers about making an app but nobody wants to bite. I think it’s a very un-sexy app to make.

    I’m hoping that Apple’s built in to-do with synch via imap will work well enough, but I really doubt it will handle contexts as well as we need it to.

  8. Khoi, excellent article. I am preparing to release the very thing that you have described. It uses Apple’s Core Data framework to provide a very fast database on the back end and everything on the front end is of course instant and synchronized. It will be available on your Mac as well as on any web-enabled phone, as well as in a regular browser. My blog is detailing the progress and I have some updates ready to post shortly.


  9. You can create your own elegant GTD app using the excellent Tinderbox, or nab one of the GTD templates from the Tinderbox exchange and tweak it for your own use.

    Tinderbox uses XML files, but it offers multiple, dynamic views on the same data. It also has programmable agents which are similar to Spotlight-driven smart folders. You can easily create an agent for each slice you want to look at (e.g., contexts, projects, etc), and then any updates you make in any view/agent are automatically reflected in the other views.

  10. I don’t mean this harshly, so cease fire, but why does kGTD draw such high praise when it falls so short?

    After doggedly using it for about a year now, I just recently gave up because so many things remain kludgey about it. Despite Merlin’s many useful tips on using it with OmniOutliner Professional, using it became a constant time suck. I think the reason kGTD gets such good Web buzz is because it’s so clear how great and useful it could be. The dream of kGTD, Quicksilver, iCal, and Services burns bright! But it’s just not there yet.

    When Ethan smooths off the edges—and I know his plate is full—I’ll be back with money in hand. But the whole point of GTD is getting things done, not constantly fiddling with the tools. In the meantime, I’ve settled for EasyTask, which isn’t nearly as comprehensive as kGTD. But, hey, at least it’s easy.

Thank you! Your remarks have been sent to Khoi.