Foam – A Roam Research alternative with VSCode, Markdown and GitHub

by DaniAkashon 6/28/20, 5:41 AMwith 226 comments
by yewenjieon 6/28/20, 2:51 PM

A lot of comments in this thread makes me wonder if Roam has successfully become an actual cult. Personal opinion, but it seems like Roam's core features are hard-to-invent (though all of those existed in different apps in different contexts) but easy-to-implement. Many early adopters are very unhappy seeing multiple alternatives pop up (some arguably offering better features) which subverts the 'my-notetaking-app-is-unique-and-better-than-yours' sense of superiority. I'm seeing people defending every aspect of Roam at a level that usually comes from cognitive dissonances.

by ildonon 6/28/20, 8:59 AM

As a researcher I always appreciate to see new opportunities to organize my work and improve my routines. This system does seem interesting.

To this day though I've found that Zotero is unbeaten to keep everything organized. I collect all my notes and documents in the Zotero library, and I sync it on multiple devices by placing the Zotero files in a Dropbox folder.

In this way I can use whatever app I want to write the actual notes (MD, txt, docx, whatever). I organize the notes in Zotero "folders" and the documents of each note are stored in "sub-folders". The best thing is that these are not actual folders, so the same document, if relevant for multiple researches, can be placed in two or more folders/sub-folders etc.

This setup has worked for me for nearly 8 years, with over 50 publications and over 5000 documents in my Zotero library. And best of all, the only thing I'm actually paying for is Dropbox, which I would anyway and, IMHO, is totally worth it. But that's another story. And more importantly, to get things started one can rely on the free tier of Dropbox, so even that's free.

So as a researcher (which translates to little money to spare and high volumes of documents to manage), I find that to this date I still have to find a solution that beats my configuration. I would love though to discover new opportunities!

by jyriandon 6/28/20, 7:53 PM

Little bit off topic, but I generated a zettelkasten from C2 Wiki. There is a zip file that you can download that has all the wiki entries from 2015[0] in html format. Used pandoc to convert to markdown and then did some sed scripting to fix the links and remove some boilerplate. I can open it on Obsidian and see that OnceAndOnlyOnce wiki entry has 1,470 backlinks. It's little bit slow and I can't open the Graph view, but otherwise it usable. Tried to open the folder with VSCode and then expanded backlinks sidebar. It resulted in "EMFILE: Too many open files". Is Foam using some custom logic for linking files together. I saw in inbox.md some auto-generated text for dealing with markdown links.

What I learned is that one folder with 36000 files is not a good idea.

0 - https://archive.org/details/c2.com-wiki_201501

by namuolon 6/28/20, 7:12 PM

What do Mind-mapping, Zettelkasten, Bullet Journaling, Getting Things Done, etc. all have in common?

They impose a taxonomy on thought and rely heavily on "best practices".

Even the simplest organizational schemes require a great deal of _discipline_ to be successful with, and nothing is a "one size fits all" solution.

I'm looking forward to the day when I can dump interesting thoughts (or links to articles, videos, whatever) into a "knowledge base" and it finds connections and labels things for me while I sleep.

Who's building this?

by TheMattenon 6/28/20, 8:16 PM

