Hacker News new | ask | show | jobs
by robenkleene 2230 days ago
Every time I read about Roam it sounds like the same note-taking system I've built for myself. I just use a couple of Bash scripts with light text editor integration on top. (The Bash is so I can quickly add the same features to whatever text editor I'm using, today that's VSCode and Vim, but I setup Emacs at one point too. It’s mainly just keyboard shortcuts that call the Bash scripts.)

The basic features are taking a default Markdown mode and adding:

1. Follow a link to a relative file at the cursor

2. Make a link to a relative file out of the selected text (e.g., "my big idea" becomes `[my big idea](my-big-idea.md)`

Daily notes is just open a text file with the current date. (This doesn't include back links or transclusion, but I don't think those are make or break features either?)

All in all this is pretty trivial to add to an existing text editor, and if you do, you get all the power of that text editor: E.g., the best search, comparison, and split view systems anywhere. Plus the longevity of plain text.

I can see the appeal of Roam, especially for audiences that aren't already using an extensible text editors. But for people that do already use extensible text editors, I'm surprised there's not more discussion about how easy these features are to add.

3 comments

> This doesn't include back links or transclusion, but I don't think those are make or break features either?

I thought this at first as well, but automatic backlinks make a bigger difference than you may guess. It basically turns each document into two things: 1. the document itself, 2. an automatic query of all references to this document that renders automatically as soon as the document is opened. Just like you can have a document with content but isn't referenced anywhere, you can also have a document with no content whose purpose is only to be the place where everything is linked back to, and persistent filtering per document means that you can make it behave exactly how you want. There is no difference between the concept of a saved search and a document, they have been unified.

The biggest value proposition to me is that you maintain each document by itself, only changing things in one place, and other documents/views automatically reflect that. Automatic backlinks with persistent per-document backlink filtering is one way Roam enables this pseudo-DRY thing where you only edit things in one place.

The other big thing it does to enable you to avoid repeating yourself is document embedding: where one line of a document or whole sub-document is referenced and looks like it's embedded in the middle of some other document. Interacting with an embedded document works the same as editing any section (you can still tell it's linked, there are read only modes etc) and the edits actually go through into the original document. Combined with fine-grained sub-document references (e.g. a paragraph or a single todo checkbox) this allows you to create things like temporary daily task lists where when you check off items they actually get marked completed in their related project where you created them, and you don't have to manually synchronize any edits. It's like you get to have your cake and eat it too. For example: do you want to organize your tasks along with the project they're related to, or do you want to organize them in the order you want to do them today? YES.

Not having to repeat myself is by far the best feature for me, and back-references combined with sub-document embedding both enable that to a very large degree. I despise having to maintain the same collection or list in multiple places, or the friction of renaming a document because now you have to fix all the references to it, or even keeping the name of a file in sync with the document header. These are things that I find pure files on disk grates on me enough to abandon the affair.

Thanks for this great explanation! This definitely helps me see the advantages of those specific features. Just to be clear, I think Roam is a great and interesting product, I didn’t mean to diminish it. Frankly, I’m just thankful they’ve rejuvenated the note-taking conversation.

But there’s a separate point I’m still trying to make: What surprises me is that there’s not a separate, parallel conversation happening about the features that can easily by applied to plain text. E.g., the fact that default Markdown supports simple Wiki links like `[A Link](a-link.md)` appears to be lost on an extraordinary number of users of Markdown. These days I come across someone asking for “Markdown with Wiki support” literally almost daily, now that Roam has popularized the feature.

To put it another way: If people were already managing their notes in Markdown Wikis, and then Roam came along and added some additional valuable features that are more difficult to add to plain text, like back links and transclusion, then that would make sense. But what we have is people lamenting that Markdown doesn’t support Wiki links, when in reality, it already has its own form of them...

This conversation is absolutely happening. Athens, for instance, is a clone of roam that is open source. It reminds me, however, of the conversation that happened about IRC vs Slack.
Athen looks like the first clone I've seen that understands the stack that makes roam viable

I hope they do well

> I just use a couple of Bash scripts with light text editor integration on top.

That's where I started. It evolved into a simple CGI program that runs on localhost. That lets me view the markdown files in the browser. When I want to edit/create files, they open in a text editor.

Something that's different is that everything is stored in the tickets database of a Fossil repo (works with the default tickets database of any Fossil repo). That gives me for free (a) a full sqlite database for things like tag querying, and (b) version control and syncing.

The underlying graph and automatic bidirectional linking are not "trivial to add to an existing text editor". Roam is fundamentally different than other note-taking apps. The interface and editing experience are of secondary importance. If backlinks and transclusion strike you as irrelevant, you haven't even scratched the surface w Roam and, respectfully, aren't in a position to dismiss it.