For me the main benefit of Obsidian is live-rendering editor + other handy features. Not having to look at two panes side-by-side (or having to parse the markdown format in my head) is such a QOL improvement.
Neovim might never be able to provide complete live-rendering. I don't blame it though, I wouldn't want terminals to become a rendering engine.
Funny enough, Obsidians live rendering has shown me that plaintext sucks, and that I want richtext and data structures for my stuff. Just that there is no good tool for this. Notion and its clones are the best in that regard, but they suck in their own regard, mainly because they are online-only. And considering how many tried to replicate Notion in obsidian-extensions (and failed), I'm not the only one I guess. There probably is a market for a modern hacker-friendly offline richtext-IDE that no one has satisfied yet.
We’re working on building an IDE of sorts [1] (but specifically for tasks/notes) trying to combine the benefits of plain text but with rich elements and structure (tree/graph). The illusion of a real editor breaks down pretty quickly when you can’t easily copy-paste or select rich elements as if it was plain text, so that’s why we’re trying to build the whole thing from scratch.
Thymer has real-time multiplayer with CRDT based synchronization. With org-mode you can collaborate, but you'd have to DIY with git or something similar. Thymer is also end-to-end encrypted. With org-mode you'd have to self-host something to sync with your phone.
Org-mode is text based, Thymer has a document graph. Advantages of the graph approach is you can nest as much as you want and zoom in on any part of the graph. You can transclude sections and have references and backlinks. With text based approaches you have to sprinkle location identifiers (guids or relative paths typically) into your document so you can track the location as files gets edited. But guids are awkward and paths can result in broken (back)links. We built Thymer as a document graph from the ground up. Tree mutations don't break (back)links.
With Thymer every node in the graph has metadata. Who last edited it? When? Where did it move from? Previous versions? For text paragraphs this isn't super useful, but when you have tasks this metadata is very useful.
org-mode on a phone? I'm sure there are apps for that, but I think it's designed with a keyboard in mind. Thymer uses the (subjectively) more modern command palette approach where you don't have to remember as many shortcuts, and it also translates more easily to touchscreen devices.
That live rendering exists is in itself a sign that we want more than plaintext. On its own, plaintext is simple, which is why we like it. And it shoves everything directly in your face, which is also why we like it. But many of us also want more than just plaintext, so we invented markup, to add some levels of richness. But this makes it complicated again, and the more we want, the harder it gets, the less support from the tools we have.
Obsidian is now in a space where many people want something more richful, with elaborated data-handling, charts, pictures, videos, code-fragments with syntax highlighting, execution of code-framgments, and so on. The scale of demand is far more than just plaintext, or simple markup, and the tooling can't fetch up at the moment, because anything becomes very dirty and hacky around the higher abilities and more specialized workflows.
And then there is the problem of documentation and learning, which with plaintext is always a big problem, because everything depends on your input. With richtext-interfaces, you have an environment whose whole purpose is to support you in inputing and manipulating which ever richful text/object you want. So they simply scale up better. Which brought me to the realization that a modern environment around richtext and objects is what I really need. Because it's simple to level down richtext, but hard to level up plaintext.
> That live rendering exists is in itself a sign that we want more than plaintext.
If people would just finally realize that this especially applies to code!
It's imho a complete joke that we're still using plain text for source code, and convert it back and forth between it's actual structure (an AST) and some limited and quirky textual representation.
The text representation of code should be just that: A visual representation. Not "the real thing".
Having proper rich data structures for code instead of plain text would make so much more possible given some proper editors…
Everyone is re-inventing "show codes" from Wordperfect 5 and other similar platforms because no one who is inventing these things has ever used Wordperfect 5. That said, re-solving this problem is turning up some nice new U/X patterns that (as far as I know) weren't around in the older platforms ("show codes on cursor", "local modal editing for format", etc.)
Guessing what they mean by show codes on cursor. Showing markdown around the cursor is now in Obsidian, but previously it was in Typora, FoldingText, and a circa 2016 web app called "usecanvas":
Obsidian's editor is "show codes on cursor" by default. As you navigate through the rich text expression it changes to the markdown format that produces that expression. You're always in a line / block of Markdown, but the rest of the document is rendered.
"local modal editing" is most often seen in richer IDE experiences like Darklang v0.2's IDE and the Hazel type-directed-holes experiments.
There are more interesting takes as well (Lighttable's live forms, lots of Vic's experiments) but I'm definitely seeing more instances of the first two experiences these days.
Probably referring to the limitations of Markdown? Not sure what Markdown flavor Obsidian supports, some extensions (e.g. tables) are quite powerful...
I've become a big fan of LogSeq for these reasons. In LogSeq, you have pages and trees of data (aka blocks[1]. All can be cross-referenced or embeded between each context. It's quite nice.
The Ggraph is another major feature. I wish I had the same in form of a widget (a desktup GUI toolkit widget preferably) to experiment with. Obsidian is such a great app but still is very far from what I want to I'd love to be able to build a similar thing from blocks for myself.
I tried a whole bunch of personal wikis over the years (I see Zim has been mentioned, that's one of the ones I remember trying) and this is the only one that stuck.
The github page shows some basic markdown, but it also handles nested checklists (parent nodes can be partially checked off) and understands tables (automatically fixing spacing so columns stay aligned). It can also render to HTML (though I don't use that feature) and has a whole bunch of other stuff too.
Again, I'll put up another vote for http://zim-wiki.org which I've been using for now almost decades. I've begun to experiment more with Obsidian as well, a killer thing for me would be for e.g. Zim to support standard Markdown and just make the two fully cross-compatible...
I also only found out about Obsidian recently and I've become interested in switching. So far for my notes for the last several years I've just been using raw tex files with TexStudio, and creating various level subsections with macros bound to key combos as needed. It works quite well with the navigation tree and MDI, but Obsidian sounds like it might be a better solution.
The great thing about Obsidian is that it still uses plaintext (it's not obsidian exclusive, i know).
In case of issues with the tool, you can view and edit files in an editor.
It also makes syncing stuff / backups very easy.
Since you're probably having a kind of syntax already it won't be hard to change.
With a proper keyboard, it's super fast to create and link notes.
On mobile it sucks hard. Things like "[text](linkForText)" are not very mobile-friendly.
One big gripe i have is the table editor.
There is an advanced table add-in to help, but it still sucks.
Create a table and put a long link into it.
Well-known keys like "end" or "pos1" don't do the expected. "TAB" will add fields... i don't know, this should be better.
I'm familiar with markdown enough, but I don't have much need to format my own notes, no need for tables etc. All I really need is headings, and sub-headings to various degrees.
I've been wanting to make my own program to deal with that since using tex for that seems like overkill even though it works well enough. I may still as Obsidian being closed source is kind of a bummer and I'm trying to limit the closed source software I use as much as possible.
Isn't the licensing an issue? As far as I can tell you can't use Obsidian at your workplace without an annual commercial license, which is fair enough but maybe too heavy a lift for many.
The last issue listed is the killer. If you rename or move a file, you need to update all the links. It's not terribly hard to solve with a quick script as he showed, but that is the part which has always felt very hacky to me when I've done this.
A couple of those Obsidian features (and more) come out of the box with Vimwiki if configured in Markdown mode. I use it rather interchangeably with Obsidian since they grok the same format and file structure.
The one killer feature that I wish Obsidian had is CRDT support, Apple Notes-style. I realize it's a huge engineering lift and they are (appropriately) focused on making the UX perfect, but it would be really great for collaboration. I can't really recommend it to my team without better collaboration.
It's interesting, but honestly I prefer to stick with Obsidian. The biggest selling point is the huge collection of community plugins that vastly extends its capabilities, enable automation, and more fun things
The obsidian vim bindings can also be modified with the vimrc plugin. It lets you hook into obsidian’s native features with normal mode maps e.g. for pane splitting and navigation.
Neovim might never be able to provide complete live-rendering. I don't blame it though, I wouldn't want terminals to become a rendering engine.
Edit: Grammar
[1] https://thymer.com
I assume that anyone seriously R&Ding in this field has at least a passing familiarity with org-mode.
Org-mode is text based, Thymer has a document graph. Advantages of the graph approach is you can nest as much as you want and zoom in on any part of the graph. You can transclude sections and have references and backlinks. With text based approaches you have to sprinkle location identifiers (guids or relative paths typically) into your document so you can track the location as files gets edited. But guids are awkward and paths can result in broken (back)links. We built Thymer as a document graph from the ground up. Tree mutations don't break (back)links.
With Thymer every node in the graph has metadata. Who last edited it? When? Where did it move from? Previous versions? For text paragraphs this isn't super useful, but when you have tasks this metadata is very useful.
org-mode on a phone? I'm sure there are apps for that, but I think it's designed with a keyboard in mind. Thymer uses the (subjectively) more modern command palette approach where you don't have to remember as many shortcuts, and it also translates more easily to touchscreen devices.
I don't understand. I currently use obsidian and the live rendering is great, not exactly sure what you mean.
Obsidian is now in a space where many people want something more richful, with elaborated data-handling, charts, pictures, videos, code-fragments with syntax highlighting, execution of code-framgments, and so on. The scale of demand is far more than just plaintext, or simple markup, and the tooling can't fetch up at the moment, because anything becomes very dirty and hacky around the higher abilities and more specialized workflows.
And then there is the problem of documentation and learning, which with plaintext is always a big problem, because everything depends on your input. With richtext-interfaces, you have an environment whose whole purpose is to support you in inputing and manipulating which ever richful text/object you want. So they simply scale up better. Which brought me to the realization that a modern environment around richtext and objects is what I really need. Because it's simple to level down richtext, but hard to level up plaintext.
If people would just finally realize that this especially applies to code!
It's imho a complete joke that we're still using plain text for source code, and convert it back and forth between it's actual structure (an AST) and some limited and quirky textual representation.
The text representation of code should be just that: A visual representation. Not "the real thing".
Having proper rich data structures for code instead of plain text would make so much more possible given some proper editors…
https://github.com/usecanvas
There may be examples prior to that, but that's the earliest that I recall.
I'm not sure what is meant by local modal editing - is that describing what logseq does? It switches a block to plain markdown when you're editing it.
I thought word perfect show codes was in another pane, but it's been a very long time since I've seen it, and I didn't use it personally.
"local modal editing" is most often seen in richer IDE experiences like Darklang v0.2's IDE and the Hazel type-directed-holes experiments.
There are more interesting takes as well (Lighttable's live forms, lots of Vic's experiments) but I'm definitely seeing more instances of the first two experiences these days.
1: https://docs.logseq.com/#/page/the%20basics%20of%20block%20r...
The thing it is really missing are plain pages, in MD, without bullets
https://github.com/vimwiki/vimwiki
I tried a whole bunch of personal wikis over the years (I see Zim has been mentioned, that's one of the ones I remember trying) and this is the only one that stuck.
The github page shows some basic markdown, but it also handles nested checklists (parent nodes can be partially checked off) and understands tables (automatically fixing spacing so columns stay aligned). It can also render to HTML (though I don't use that feature) and has a whole bunch of other stuff too.
Regardless: In my experience, Vim + wiki with some additional plugins for fast searching and navigation is a very good combo!
[0]: https://github.com/lervag/wiki.vim/
There's also zk[2], a zettelkasten-based notetaking tool like Obsidian, but the functionalities are provided through a CLI and LSP server.
[1]: https://github.com/epwalsh/obsidian.nvim
[2]: https://github.com/mickael-menu/zk
With a proper keyboard, it's super fast to create and link notes. On mobile it sucks hard. Things like "[text](linkForText)" are not very mobile-friendly.
One big gripe i have is the table editor. There is an advanced table add-in to help, but it still sucks. Create a table and put a long link into it.
Well-known keys like "end" or "pos1" don't do the expected. "TAB" will add fields... i don't know, this should be better.
I've been wanting to make my own program to deal with that since using tex for that seems like overkill even though it works well enough. I may still as Obsidian being closed source is kind of a bummer and I'm trying to limit the closed source software I use as much as possible.
https://logseq.com/ https://github.com/zadam/trilium
I still use it every day though.
https://github.com/linden-project/linny.vim
Neither OneNote nor a wiki have the workflow of modern knowledge managers like Obsidian, Notion and the like.
Furthermore, how do OneNote or a wiki fit into "Vim and Bash"?