One more interesting tool for managing Zettlekasten-like notes is Neuron (https://github.com/srid/neuron). Static websites it generates show relations between viewed notes (scroll to top of https://neuron.zettel.page/2011506.html), support both "branching" and "non-branching" links, where the former provide structure for auto-generated index of zettels (https://neuron.zettel.page/2011504.html), plus they have integrated search and the whole app is pretty easy to set up using Nix. I really like the nicely polished interface and fact that it tries to have minimal effect on note format.

by rcarmoon 6/28/20, 8:03 AM

The trouble I see with this sort of approach (not Foam itself, but a general take on Obsidian, Zettelkasten, etc.) is that you quickly end up with a single folder with thousands of files, which makes it hard to manage, share, etc. Especially if you have diagrams or media associated with your entries.

It’s the same issue with static sites: you get a posts folder, dump everything in it, and then you dump all the images in an images folder and lose association between them.

I would much prefer if these tools took front matter metadata (or a pathname) to link to each other and had a note-per-folder approach (my own site does that, and I store images for each post in the same folder as “index.md”—the pathname becomes the final URL).

by cosmojgon 6/28/20, 6:55 AM

This really feels like an overcomplicated step in the wrong direction compared to VimWiki: https://github.com/vimwiki/vimwiki

by baylessjon 6/28/20, 6:16 PM

Glad to see that this exists and is under such promising development -- the tool looks like a perfect fit for my needs! I like working in the VSCode environment and I've been looking for the right tool for my Zettelkasten. Will definitely give this a shot once the subfolder linking gets added, that's a must for me given the structure of my Zettelkasten.

by sepethon 6/28/20, 12:18 PM

I tried this with VSCodium, but it doesn't work. The recommended extensions are not in open-vsx marketplace. I installed the foam extension from the VSIX file, and it asks to reload VSCodium but I don't see it in my installed extensions after.

I would love to help to get it working for VSCodium if it doesn't depend on anything VSCode specific.

by bmaupinon 6/28/20, 12:48 PM

I'm in the slow process of migrating my personal wiki from Google Sites to Markdown + Jekyll/GitHub Pages. I love that everything is in plain text and version controlled and I feel like I can organize it however I like. I also use VSCode to edit and create the Markdown files but without any special plugins.

by euler_angleson 6/28/20, 3:25 PM

Can I use this without a Github account? Specifically, I wonder if I can't transfer this over to a machine that never touches the internet and have it still be useful.

by gexlaon 6/28/20, 7:25 AM

The title is click bait. It seems all note taking applications now need to be Roam Research alternatives. And then you get the entourage of other mentions (Hi, Obsidian.)

The Readme for the linked repo mentions this note taking system was inspired by Roam Research. That doesn't mean it's a Roam Research alternative.

Personally, I like VSC but I find it quickly gets cluttered and I'm trying to pare back the things I use it for.

I also often find myself struggling with the VSC UI for file handling. I don't know why. I often find myself opening another editor / file manager to use along with VSC. It seems error prone to me.

by abrowneon 6/28/20, 1:48 PM

I don't think or note about anything important or complicated enough to need a tool like this, but I love this approach for those who want it.

Notes are really just text to edit, so why not use a text editor for notes, especially if it's something you already have open?

For my much more simple notes, mostly lists for things like todos and music to check out, I switched to using a folder of text files in a separate VS Code window, and I couldn't be happier. I used to use Notational Velocity on Mac and then Zim on Linux, but I realized I might as well have a full editor for things like sorting, (un)capitalizing and block selections. I find rich text features and even markdown distracting for my notes, but I could use the latter if I ever wanted. Line folding is great for decluttering, and it lets me stick to under ten topical files. I thought I wanted wiki linking, but really just clickable web links plus multi-file search. Finally, autosave of existing and new, unnamed files is what let me to ditch a notes-specific app.

by sherlock_hon 6/28/20, 7:19 AM

Seems like a lot of people are unhappy with their new pricing model! https://www.reddit.com/r/RoamResearch/comments/hf2fiq/i_love...

by ege_erdoganon 6/28/20, 7:31 AM

There will be many people migrating to other services once Roam stops being free. This seems like a promising alternative.

by aftergibsonon 6/28/20, 5:08 PM

Seems nice but a bit fiddly and lacking backlinks, after trying numerous clones of Roam Research this finally convinced me to just commit to Roam and stop trying these things out, maybe one of these solutions will eventually be just frictionless enough to work for me but not at the moment.

I'm glad Roam offers decent exporting though.

by Southlandon 6/28/20, 7:15 AM

All of the links in square brackets for recommended extensions, recipes, etc, 404 when you click from the README.

by paulkreon 6/28/20, 8:07 AM

Love the idea, but I don't like the dependency on jekyll. Would love to see a clean Gatsby plugin that does the same thing. You could even generate the note-links graph for the static page that way.

by siegecrafton 6/28/20, 3:35 PM

Super excited to try this out since it maps strongly to my existing notetaking workflow (markdown, vscode, custom extensions, and so on). I hope the author (or a contributor) can come up with a clever way to input drafts via a mobile device. I've considered and rejected many workflows and continue to use a gesture on my phone mapped to the "create a new card" action in trello and manually move it over later.

by crucialfelixon 6/28/20, 2:06 PM

I'm definitely interested in a few Roam features in my VSCode (for note while working)

Foam Back links aren't working. That's one of the essential features of Roam.

I think that's a feature that any of the Markdown Link packages could offer. But then again I would keep the link graph in a separate data store and just show back links in a separate panel—not by editing the document itself.

by stevetoddon 6/28/20, 3:09 PM

Is there a simple file-system-like project out there that has git-like capabilities but basically commits and pushes on any save. I’d like to just keep notes in markdown and sync notes among my devices. I don’t even mind dealing with merge conflicts. I want the git-like capabilities for file history.

by tunesmithon 6/28/20, 9:19 PM

For those of you who have done this for a while, with links and backlinks, don't you just end up with a big snarl? It seems that unless other controls are introduced, every arrow/edge just means "A reminds of B somehow", no matter how tangentially.

by roteron 6/28/20, 4:32 PM

On the naming. There is a popular Computational Fluid Dynamics (CFD) package called OpenFOAM [0]. It was originally called FOAM.

[0] https://en.m.wikipedia.org/wiki/OpenFOAM

by olah_1on 6/28/20, 2:04 PM

Backlinks aren’t enough. They don’t actually tell you anything.

We need to be able to define relationships between data. There needs to be a piece of metadata that describes the type of link like “influenced_by” or “influenced” or “evolved_from” etc.

by slifinon 6/28/20, 11:07 AM

I think roams queries will be the last feature most clones won't have

by discreteeventon 6/28/20, 9:03 AM

Mind maps are still quite good for this kind of thing. Quicker than a wiki. WYSIWYG. Use two dimensions of the screen. Very quick to refactor structure. But they are a bit 90s I suppose.

by p0nceon 6/28/20, 1:17 PM

I will keep using a single text file with little structure thanks.

by the-peteron 6/29/20, 8:49 PM

Can Foam store the data in files in a local folder using a file sharing tool like Dropbox, SyncThing or Resilien? I don't want private notes going on Github.

by rgrson 6/28/20, 7:02 PM

How is different from normal note taking apps? I see a relation graph and back links. Are these two the only difference?

by lqson 7/7/20, 7:05 AM

Roam/Foam is way different with Zotero.

More competition is always good to see.

by ijustwanttovoteon 6/29/20, 5:43 AM

This is cool. Going to start playing with it.

by m0zgon 6/28/20, 10:54 AM

I always feel like "creating relationships" in a tool misses the point in a way. Those relationships need to be _in your head_ in order to be useful, not in some tool, or else you're spending too much time and energy on maintaining the graph, and derive little to no value from having it.

by flargon 6/28/20, 1:50 PM

Seriously this has to stop, all you need is Zotero, Zim and Freemind. Formal research, desktop note taking and file organisation, mind mapping. These tools are reputable, well supported, play well with any file sync service and will be around for many years. They are the desktop productivity tools of choice. Don't waste time on cloud services that will shut down or be acquired, taking your data with them.