In Our Last Post
In our last post, we looked at the use of markdown, writing in outlines, and how Roam Research and DEVONthink manage pages and an Inbox.
In today’s post, we’ll consider how Roam Research and DEVONthink link pages together, how they handle windows and workspaces, and the streamline of a daily workflow.
Roam’s linking is focused on the double bracket system. In other words, you link to a page by typing “[[Name of Page]]”.
Roam offers a nice autocompletion system, much like its process for finding a page from its search bar. While writing in the body of a page, type “[[…” and what you remember of that page’s name. Roam will auto-complete suggestions for you. Without having to completely type the name of the page, you could hit return on whichever choice makes sense to you, and Roam will complete the name and end brackets.
Other methods of linking exist, too. You could use a “#” sign among other possibilities that end up doing the same thing, albiet with useful graphical distinctions.
The process is so smooth, however, that sometimes I’d find myself creating pages accidentally. If I wanted to write “[[emotions]]” but instead wrote “[[emotion” and hit Return, I just created a page with the wrong name. It’s fixed easily enough by finding and deleting the page. But I’d find pages titled “a” or “the” in my database. When did I do that? It’s probably a matter of practice.
DEVONthink offers several methods for linking that can be used in combination. You can use a double brackets system, much like Roam, or you could do away with them entirely. For instance, if a phrase matches the title, DEVONthink will automatically create a hyperlink. For example, if I have a note titled “The Emotions of Characters”, then the phrase, “When writing, dealing with the emotions of characters is vital,” would highlight and link the correct phrase automatically.
The difference of readability is palpable. I much prefer being able to read without double brackets. Thankfully, I discovered that Roam has a preference option to remove the double brackets. To turn them off:
– Go to the three horizontal dots on the top right
– Select user settings
– Toggle “Show Brackets”
DEVONthink also uses an autocomplete system with its double brackets, though it is not quite as inclusive as Roam’s. Specifically, DEVONthink requires you to write the title of the note from the beginning. For example, for the same note “The Emotions of Characters”, if I start to write “[[emoti…”, Roam will offer the correct page as an option while DEVONthink will not. To get to it using DEVONthink, I would have to start with “[[The…”.
It’s a subtle but important distinction in terms of retrievability.
Another WikiLink option in DEVONthink is “mashed words”. With this, you could write “TheEmotionsofCharacters“ to create a link. I never use this.
However, beyond Wikilinks, DEVONthink has a smooth system of creating Item links. These are links that are very robust. You could change the title of the destination note several times over without breaking the link. While each note in Roam has a unique URL, this process is not as well integrated into the system as it is with DEVONthink.
Verdict: linking is just a bit smoother in Roam Research, but there are more options in DEVONthink.
Roam has a neat Sidebar system. To look at another note while you are still working on the current note:
– Click a link while holding Shift.
Doing so opens the sidebar with the desired note. You could do similarly with multiple notes and have several notes aligned in the sidebar.
DEVONthink does not have such a feature. Instead, one can hold down Command and create multiple tabs. You could then race through those tabs with Shift-Command-].
I was so enamored by Roam’s sidebar however, that I re-created something similar in DEVONthink using a combined machination of BetterTouchTool and Keyboard Maestro. It is quite experimental and just downright wonky as a workaround. While I can open a file and move it over to the side as I work in another, the process is nowhere near as smooth as it is in Roam.1
Still, I rather like having many tabs to jump to. For example, while working on a note in the Inbox, I can”
- Hold Command, and
- Select several links creating a tab for each
I could then visit each in turn, considering how they link back. Since each one is focused, I am more focused on its materials.
Verdict: I really like the sidebar option to see notes in Roam, and I do miss it. However, I also really like multiple tabs in DEVONthink.
Parallel to tabs and sidebars is DEVONthink’s “workspaces”. These are arrangements of any number of windows, parameters, columns preferences and the like. You can save a set of how you want things to appear and set it to a key command. When you have several projects and workflows you want to work through, having them all quickly accessible by key command is wonderful.
There is no real equivalent to workspaces in Roam. By its nature as a browser application, one would have to open other tabs or windows in a way that feels external to the medium of the work. And even setting up these up, does not mean it would be easy to have the same configuration restore at any time.
On the other hand, the simplicity of Roam may be a benefit to some, particularly for helping to maintain focus.
Verdict: I like my workspaces.
When opening Roam, it presents a new page with today’s date. It wonderfully suggests using this page as the springboard to do the rest of your work. It creates a nice journal of work alongside the work of the pages the you continue to develop.
There is no work to set this up. It is simply there.
DEVONthink does not hold your hand in this way. You can though create a daily note. In fact, there are multiple template options to create one from the menu bar.
Still, I was so inspired by the Roam Research workflow that I wanted to recreate it in DEVONthink. Now I have a system in which I type Control-j and DEVONthink creates a new daily note. If one for today already exists, it opens that instead. However, the process is not as smooth as Roam’s.
Verdict: Roam’s daily journal is a much smoother and integrated experience.
In our next and final installment, we’ll look at differences of discovery, key commands, filters & queries.
- It was fun to problem solve in putting it together. I’ll probably include it in a TSNwD update. ↩