Skip to content

Revisting the Note Taking Problem with DEVONthink

Though I continue to enjoy using the excellent software Scrivener to compose my dissertation, I am still unhappy with my note taking strategies and how I collect and organize this information digitally. After writing several postings on what I wish existed in terms of a software solution for doing research for a book or dissertation (1,2,3) and writing a little script to help improve the imperfect solution I have been using, I still find myself frustrated.

To summarize what I wish I had again in terms of a knowledge database:

As I make a note on a source, e.g. recording a single fact, fragment of information, observation, or summary of an idea from a work I want that piece of information to be taggable so that it can be easily found in the future when searching for that tag. I want to be able to add and tag many such notes quickly and efficiently, some of which are “under” others in the form of a hierarchical order, and which then inherit the tags of their parent notes so that I am saved a lot of repetitive tagging. Every single fragment or note must also contain some link, tag, or meta-data which indicates the source it came from (a book, article, archival document, interview, etc.) so that when I use that note in my dissertation or book, I can easily find the source it came from.1

DEVONthink Pro

I am in the process of shifting my note taking to a powerful knowledge database program called DEVONthink Pro. I was impressed at how quickly and easily I could import all of my nearly one thousand OmniOutliner documents, which I can now preview, search, tag, and group within DEVONthink. I don’t just want to reproduce my existing source-based note structure. I want to experiment with using this application to get just a little closer to my dream knowledge database described above. How am I doing this?

In DEVONthink, I create a group (which is what DEVONthink calls folders) for Sources.

Add a Group for a New Source – Each time I take notes on a new source (a book, movie, archive document, etc.), I create a group for it within this Source folder with the title of the source.

Create and Tag an Overview Document for the Source – In this newly created group I create a new text document with the name of the source in which I give some general information about that source (an overall description or summary) and give it some general tags that well represent the whole source.

Because DEVONthink also creates a gray colored pseudo-tag to every member of a group with the name of the group, any notes that go into this source group will contain a pseudo-tag indicating what source it is from.

Add Notes Using Customized Template Script – After creating and tagging the overview document, every time I want to add a note from this source, I select the overview document and invoke a keyboard shortcut connected to a DEVONthink template I have called “Note On Source” (I’m using Ctrl-Cmd-M) This invokes the creation of a hacked version of an existing template that comes with DEVONthink called “Annotation” written by Eric Böhnisch-Volkmann and modified by Christian Grunenberg. In its modified form the new template script does the following:

a. A new note is created in the source’s group
b. The new note gets a link created by the template script which links to it back to the overview document for the source (assuming it was selected when invoking the script).
c. The new note is then automatically tagged with whatever tags the overview document contained. I can then, of course, add further tags or delete any that may not be relevant to this particular fragment or note.

So what does this method accomplish?

Well, using this method, all my fragments, quotes, and notes from a particular source are together in its own folder, a typical default way of organizing one’s notes. However, every single note can also be found by searching for a particular combination of tags using DEVONthink’s various methods for looking up tagged items. Alternatively, one can create “Smart Groups” that include notes using certain tags. Every note contains a link back to its source, however, both through a direct link in the document, and through its pseudo-tag attached to the originating group. In short, one can find all notes related to certain tags without losing their source (or needing to input it manually in the note), and all notes related to a particular source. The default tagging of new notes on a source saves me a lot of typing, and I can just add any more specific tags relevant for that specific note.

Remaining Issues

Although I’m really impressed with the new 2.x version of the application, there are still a few things that I find less than ideal with DEVONthink to work in, some of which are no fault of the designers, but merely are a result of its developers not having the same specific goals that I have when they created the application.

