svsool / memo

Markdown knowledge base with bidirectional [[link]]s built on top of VSCode
https://marketplace.visualstudio.com/items?itemName=svsool.markdown-memo
MIT License
830 stars 47 forks source link

Comparison to foam #9

Closed floAr closed 4 years ago

floAr commented 4 years ago

There also is https://github.com/foambubble/foam which seems to do something similar. Is there anything particular to diversify memo from foam?

floAr commented 4 years ago

https://github.com/foambubble/foam/issues/110

svsool commented 4 years ago

Hi,

Thanks for asking.

I've seen that you already got an answer from foam community. I personally did not try foam and had hard time to figure out what features foam has out of box 😅. That proposition also confused me a bit: image. As far as I understand foam's paradigm is to use different plugins to provide knowledge base management experience whereas I tried to concentrate on building experience that I find useful for managing my diary and notes on daily basis and provide coherent experience across all of the features to the end user. I've seen also Foam briefly mentioned in Obsidian forum here, so it's where I got to know about it. You can also read some information about Obsidian vs Memo here.

svsool commented 4 years ago

I checked foam more thoroughly, and at this point, it looks to me that foam has a lot of documentation and plans + recommended set of plugins to use and rather little amount of code in its core which I guess manages markdown references to some extent. So I think it's reasonable to compare Memo against those plugins that foam recommends rather than foam itself:

Here is what I got:

Features Memo Markdown Notes + Markdown Links Comment
[[Links]] support
Links sync on file rename
Embedding notes and images
Links labeling I'm not sure actually that Foam + Markdown Notes + Markdown Links supports labels
Support for short and full links on filename clash Markdown Notes does it differently to Memo and perhaps suggests to use relative links instead of absolute which I think might be harder to sync on file rename
Intellisense Completion for Wiki Links
Built-in markdown preview with navigation support for links along with embeddable notes and images
Support on-hover preview for links (images + notes)
Opening links to other common file types for which preview is not supported in the default app Implemented but not released yet
Create New Note On Missing Go To Definition
Tags
Peek and Go to Definition for links
Find All References to Wiki Links
New Note Command Easy to implement
Open today's note Command
Open random note Command Allows you to explore your knowledge base a little bit
Show graph I did not find it useful for my knowledge base, but it can be added if receives enough upvotes
Backlinks panel
svsool commented 4 years ago

I think @alexisargyris might find this comparison useful as well, because he initially asked similar question.

jevakallio commented 4 years ago

@svsool Hey, Foam author here! I like what you've done with vscode-memo! I thought I did a thorough search before starting the Foam project, but I didn't see your project at the time. If I had, it's possible that I would've used it in Foam (instead of Markdown Notes).

As far as I understand foam's paradigm is to use different plugins to provide knowledge base management experience whereas I tried to concentrate on building experience that I find useful for managing my diary and notes on daily basis and provide coherent experience across all of the features to the end user.

Yup! This is pretty accurate, at least for the time being. Foam is still a very early stage project, but generally speaking its goals a little broader than just knowledge base management -- Foam also dabbles in website publishing, and possibly other areas in the future.

For now I see Foam more as a testing ground, ideas incubator and a collaboration surface for different approaches. I do have an idea what I want it to be, but you're right about the next point:

I checked foam more thoroughly, and at this point, it looks to me that foam has a lot of documentation and plans + recommended set of plugins to use and rather little amount of code in its core

Still a lot of work to do!

alexisargyris commented 4 years ago

@svsool great comparison chart and I fully agree that the utility of the notes graph tends to fade after the initial wow moment. BTW, given Notion's recent decision to allow for zero cost personal use, related open source efforts may want to focus on features promoting freedom of choice such as:

svsool commented 4 years ago

Hi @jevakallio, thanks for finding the time to answer here.

Memo is pretty new, and the first version was released in the beginning of July, so I think that's why you did not find it when you were looking for knowledgebase management plugins.

