GTD with DEVONthink Pro

Mon, 27 Aug 2007

In a previous article I gave an introduction to GTD. In this post I’ll describe how I actually implemented that system using the fabulous DEVONthink.

DEVONthink Pro

First a word of introduction. If you don’t use DEVONthink yet, I recommend you to try out specific tools like iGTD or kgtd first. They may be better suited to implementing a basic GTD system. I went with DEVONthink because all my reference material is already in there and so putting in my actions and projects into the same system makes sense. Additionally I don’t mind some custom hacking and customization which definitely is necessary with DEVONthink.

I believe with DEVONthink Personal you won’t be able to do some things I describe – for example script support is missing. I personally use DEVONthink Pro Office but DEVONthink Pro will suffice for what I describe here.

To give you an idea how addicted I am to that tool, here is what I store in by DEVONthink database:

  • Almost all documents I get via snail mail – scanned with OCR so they are full-text searchable.
  • Important documents I get via e-mail.
  • Snippets of online news articles. I use the command “Take Rich Note” in the service menu so I can do that from Safari and other applications.
  • All my del.icio.us bookmarks.
  • Notes I wrote about usage of a specific technology, software, etc.
  • Electronic books of different programming languages and technologies. For example some PDF books from the Pragmatic Programmers.
  • Book keeping. I use the Sheet/Record functionality of DEVONthink with the addition of an AppleScript to do a basic income/expense analysis by month.

So you can clearly see, that I am addicted to that program and have basically stored my recent life in there. And I take a lot of care about backing up that database regularly. Because of that for me it makes a lot of sense to add my GTD setup in the same database.

Reference

Based on a comment in the book, one of the first things I tried out is to store all my reference material alphabetically. Before I had complicated hierarchic structures which made filing and also navigating increasingly harder. Now I have the Reference folder containing just the alphabet. And below that the folders are filed with almost no hierarchy.

See the example in the screenshot:

Folder Structure

Next I created a GTD folder structure. I have these root folders now:

  • Actions: Next Actions
  • Inbox: Where I put stuff. I configured that as the destination of new notes in the setting (Preferences → Import → New notes)
  • Projects: One subfolder for each active project plus a list of “Future projects”
  • Tickler: The tickler / 43 folders structure from the book. I am still experimenting with it and am not yet really convinced that I like it.
  • Waiting: Actions that are pending because I’m waiting for input by some other person.
  • del.icio.us: All my bookmarks from del.icio.us. Automatically imported about once a day.
  • Finance: Balance sheets and all my scanned documents. As the offline documents I get are 95% finance related, the group name is appropriate for me.
  • Notes: Short notes about stuff I do, etc. that I can’t file in a specific reference place. Usually it’s phone conversations or short quotes I read somewhere.
  • Reference: My reference folder, see above.
  • Web: Links to web sites that I often read inside DEVONthink and feeds.
  • Done: Actions that have been completed. One subfolder per month. I like keeping archives, storage is cheap nowadays.

Contexts

The contexts are handled as subfolders of Actions. errands, home, etc.

Projects

The project folder contains one subfolder for each project where I store documents. Additionally for projects that require files on the file system – code for example – I create a folder with the same name in a file system project folder.

Scripts

With the help of AppleScripts I make two aspects of the handling easier: creating of actions and archiving them.

Both of these scripts I have from John Wiegley. downloaded from the DEVONacademy scripts site.

DEVONthink Jot Task

I use the Jot script to quickly create new actions. It prompts for a title and creates a new task in the Inbox with that name. From there I manually move it into a project folder or into a context.

 on handle_string(s)
     tell application “DEVONthink Pro”
         set theInbox to create location “/! Inbox”
         set theRecord to create record with {name:s, type:txt} in theInbox
         set state visibility of theRecord to true
     end tell
 end handle_string

on run tell application “DEVONthink Pro” activate display dialog “Create a quick task: “ default answer “” my handle_string(text returned of the result) end tell end run

This script I made accessible using the F6 key through Quicksilver. To set up that, go to the Quicksilver settings, Triggers, Custom Triggers. There create a new HotKey, select the AppleScript you saved somewhere on your disk and assign it the trigger you want.

Move Contents to Done

The collection also includes a script called “Move Contents to Done” to archive completed actions.

 on moveCompleted(theRecord)
     tell application “DEVONthink Pro”
         set theChildren to children of theRecord
         repeat with theChild in theChildren
             if state of theChild is true and state visibility of theChild is true then
                 set theGroup to create location “/_ Done”
                 move record theChild to theGroup
             else
                 my moveCompleted(theChild)
             end if
         end repeat
     end tell
 end moveCompleted

on triggered(theRecord) try my moveCompleted(theRecord) on error error_message number error_number if the error_number is not -128 then try display alert “DEVONthink Pro” message error_message on error number error_number if error_number is -1708 then display dialog error_message buttons {“OK”} default button 1 end try end if end try end triggered

Save that script somewhere on your disk, open the Info panel of the Actions folder (menu Tools, Show Info) and assign the script.

Icons

