GTD with DEVONthink Pro

Posted by Patrice Neff 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.

Copy web site to DEVONthink

Posted by Patrice Neff Sat, 21 Apr 2007

I’ve been using DEVONthink Pro for writing notes and cataloging my know-how for a year now. I’m trying to copy news I read and want to keep there.

Using the internal web browser of DEVONthink it’s possible to copy web sites as rich text into DEVONthink. But it’s a hassle to copy first the web site link into DEVONthink, then open it, and from there create the rich text note. So I’ve always wanted to do that from Safari directly.

Lo and behold, it’s easy to do it from Safari: In the services menu (which I so far almost never used) there is a DEVONthink pro entry. Just select some part of the current web site then select Safari->Services->DEVONthink Pro->Take Rich Note. The short cut is Apple+).

It’s even possible to add the selection to the currently selected document in DEVONthink using Append Rich Note.

Career advice 4 - Knowledge management

Posted by Patrice Neff Tue, 28 Mar 2006

It is my opinion, that knowledge management is very important in the tech sector. For companies it's immediately clear why. But it also makes sense for developers. Being able to look up knowledge and also specific solutions in your personal repository will make you a faster and better developer. My knowledge management includes the following items:
  • Solutions to problems I had. Somehow the same problems/challenges seem to pop up every now and then.
  • Working code for common problems.
  • Documentation, books, standard documents, research papers.
  • My own descriptions of technologies (applying the old trick that you understand stuff better after describing it yourself).
  • Description of applications I have worked with, including solutions to problems.
  • Links.
  • Any other knowledge I want to keep. This is not necessarily tech related. For example I follow a few countries more closely than others (Switzerland, Japan, Peru) and put news of those countries into my repository as well. And my diary is also in the same database.

For most of my knowledge management I now use DEVONthink Pro. Before that I used a Wiki. And as far as I know Roger uses his blog as a knowledge repository. For managing my links I use del.icio.us.

I also put mails into my knowledge database. Before using DEVONthink Pro I just put them into some special folders in my mail program. This mails include mainly good tips from mailing lists.

If your company has some knowledge repository your want to participate in that as well. And if your company doesn't have anything like that yet, lobby for something. At namics it's a Notes database with articles filed under topics, at local.ch we have a Wiki. Both approaches work well.

At first sight it may look like you don't profit from participating in that repository. It looks as if only the company takes value out of it even to the extent that you can be replaced a lot easier if you document your knowledge. Many people I know actually have that opinion. For a variety of reasons I disagree very strongly with that assessment. Most important is that you will never be able to put all your knowledge into that database no matter how hard you try. Most of your value comes from the experience anyway. So while you do spread knowledge and therefore make yourself a bit easier to replace, at the same time you show to your coworkers and bosses how much you really know. There are additional advantages which I will explain below.

Say you document your knowledge about some obscure CSS implementation bug and put it into the database. You will get noticed as a CSS expert. So next time somebody has some CSS bug that needs debugging it's quite likely that he will contact you. We are talking job security here.

Or say you have 300 articles about that content management system that your company uses extensively. Even that personal manager who knows nothing about technology will see that the company won't be able to replace you without problems. Again, it's about job security.

A job is a lot easier to get if you have recommendations by coworkers who already work at the given company. I've also received mails by friends asking me about a person I knew from previous jobs or from school. Positive recommendations are easier to get if people know you from the knowledge repository. For example at namics I often got help requests from people at the German offices even though I didn't know them personally. Reason: they saw my name connected to that topic in the knowledge database. I'm sure that some of those people would put in a word for me should I try to get a job at their new work.

Sometimes your articles may lead to a discussion where other people propose better solutions, other workarounds, other products or whatever. So you learn as well. And to me it happened often that when writing a short note I would research a point for a few additional minutes. And sometimes during that short research I learned a lot of additional things.

The net result of contributing to the company knowledge repository is therefore that you make yourself seen and respected and that you learn more. And you help your colleagues which in itself is a good thing.

Quick action for today: do yourself a favour and think a bit about how you want to manage your knowledge.

DEVONthink: Making the switch

Posted by Patrice Neff Mon, 20 Feb 2006

I reported a few days ago, that I was trying out DEVONthink. I have also had a look at . But after looking at the price ($192 per year) I was not very motivated to have a deep look. A quick look I took and it didn't seem to provide what I'm looking for.

Meanwhile I imported most of the articles from my personal Wiki into DEVONthink and I also had a look at the export function. While it's not a world-class export function, it's reasonable. It can spit out a file hierarchy with all the RTF, PDF, etc. files in it (but the links are not preserved). It's also capable of exporting as a Web site where all the links will be preserved and the RTF pages are converted to (ugly) HTML.

All in all I am very impressed. It's indexing capabilities are great and it also integrates very nicely with the Web. I especially like the features of clipping text directly from Web sites. If you open a Web site in DEVONthink (or ) you can add the whole page or a selection to the database as a rich text document. I currently use that mainly to add clippings from or .

I guess I'll report some of my tips for using DEVONthink in the future. Meanwhile I'm waiting until it presents me with a "buy now!!!" message and will most probably purchase it then.

Correction: Tinderbox costs $192 to buy for the first time and comes with one year of free updates (that's where my $192/year came from). But the update "only" costs $90.

Update: As you can see in the following picture, there is already quite a lot of stuff in my database.
DEVONthink database statistics