1. Unlike Yojimbo or Evernote, DEVONthink supports hierarchical groups/folders. This is wonderful, and makes a lot of things possible. However, when selected, parent groups do not list contents of its child groups. Thus if I have a group called “Sources” and a sub-group called “Movies” inside of which I have files or groups related to individual movies, clicking on Sources reveals only an empty folder/group in the standard three pane view (or in icon view, a list of the folders that are in it) instead of all files under it in the hierarchy. Of course, the Finder and other applications often work the same way but it would be fantastic if there was an option to be able to “Go Deep” as one can when viewing folder contents in an application like Leap

2. Although I think someone could further modify the script I hacked to make this work, currently the system as I have it now does not permit no cascading notes: all notes are children of the original source, there aren’t any children notes of notes on a source. Thus the benefits of the kind of hierarchy of bullet points one is used to seeing in a note file is lost.

3. Because almost everything that was originally (in a note taking app like OmniOutliner) fragments that take form as hierarchical bullet points in single document are now fragment files in a hierarchy of folders, much of the power of viewing all of the content of these various fragments together at once is lost. DEVONthink lists all notes as files with single-line names. Ideally my dream note-taking software wouldn’t even need names for the fragments (my hacked version of the script just names them the date plus the name of the source) and would merely directly display the contents of notes so they can be seen juxtaposed with whatever other notes are in the list.

Downloading and Using the “Note on Source” Template

Again, I didn’t write this from scratch, but modified an existing template that comes with DEVONthink Pro. To use it, follow the instructions above. To install it:

1. Download the Script: Note on Source
2. Unzip the script and double click on the _Note on Source___Cmd-Ctrl-M.templatescriptd file inside. DEVONthink Pro will ask you if you want to import or install the template. Choose “Install” and it should now be active with the Cmd-Ctrl-M shortcut or directly in the menu at Data->New from Template->Note on Source

  1. My more ambitious and detailed description of this (including the idea of a “smart outline” which would then become possible) can be found in summary form in this posting. []