I took some time to find nice icons for the folders. It makes looking at this tool a lot nicer. The icons are extracted from several Mac OS X tools (iCal, XCode, Mail.app). Right-click any application on your disk and select “Show Package Contents” in the menu. Then in the folder “Contents”, “Resources” you find the icons of the application.

Conclusion

I have used that system in DEVONthink for about three months now. I even used it for the biggest project in my life so far: the wedding.

Being able to easily link to reference material and scanned documents from actions has been a killer feature for me.

Introduction to GTD

Fri, 27 Jul 2007

Changes are that as a geek you have already heard of the book Getting Things Done by Dave Allen. It’s been a buzzword on the blogosphere for quite a while now. Recently I gave in and finally read the book – and I can heartily recommend it.

Getting Things Done (or GTD for short) is set of basic principles about how to get work done more effectively. I’ll just describe the ones that I found most interesting.

Inbox

Everybody has a bunch of inboxes which generate new work. That can be your email inbox, physical mailbox, people laying work on your desk, even the newspaper of feed reader if you mark interesting stories there. My personal inboxes are:

  • Ideas (which I can file very rapidly into a separate system)
  • Email
  • Flagged stories in NetNewsWire
  • Loose papers (including physical mail)
  • Downloads still in the download folder.

The goal is to keep these inboxes down to 0. Nothing should be in there. Many people try that one and fail. That’s because the consequence is that you have to be a lot more rigid about creating actions.

For every item the inbox, check if you can process it in less than two minutes. If you can, do it. Otherwise file an action.

Actions

Actions are basically todo items but there is a catch. According to Allen – and I tend to agree – the basic problem with most todo items is, that they are not actionable. There are different reasons for that:

  • You’re waiting for some input.
  • The item actually consist of more than just one action.
  • You’re currently in the wrong place to actually do something. For example you can’t check out some papers with your coworker when you’re in the train.

The trick is to create actionable todo items. They are a clearly defined action which can be completed in one go.

Every action is assigned to a context – a location where you can actually do it. I have the following contexts, so you get the idea: errands, home, laptop, net, phone, work, work – office. The last two ones need some explaining. Almost all of my work I can do whenever I have internet connection. But I still don’t want to file it into the “net” context because then my separation of private/work would be less clear than I want it to be. So I have a “work” context which I can do whenever I’m working for the job. Additionally the “work – office” context if for stuff which I can’t do over VPN such as checking some papers with our office person or talking to somebody.

Also very important is to clearly mark an action when you’re currently blocked on it. In my case I move them into a separate folder called “Waiting” and clearly document the condition I’m waiting for.

These three things combined mean I can check a context and start completing one task after the other without having to think about every task first.

Projects

If anything requires more than one action it becomes a project. Every project gets recorded into a project list and for every project there is a filer with support material.

That’s where I step away a bit from Allen’s gospel. I create a project as soon as it generates reference material. That is to say when I have to file some documents which I’ll need with future tasks of the same project, then I consider it a project and track it as such.

Reference

It’s important to keep documents for referencing. That can be an offline folder system or on the computer. In my case I have used DEVONthink Pro for that since some time.

Tickler

The tickler is a really interesting tool for calendaring. But it works a bit different. It consists of 43 physical folders – one folder for each month (12) and one for each day (31). Now you know where the 43folders site got it’s name from.

For the next 31 days you have the day folders. So if you want to file something that you need at a specific date in the next 31 days, put it into a daily tickler. For everything which is longer away, put it into the monthly tickler. Every day you clean up the current daily tickler, move the contents to your inbox and then move that tickler folder to the next month.

I have personally not implemented that concept physically as I have an almost complete paperless office. But I did implement it electronically because I like the system to file actions or projects that are date-relevant.

Weekly Review
Every week you should review your GTD system, find out how you can get more effective and make sure you don’t get caught up in old habits. My weekly review looks like this:

  1. Process all inboxes: Move content of all inboxes into the principal Inbox (DEVONthink Pro)
    1. Mail
    2. Flagged items in NetNewsWire
    3. Loose Papers
    4. Downloads
  2. Process notes: Process all notes, scribbles and inbox. Complete actionable items (or schedule them), file reference material, delete unneeded stuff
  3. Previous calendar: Review past calendar dates, check what stuff still needs to be done and move it into active system.
  4. Upcoming calendar: Look at future calendar events. Capture actions about arrangements and preparations for any upcoming events.
  5. Empty head: Write down any new projects, action items, wait-fors, someday/maybes and so on
  6. Review “projects”: Check all projects, ensure that every project has at least one next step action.
  7. Review “next actions”: Mark off completed actions, clarify if action is clear for each item.
  8. Review “waiting for”: Record actions for follow-ups where needed. Check of received items.
  9. Review “May do / Future”: Check for projects that have become active and transfer them to “Projects”. Delete items no longer of interest.
  10. Move this document to next Friday in the tickler

Most of the contents is taken directly from the GTD book. I store that as a document in my filing system and handle it with the tickler to always pop up on Fridays.

Follow-up

I’ll follow up on this post with a post about how I implemented GTD in DEVONthink Pro.

Update August 27, 2008: I documented the DEVONthink integration now.