I believe publishing might be a nice feature to have in some cases, but it does not look like the biggest need to me. I'm interested in trying to implement optional full transclusion (it's more challenging with simple markdown files when with full-blown database like Datomic that Roam plans to use), descent backlinks outline, and this kind of things in general.

For me, Memo is something where I can build things and enjoy using them in writing my daily notes. I started building Memo because those alternatives that currently exist, either own users' data or provide rather poor opportunities for others to contribute.

Memo users can already enjoy a consistent experience across all of the features, implement writing flows that fit their needs best, and easily make contributions to the core.

Eventually, I have hope that Memo will find its niche, and at the same time, I wish Foam all the best and looking forward to its development.

jevakallio commented 4 years ago

I'm interested in trying to implement optional full transclusion (it's more challenging with simple markdown files when with full-blown database like Datomic that Roam plans to use), descent backlinks outline, and this kind of things in general.

@svsool we'll be working on all these features as well -- some initial thoughts about how we might go towards block embeds/transclusion: https://github.com/foambubble/foam/pull/105

Would be cool to do that completely transparently without any ids or hashes, but one of our goals is to keep it "just markdown" without additional metadatabases, so as you well know, it's a bit tricky.

If you ever want to talk about this stuff or compare notes, we have a discord server of like-minded folks. The link is in the Foam docsite, won't post it here as to not appear like I'm advertising -- you're welcome to join it :)

Eventually, I have hope that Memo will find its niche, and at the same time, I wish Foam all the best and looking forward to its development.

All the best for memo as well! Right now you have the benefit of being a bit smaller -- I'm finding a lot of my efforts right now go towards community wrangling and trying to establish some semblance of architecture when people are already building on top of my hacky MVP 😆

lachlancresswell commented 4 years ago

I checked foam more thoroughly, and at this point, it looks to me that foam has a lot of documentation and plans + recommended set of plugins to use and rather little amount of code in its core which I guess manages markdown references to some extent. So I think it's reasonable to compare Memo against those plugins that foam recommends rather than foam itself:

  • Markdown Notes (interesting to compare)
  • Markdown Links (interesting to compare)
  • Markdown All In One (you can use with Memo)
  • Git Lens (you can use with Memo)

Here is what I got:

Features Memo Markdown Notes + Markdown Links Comment Show graph ❌ ✅ I did not find it useful for my knowledge base, but it can be added if receives enough upvotes

Graph view can be achieved with Markdown Links - Visual Studio Marketplace

ryanjm commented 3 years ago

For what it is worth, I was also doing a search this week looking through Github projects trying to find projects that would help with managing my notes. I think the project would be more discoverable with a few topics added to it. I ended up finding it via VSCode searching for Zettelkasten.

Recommendation:

svsool commented 3 years ago

Thanks for feedback @ryanjm. I added these tags.

krry commented 3 years ago

I also did a considerable amount of research when searching for an open source alternative to Roam in January. I did not discover Memo at the time. And then today when I went searching for 'bidirectional links in markdown' I ended up here. And I love what you've done, this is a rich notes experience in VSCode, but the lack of publishing is a deal-breaker for me.

I'm trying to figure out today how to translate the graph of markdown links that Foam or Obsidian yields into a fully two-way linked published zettelkasten. Anyone want to point me toward the summit?

ngirard commented 3 years ago

I'm trying to figure out today how to translate the graph of markdown links that Foam or Obsidian yields into a fully two-way linked published zettelkasten. Anyone want to point me toward the summit?

@krry and folks, take a look at Obsidian-export. It's designed for converting notes written using Obsidian, but as far as I understand, Markdown Memo's idiom is a subset of Obsidian's, and Obsidian-export should work with it -- although I haven't tried yet.

This piece of info should probably be better placed elsewhere, but as I stumbled upon @krry's latest comment I thought I'd write it there.

sleepymalc commented 2 years ago

I'm just wondering how does memo compare to foam nowadays? Since foam seems like it's growing relatively large and updating regularly. Any recommendation between these two?