{ 13 } Comments

  1. Kithairon | 2010.9.10 at 8:40 | Permalink

    Hi Konrad,

    great stuff on your page; appreciate your thoughts and efforts to clarify workflow and use of pertinent software. Will responde in Zotero forum later to your script posted there.

    Have tried your ‘Note on source’template in DEVONthink but keep getting an error saying “An error has occured trying to add the annotation. ‘Name of missing value’cannot be given as ’2010.09.10 15:50:51 [title of my file]”

    Do you have any idea what goes on? Tried this with several different files after installing your script.
    Would love to make use of it. Thanks,
    Kithairon

  2. Muninn | 2010.9.10 at 13:52 | Permalink

    Hi Kithairon,

    I just downloaded and reinstalled my script and it works fine here. I’m not sure how to debug this.

    Are you using DEVONthink Pro? 2.0 or later?

    Is there any unusual text in the title or tags? (I doubt this should matter)

    You can try adding the following line after different parts of the “try” section of the script:

    display dialog “I reached this far.” which well help identify at which point the script failed.

  3. Scott Kerth | 2010.10.8 at 8:12 | Permalink

    Hearing about your work flow and how you structure your organization is very useful as this is one of the things I struggle with and use as an excuse to procrastinate. Your description of the perfect note taking software had me thinking of “The Personal Brain” software http://www.thebrain.com/

    Here is a thread which discusses integrating Personal Brain and Zotero for a smoother work flow and I would be interested in hearing your thoughts as to how this might help structuring your research if it is of interest to you.

    http://forums.thebrain.com/post?id=2833217&trail=45

  4. Pat Maddox | 2010.10.14 at 2:26 | Permalink

    Regarding limitation #1, DEVONthink will show documents for any group you have selected. So if you shift-click on a parent group and its bottom-most child, you will see a flat list of all the documents in that parent group. You could also command-click to show all the documents from only a subset of children.

  5. Markus | 2010.11.4 at 6:04 | Permalink

    I come across the same problem like Kithairon. I had a look at the AppleScript and it fails in the line starting with “set theRecord to import theTemplateFiles…”. The reason is that the variable “theTemplateFiles” contains a wrong path. It holds (only the end bit) “…Templates.noindex:_Note on Source___Cmd-Ctrl-M.templatescriptd:Contents:Resources:Scripts:main.scptContents:Resources:en.lproj:Note.rtf”.

    Obviously the function “pathToLocalizedResources()” delivers the wrong path, but I couldn’t figure out why.

    Hope this helps.

  6. jseliger | 2010.11.4 at 10:52 | Permalink

    You may not actually need your elaborate tagging system; I used to have one too, but now I’ve learned to trust the DTP associative search algorithm more, as Steven Berlin Johnson describes in this essay. It may also be that I’m too lazy to tag everything or keep tags straight in my mind.

    Also, if you haven’t seen it yet, take a look at the “Best Book Stand” Jasmine. I use and love it. I don’t know your field and whether you use many books (I’m in English), but if you’re a library hound, you’ll ask yourself how you managed to survive without one.

  7. derek | 2010.11.4 at 14:04 | Permalink

    Eastgate’s Tinderbox sounds like software that may interest you. http://www.eastgate.com/Tinderbox/

    It accomplishes much of what omnioutliner does, but is ultimately more flexible. As an academic researcher, all my research work is done with both DevonThink and Tinderbox. All the notes go into DT as rtf files and I use the AI to make interesting connections. Then the notes relevant to any particular piece of writing move to Tinderbox, where they can be flexibly arranged: mapped visually, put into outlines, arranged automatically through agents that can search based on the text of notes or based on custom metadata that you can create. It’s so powerful and flexible people often complain there is a steep learning curve because it’s not immediately clear how to exploit it’s power for your project. But, the developer will answer email and help you design your project, and the user forum will also help you with technical and conceptual issues.

  8. Mark Bernstein | 2010.11.5 at 9:31 | Permalink

    I agree with Derek: Devon and Tinderbox work nicely together.

    The learning curve business can easily be exaggerated. In your case, you already KNOW about inheritance — that’s where we started! So you don’t need to learn about inheritance or why it might be useful.

  9. Deb | 2010.11.5 at 22:23 | Permalink

    Help!!!
    I’m about to undertake a thesis…and I’m sorry this sounds so elementary, but I am a techno-idiot.

    I want to be able to enter quotes as I read books (mostly) and have some way to organize, find them when I need them. I have Devonthink Pro, Sente….

    How do I do this?
    Do I need something else?
    Can I enter my quotes into Devonthink as I read (notes?)?
    Do I need something else.
    Sorry….just a bit lost and overwhelmed.
    Thanks in advance.
    Deb

  10. Deb | 2010.11.7 at 9:47 | Permalink

    You can ignore the plea for help.
    Just bought Getting Started with Devonthink 2.

  11. Cathy | 2010.12.1 at 18:04 | Permalink

    Thank you so much! These are exactly the kinds of tweaks I’ve been looking for but don’t have the smarts or experience to do myself. Now to tackle Zotero! Judging from the posts and your dreams for fixes, it might make sense to wait. Or?

    Thanks again, really!

  12. Lew Friedland | 2011.3.18 at 8:57 | Permalink

    Great thread, thank you. I am also constantly messing with the Zotero/Devonthink/Tinderbox/Scrivener flow. It’s awkward. Zotero for quick capture of bibliographic material. DT for all the pages, PDFs, chunks, ideas, etc. Tinderbox for organizing them (although Stephen Berlin Johnson’s method sort of eliminates this export to TB step), Scrivener for writing. A lot of stuff really. Derek, if you see this, how do you use DT and Tinderbox together, i.e. what’s the simplest export procedure?

  13. Lew | 2012.3.13 at 7:20 | Permalink

    Could you share a copy of your original source document that you place within the group for an individual source. So if I am understanding your organization for any individual source is: Sources/GroupSourceName/MasterSource in RTF. Then this master source becomes the basis of tags etc for all subsequent notes via your script?
    Thanks.