This is an incredible time for knowledge management tools. Just a couple of years ago I was pulling my hair out trying to get a local wiki to feel like a native app, and now we have a dozen great options to choose from.
I started using Obsidian when it came out last year, and it instantly clicked for me. I immediately migrated 20 years of notes to it.
What differentiates Obsidian from all of the other tools in this area, is that they have made extensibility a top priority. The sheer breadth of plugins, themes, and other community-driven tools that have been generated in 18 months is spectacular. It makes it easy to recommend Obsidian because you can shape it into whatever you want.
There are a handful of plugins like Dataview, QuickAdd, Kanban and Periodic Notes that make Obsidian an incredibly powerful environment for thought.
Obsidian is great but I still prefer VSCode for creating these types of interconnected markdown notes on desktop.
Mainly because of the sheer amount of extensions available for VS Code. For example, I can write Jupyter notebooks in markdown files and let them be part of my notes but also open them as notebooks and execute code right in VS Code.
I do love Obsidian mobile though, undefeated on mobile!
Can concur, his Minimal theme is really awesome and looks Mac-native.
His theme played a huge part in getting me to make the jump from Bear Notes to Obsidian as I try to move away from Mac-specific apps to cross-platform (macOS and Linux) options.
I made a Windows 98/2000 theme for Obsidian which feels faster because animations are disabled and have more Thanks to Electron that I could do that. It was mentioned in the previous thread by its creator that because it's Electron you could make a css to make it look like anything you want.
the perspective that software is good because it's soft- as in malleable- is nice to hear.
i too feel like the more open-potential endlessly extensible form of computing is what's interesting & compelling. it's ehy computing appealed to me & still is. contrasting to computing as mechanization, big systems, & mass market software, where focus is on control & usually core, well planned user flows. this is boring rigidware. yet it's share of computing has radically risen. good to hear of syccessful flexible software in the world.
Ooh your the created of the Minimal theme, I really like the theme. Started using obsidian at the end of last month. Its definitely a new way for taking notes for me personally.
I built a simple journal solution for myself two years ago. It sends an email every day and I can reply to it, and the response is stored in an SQLite database, in plain text. The db is on a remote server but copied to Dropbox every day (and in any case all the emails also exist in my sent folder).
It is surprisingly effective at storing not just what I did with my day, but random thoughts and ideas, solutions to bugs, etc. All I have to do is type something every day.
In 2 years I have typed around 150k words. For reading he whole thing is just one plain html page, searchable in the browser.
I'm currently experimenting with documenting my reading, while the book is being read (instead of a summary at the end). We typically forget what we expect while we read, and only remember the final impression. Taking notes at the end of each reading session, not just about what I just read, but also about what I think will happen next, and revisiting that later, is surprisingly interesting.
> It sends an email every day and I can reply to it, and the response is stored in an SQLite database, in plain text.
Maybe this is obvious to other readers, but I love this portion of it. I think it's one of the critical details to making things like this work. It's easy to built a tool that you "just remember to use" but the issue then the tool is implicitly asking the user to modify their workflow, which isn't always trivial. So well done.
Another simple example: one of my favorite features in Slack is /remind. It can do recurring reminders, reminders way out into the future, and is as simple as typing `/remind me "do the thing" in 6 months`. Critically, it's in Slack which I'm using all the time anyway. It's not tucked away into a calendar I won't look at, or in a place I have to remember to get to. It's right there, and it's really easy to set another one up. I've thought about building a separate tool to replicate this, but I know it will never have the same utility without being in an existing workflow.
Your solution seems to miss the single most important feature of Obsidian, the ability to link notes together with references directly in the documents.
Obsidian is a knowledge base, what you are describing is a note taking solution. Might work for most people who just want to scribble things down, but once you start having information you want to inter-connect, it'll break down.
I'm somehow on the same boat as you. I've tried dozens of "fancy" tools but they never stuck. A plain text file, kind of a "flat wiki", that you can search with your text editor may be the grail of note taking. What I consider critical is to "tree-shake" it often to remove the cruft. Hints:
- Tree-shake your notes each time you iterate them. You'll leverage your excitement and it won't be a chore.
- Maintain part of your notes public, it will be a catalyst to polish them. A git repository is perfect for that. Serendipitously, I started a related thread a couple hours ago: https://news.ycombinator.com/item?id=28895647
I use gjots2, a hierarchical plain text note taker. If I need photos, LaTex, inline math, or such, I use Zim -- a local desktop wiki. And of course, I use text files, permanent and otherwise.
The nice thing about both gjots2 and Zim, is that their source files read almost as easily as text. This is especially true for gjots2.
I like the hierarchical arrangement of gjots2. I still have Ctrl-F if I want to search, but sometimes in browsing a category, I find things I would not have found with search -- sometimes how I refer to things changes with time -- and I've got many years of gjots entries.
I do not, as gjots author Bob Hepple does, keep separate topics in separate gjots files -- one big tree in the left panel holds all topic headings.
I tried using a database for personal notes many years ago and the problem I discovered was that I can't do a quick Ctrl+F to find previous scraps of knowledge.
Instead, I use plain "notes.txt" and use the editor's text search functions (including regex functionality) to locate things.
These 2 ways of finding text have very different ergonomics:
- SQL: select * from notes where description like '%ubuntu config%';
- text editor: Ctrl+F "ubuntu config" <press Enter>
Yes, one can write a program to "dump" the SQL database to a text file for subsequent search by a text editor. The problem is that it creates a read-only file that you can't edit-in-place. And one can also write a custom wrapper program in whatever language as a GUI for the database but now we're way past your simply "reply to email" paradigm and expending a lot of effort in "yak shaving" instead of just taking notes.
Not saying your system is bad for you but I'm guessing that most people would find the friction of a SQL database too high for freeform notes.
SQLite has full-text search built-in (including tokenization of english words with similar roots). It takes just a few statements to enable, and it can even do spelling corrections with an optional extension.
> most people would find the friction of a SQL database too high for freeform notes
Something that I find not only true, but inherent in relational databases: they require some kind of schema, and schemas for freeform text and ideas are notoriously difficult.
I created my own software, which doesn't have a fancy gui or anything, but organizes my notes sufficiently for me, using plain markdown files and dumping the contents into an ElasticSearch index configured for text analysis. I can easily do a very good full text search on the body of the notes, plus I've indexed the keywords for each note in their own mapping.
In addition to having good linking together of related ideas, wiki-like, it's good to have the ability to fruitfully search without the restrictions of exact term matches. Even relatively simple things like stemming and common synonym matching* can improve the usability of a large collection of notes measurably.
*No, I don't think we've really solved the searching by synonym problem. More work is needed.
It would be extremely easy to replace storing in a db with append to a text file. (As a matter of fact it already appends everything to a text file for added security...)
However I kind of like the fact that it's hard to edit, and I (almost) never do it. It's a log -- the log of my brain.
Also, append (or prepend) to a text file means everything is in the order it was written. But sometimes I miss a day and then come back to write about days out of order (I write about Tuesday, then about Monday).
With a db it is trivial to order posts either in the order of the days or in the write order, etc. With only a text file that would be very difficult.
I just wrapped up writing my own. I’ve been following a lot of projects such as Archivy and Obsidian for a while, but neither of them were what I needed. Wrote a flask app that does exactly what I need.
Obsidian’s business model is really smart: creating a knowledge management system that applies to the vast majority of use cases, add room for a little modularity, and monetize it.
However for those edge use cases, which on HN might be closer to a majority, it’s important to first hash out exactly what sort of features you need.
Do you need to link files as well as notes in a knowledge graph?
I used to use a SaaS that did exactly the but unfortunately they shut down after a few years. I still have my notes in Gmail since they were just emails but I miss getting the reminders.
P.S. I like your description of this as your log of your brain.
It's all pretty simple, but all the mail part uses Mailgun routes, which now require subscribing at least to the "Foundation" plan, that costs $35/month.
Fortunately my routes were already set up and still work on the Flex plan; I just can't edit them any more; but they were pretty generic so that's not too much of a problem for me; but it would be a problem for a new implementation.
Also, the code isn't pretty and since I built it for myself, it doesn't have any security feature whatsoever (no login, no sessions, no encryption, nothing).
I don't think I want to deal with all the people who would tell me how bad my code is if I published it... But for me it works.
- - -
That said, sending emails is the easy part; it's dealing with incoming email that requires a better Mailgun plan (not just for routes but for parsing the content of the email).
If you only need a system to send you an email every day you can 1/ open a Flex account with Mailgun (no recurring fee, pay-as-you-go email) and 2/ setup a cronjob with a short script in any language that can do a POST request; here's my example in Python.
(There are certainly many other providers that do the same thing.)
- - -
PS: I'm surprised of the interest though; last time I talked about it on HN it didn't generate that many replies; someone did indeed mention a similar SaaS that folded for lack of growth. I think it's one of those things where all potential users are already here on HN...
My biggest protip for Obsidian would be to never look at the connections graph. If you've got any kind of "completionist" mindset, it's easy to waste a bunch of time trying to perfectly format your notes so every node has a bunch of connections to other nodes. Once I got out of the habit trying to maximize the amount of backlinks in each note, it became a useful tool instead of a chore.
Ironically i found the same behaviour in me and immediately thought it would be a great idea to further gamify colleagues writing docs. There is something rewarding about keeping the graph optimal. It becomes almost pretty to look at.
Just add some achievements, XP, levels, silver/golden/diamond/epic statuses to notes with pretty colors and shiny graphics, and a lootbox mechanism with slot machine sound effects.
For me the act of making connections is part of the review process. The connections are really in my head. The documents are just part of the memorization and structuring. I don't spend much time on it though. Just when a subject is unclear in my mind.
The Jiggl extension gives a local network view that is actually useful and not overwhelming. You can custom style nodes by folder or tags. This makes it intuitive and worth keeping open in a frame.
The comments here made it sound exciting, but it seems like it's proprietary, which is a no-go for me. I'll stick to plain text file notes and the occasional org-mode for now.
I’d check out logseq [0]. Closer to roam than obsidian, but GPL, operates on plaintext files, and supports Org-mode style formatting as well as markdown. It’s getting to be fairly fully featured by now, and the development team moves fast. It’s a joy to use.
I actually used Athens for several months and then switched over to logseq once I found it. They're quite similar in functionality, though logseq is a bit further along in my opinion (e.g., the task management and time tracking is more advanced in logseq). Which I was fine with not having in Athens. What ultimately pushed me towards switching was the fact that logseq stores notes in plaintext, whereas Athens notes are stored in these difficult to parse .bkp files. Having the ability to easily write scripts to do whatever with my notes is important for me. Also, not a technical point, but the developer of logseq seems like a really nice guy! :) (see https://www.youtube.com/watch?v=DUGV8HL-poQ)
Yep, and you choose where logseq files are stored, so you can use anything you'd like to for syncing. I will say though, I've tried using Dropbox for syncing with logseq, and it ended up creating a lot of duplicate copies due to conflicts. Have had better luck with iCloud/Syncthing (also, many people actually use Obsidian + logseq, so I believe you can take advantage of Obsidian's sync if you choose to). In any case, having better file syncing is something the logseq devs are currently working on.
Logseq does not currently have templates integrated the way Notion does, but it wouldn't be difficult to programmatically create them since they're just plain markdown files. There's a plugin ecosystem for logseq now, so I think it's just a matter of time before someone writes one to generate templates.
As an open-source alternative, Joplin could be worth a look. It's a little different in terms of features, missing a lot of the linking which is kind of key to Obsidian's appeal, so maybe it's closer to Evernote. Still, they're fundamentally the same in terms of being a note-taking app built on folders of markdown files. It's quite actively maintained and improved too.
Joplin is my choice too. I deplore the complicated codebase, unfortunately. I would have made the changes to get better linking, at least in a personal fork, but I could not find the time to commit myself to it.
I’ve been using Joplin for about a year now too. My favorite feature is the totally seamless cross-platform sync. Honestly if Obsidian had better support for sync on e.g. Dropbox, I would’ve taken the plunge.
Joplin has its issues though. For instance, it seems confused about the format that it wants to store your notes in. Desktop search recently became useless too (no highlighting of search terms and ranking is broken).
Also Joplin's mobile app is poor compared to obsidian's, and that's with obsidian basically just shoving the same content as in the desktop app into a mobile web view.
Joplin is great, simple, and I love it. I find things like connections and tagging to be more work with minor, if any benefit. Just folders with markdown works great.
Software _is_ proprietary, ie. closed source. I fully understand that this might be off-putting for someone.
Almost all plugins accessible from the app are OSS, though, and Obsidian has a process of checking them and some kind of control, which I don't know details about.
Obsidian just looks at the folder you specified and all files created with it are just plain text. You can work in notepad all you want and use the software to view the rendered markdown.
While Obsidian may be proprietary, as long as the files follow standard markdown syntax, it can be opened in any markdown editor. I am currently using both Obsidian & Typora on the same workspace folder(I like Typora better for editing since its WYSIWIG). Not being locked down to any specific software was the primary reason I moved away from OneNote.
Obsidian has it's own flavor of Markdown there is bunch of stuff other Markdowns (including CommonMark) doesn't support.
> We strive for maximum capability without breaking any existing formats, therefore we use a slightly unorthodox combination of flavors of markdown. It is broadly CommonMark, with the addition of some functionality from GitHub Flavored Markdown (GFM), some latex support, and our chosen embed syntax
Why? "Markdown" is not a standard, it's a loose collection of formats. CommonMark is a standard, and they are not calling it that. Anything that is Markdown-like can be called Markdown.
It's the same deal with lisps. Lots of languages are "lisps", even the ones that are slightly different than the ones you're used to. Then there is a Common Lisp that is a language that is also a lisp.
It’s just nice to be able to differentiate between markdowns that adhere to some existing implementation (GitHub, CommonMark or something else) and those that are their own flavor.[1]
“Markdown” is marketing speak for “you probably already know this”. Which yes, sure, but all the little tiny differences between all the different implementations can act as annoying papercuts.
At least it’s not wiki markup...
[1] GitHub Markdown etc. are fine since they can be called that (X Markdown) and not just “Markdown”.
Some snippets from those two pages, where they call their own syntax just "Markdown":
> Markdown is a lightweight and easy-to-use syntax for styling all forms of writing on the GitHub platform.
> You can use Markdown most places around GitHub:
> Here’s an overview of Markdown syntax that you can use anywhere on GitHub.com or in your own text files.
> Create sophisticated formatting for your prose and code on GitHub with simple syntax.
It's until the bottom of those pages that they start mentioning GitHub Flavored Markdown (GFM).
Just like how Obsidian deals with the very same documentation.
Not sure what the problem is, Markdown has always been different on different entities on the internet, since there is no common specification. Blaming Obsidian for this seems short-sighted.
If you want an open source alternative, you should check out Notabase [0]. It's like a mix of Notion + Roam Research, designed to be delightful and easy to use. The difference from Obsidian is that it's database-backed.
Markdown compatibility is cool, but what's even cooler is stringing these together to be able to create a new note in a specific folder with a template that contains some variables, and having all of that automatically added in an index note.
If emacs scares you and other options are too limiting, this is where you'll find that sweet spot between user friendliness and extensibility.
While Roam has become something of a dumpster fire with its unprompted Reddit megaban, losing its whole dev team, etc, they do deserve partial credit for awakening the world to the possibility that there is much out there worth exploring beyond Evernote and Notion. There are now so many promising tools (most based on backlinking, as Roam popularized) that we have a site https://noteapps.info dedicated to chronicling the differences in some 30 viable note apps that now exist. At least half of these note apps were created in the past three years alone.
That said, Obsidian is in rareified air among the third gen note apps. The pace of evolution is right up there alongside Craft and Amplenote, where almost every week there is some interesting new wrinkle being added. I can’t wait to see how productive we will become in the next 10 years as these tools let us leverage our brains far beyond what has been historically possible.
The Roam reddit team banned the guy who runs RoamStack [1] (who apparently hangs out on their Reddit answering questions a bunch?) for saying that a new policy announcement (that they later deleted) sounded concerning [2]. I believe they later rescinded the ban once they realized who he was.
So I think it's slightly more complicated than that, unfortunately.
(Note: I'm a moderator for Obsidian.md but I'm also in a couple of discords with Roam users, Logseq users, etc.)
Seems to be a misreading of a support reply, where they replied "this is a known issue that our engineer is aware of." and then the pitchforks come out.
The founder of the company replied in the same thread too:
> We're doing quite well.
> Besides myself and Josh (the engineers who built Roam) - we've got 5 other engineers working on the team to varying degrees -- including the author of Datascript, which Roam and the majority of the Roam clones are built off.
> Right now we earn enough each year to keep the company going for 2-3 years, and as a result we're able to invest in major open source projects that we (and all the Roam clones built in Clojure) will be able to build from for many years to come.
Obsidian is great. I'm a paying supporter (catalyst and sync).
Weirdly I started playing with Emacs + org-mode recently (never been an Emacs user before!) and I'm seriously considering making it my exclusive "second brain".
Something about org-mode, org-babel, org-jupyter, org-agenda and org-roam that just clicks with me.
Paying user here too, big fan. I've had several adventures with Emacs (mostly vanilla, some Doom), but always find myself returning to (Neo)vim due to performance and the perceived Windows-hostility of the project.
I mention this because I, too, fell in love with org-mode and magit, and for a while I kept using Emacs only for those tools. Org quickly became a cornerstone of my workflow and made it easy to separate notes and tasks for different clients. I think Obsidian leaves maybe a bit much up to our imagination, but that's part of the beauty of it, imo
Currently sticking Obsidian (because it's discoverable, fast and extensible) and Neovim (only because Emacs is too antiquated)
Emacs is so customisable that as soon as I want to customise anything, I get lost searching for solutions online and inevitably give up on using Emacs altogether.
I think the biggest problem with Emacs is that you cannot really make sense of a lot of stuff until you start programming elisp in anger. I tried for many years to copy and paste snippets etc, but now I realised you just need to bite the bullet and learn it like any other programming language and be prepared to do "real development" in Emacs. Its very difficult to be a "tourist" in Emacs, IMHO, a lot of things just don't make sense until you became more of a elisp programmer.
Exactly. Ironically, Emacs is also the place where transition from tourist to resident is the smoothest. You can stray writing and evaluating Elisp practically anywhere. (Almost) Everything is programmable via Elisp, everything is documented in excruciating detail, learning about any system attribute is two keychords away, there are debugging and profiling tools built in, and source code for very built in thing is available. If the target is to make average Joe into a programmer with least effort, things don't get much better than this.
Couldn’t agree more. I used to get annoyed that I had to copy and paste code snippets that I found over the Web just to configure basic stuff. It got out of control pretty quickly. Now I understood that Emacs is supposed to be used by programming it. Turns out it was meant to be a feature, not a bug.
Emacs is fantastic for Yak Shaving. You can spend hours or days tweaking and modifying its configuration files if you're not careful.
My advice for those seeking to get into Emacs: start from scratch. Learn how to split your custom.el from your init.el, and make sure you're using git to manage those files. Then start slowly and install org-mode from source and go from there:
8 │ ;; Save customizations in a different file. Prevents this file being
9 │ ;; modified by Emacs.
10 │ ;;; Code:
11 │ (setq custom-file (expand-file-name "custom.el" user-emacs-directory))
12 │ (when (file-exists-p custom-file)
13 │ (load custom-file))
14 │
15 │ ;; Before anything else, orgmode:
16 │ (add-to-list 'load-path "~/.orgsrc/org-9.4/lisp")
17 │ (require 'org-loaddefs)
18 │
19 │ ;; First off, we need MELPA and the org-mode repo:
20 │ (require 'package)
21 │ (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
22 │ (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
23 │ (package-initialize)
I use emacs-mac with spacemacs which works pretty well out of the box. What I try to do, to not go into the "hacking Emacs" rabbit hole, is to really avoid tweaking it unless something is really interfering with my workflow.
I often see people in this community being fans of note taking apps. Yet, I never really found why it's useful, maybe someone can enlighten me on that :D
1. For tech articles / knowledge databases -> tech seems to change so fast that research done 3-4 months ago is mostly useless (except for a few more high level areas)
2. For recording / knowledge database purposes -> i never seem to go back to them tho, googling (or duckduckgoing?) seems faster to reach an answer.
3. For current note-taking / todo lists / etc they work well, but so does a simple notepad. A history of those doesn't seem
to help me with anything specifically.
4. Same for book notes / reading notes, i never seem to go back to them, actually.
So, in what domains or where do find those apps actually useful?
1. Useful practical information or checklists on disease topics (I'm a physician). Sometimes they are reminders, or useful knowledge that is generally gleaned from experience / colleagues. Things that can be hard to google.
2. Notes on general business stuff - i.e. "called such and such agency and Wendy said I need to speak to other person next Monday on tel xxxx". Or dates my car needs servicing, or who I'm insured with.
My brain not remember good. I write thing down to remember better.
Basically my brain doesn't remember things fully, it's more of a set of index cards with tiny summaries.
When I need some data I'll remember that I read an article around spring and it might've been on either X, Y or Z site. My notes are tagged and configured so that I can actually go find that stuff.
Also I use pinboard to store the stuff other people hoard in tabs. That Very Important Article that has been sitting on a faraway tab for a week? Add it to pinboard with a few tags and close it. It's just as easy not to read it from there too =)
Apart from the transfer aspect I identify two other reasons for taking notes:
The act of note taking itself may help structure and focus thoughts, regardless of intent to review or transfer the note.
It may also be cathartic. It gives peace of mind to know I own the detailed information on X, just in case. Or perhaps making a pretty list about something random lets me take my mind of work for a few minutes.
For me it’s similar. I want to write it down to get it out of my head.
But I think it’s important to understand one thing about notes and organization systems in general: do you optimize for speed of writing stuff down or do you optimize for retrieving the information?
I know that I am in the former camp. That’s why my note taking system is as follows:
I have a folder called Notes in Sublime. I create a new file, use a text snippet to insert the current ISO date (2021-10-18) give it a headline, write everything down in free-form without a structure, save it as a plain text file and be done with it.
When I want to read a note (doesn’t happen that often), I mostly remember the headline I used: Cmd+O to open that file. If nothing comes up, Sublime has good regex search capabilities.
agreed, thats often enough for text but what about tables and images. We quickly enter the complexer realms of rich text and database forms. I often write down the price of an item while shopping using a database input app, but there's no easy way to transfer this to a wiki or markdown file.
I've been investing in taking notes to enable better understanding of the material. I tend to follow Andy Matuchak's philosophy on note taking (https://notes.andymatuschak.org). But, I've only really started taking notes, so grain of salt about this.
Some thoughts and responses to what you've said:
1. I try to make sure anything I enter into my notes are intended to last, filtering/processing is a key step to that. This often means I won't enter notes unless they can contribute to my understanding of some lasting higher level concept. For example, I don't have any notes on tech library X, Y, Z. But I do have notes on concepts, like "Required accidental complexity should be avoided or separated" and if a library Z has a unique way of doing so, I may incorporate my understanding of the strategy to further my understanding of the concept.
2. My goal is less to simply collect links/articles, it's to process and assimilate. I write everything in my own words to clarify my understanding. I link it to other topics in my notes to help build stronger associations, which helps me ground and recall the knowledge. I'm also exploring whether I want to put some spaced repetition in with my notes to help keep pieces of information fresh.
3. I treat my notes as separate from my todo lists. The extra bit that these tools give you is the linking and clustering of information. I find the associations useful for encouraging identification/contextualization of where that knowledge sits in my current understanding and, periodically, discovering serendipitous connections.
4. I rarely revisit old books as well, but I also find that my recall of those books are terrible. Part of my note taking is to make sure that I have a better chance of understanding and taking away valuable information from those books. It's also worth mentioning that that I don't aim to have notes on the book, I aim to have new concept notes or updating existing concepts with new information.
So what domains do I find these apps useful? It's unclear to me how much I can attribute to the linking the app encourages. But, I do find myself recalling what I've noted much more frequently in my day to day as an software engineer. The identification and concretization of patterns/concepts has helped me be more articulate and have more clarity in my work, particularly when giving feedback to others.
All that said, everybody is different. This process might not work for you, or you may find you don't need it to get the same effects. I know plenty of successful people that don't. And if it doesn't work for you, I wouldn't worry too much about it.
The Open Source solution which serves me well for years has been TiddyWiki (1). Supports Tags and various modes of output. Each page one file or all in one, very open so recursive changes can be applied on the shell in plain files.
TiddlyWiki in many ways is the best predecessor to Obsidian, in that it follows many of the same priorities and tradeoffs.
I was a big user of TiddlyWiki but Obsidian has so many UI quality of life improvements, and the plugin ecosystem is evolving at such a rapid pace that I decided to jump ship.
You probably mean the NodeJS version. I agree. It’s not just starting a Docker container. There are more steps involved. And there is no authentication.
I have switched to Obsidian and I use multiple vaults for multiple purposes.
One is for work, one is for personal projects and notes.
One for Books and Movies I watched or want to watch.
And one for Zettelkasten[0].
Obsidian is extremely customizable and user-friendly. And to make things even better, which is a must for many people including me, it saves the files as .md in the local storage.
You can even sync it among n devices for free using Box, Sync, Mega, OneDrive, Dropbox or whatever floats your boat.
Just as a quick exercise, I spun up a fully functional Obsidian clone that runs in the browser that works locally, in four hours using React- just in case the company goes under in future. It works great.
Could you share your clone (w/ source code)? I've been wanting to build an open source Obsidian Publish alternative w/ the ability to authenticate and edit - Yjs + ProseMirror would allow for high quality collaborative Markdown editing on the frontend.
More broadly, I want a general Markdown notes "backend". Obsidian currently operates on local vaults which we can sync w/ general cloud providers, but no providers have all the features I'd want. Using Git lets me have great versioning of notes, but makes realtime syncing impossible, and using OneDrive is the opposite, so for the moment I'm using a Git repository in my OneDrive to get both.
It would be great to have a universal self-hostable note vault backend that interfaces with Obsidian, Dendron, etc. and allows for real syncing and publishing without requiring something hacky.
The one thing I found weird when I looked into Zettelkasten is the focus on having relatively hard to read IDs as the primary part of the title. It could certainly help in the original use case of having to categorise and store physical paper notes, but it just feels obsolete in a world where you have digital notes, hyperlinking, and search.
You don’t need crazy IDs any more. In Obsidian I just make sure each of my notes has a descriptive title and that’s enough to ensure it’s unique.
Some of my notes are literally just a bunch of links to other notes because the title of the notes is descriptive enough that stringing a bunch together I can form entirely new sentences.
The funny ID thing was necessary when zettelkastens were physical cards in a box that you need to keep in order so that you can look them up. Digital zettelkasten apps have largely dropped the ID systems, you link cards just by their name, and you can use folders or internal headers for ordered structure when you want it.
I've found that to be exactly the case. Once you are able to freely hypelink your notes, the ID isn't really helpful. It's the first thing I dropped from mine.
Bloody brilliant! Assigning states is exactly how I use tags too. With tags, I always find that I'm just adding more avenues to be unhappy with imperfection. "Oh, is that the perfect tag? Is that tag too obvious? How will I remember this tag later on?" I would hate to have to develop an entire philosophy of tagging, because I have too many others anyway. So I prefer to deal with the one-stop uneasiness of "is this the right folder for it?". Still not perfect, but just the one.
Thanks for writing that post! I look forward to reading more on your website.
Why have I never heard of this before? And I'd really like to see some example top-level hierarchies.
And I'd ask, still, is is unnecessarily hierarchical? If you only have 10 categories below "20 Finance", why not just stick the (maximum) 10 categories under 20-29 in the top level? You'd still have the conceptual grouping under 2x, but without the indirection.
It does sound very interesting, but designing the system well at the beginning looks quite important (moving categories around later on probably causes large overhead) and difficult to do without experience.
I would also like to see more examples. I'm an academic, if anyone here is also one and has implemented this system I'd be very interested in seeing what your tree looks like!
Not seeing real-life examples is the most frustrating thing about JD in my opinion. Not John Noble's fault of course. In that spirit. My structure is below.
The Writing bits contain my two obsidian vaults as well as the static site generator contents for two websites I write on. As you can see, pretty much most things of any importance are covered, and yet I've got tonnes of space free to add onto later. Hope HN formats this danged list properly.
I'm far from a strict adherent to it though. Not everything is three levels deep. Some things are much more than that (like the SSG stuff for instance). But this is real life and not an abstraction after all.
Thanks for sharing! I will try this out with work files - personal work files so far. If I like it probably also for personal files. I suspect lots of personal stuff will still be outside the system - like coding projects. I don't like to have coding roots to far away from $HOME
I don't see why that would be problematic. You can name each folder/note what ever you want.
I guess you could also write a plugin for Obsidian that would do this for you.
I don't really see the need for numbering though. Obsidian has a very robust system for tagging and linking together notes. Coupled with proper search, I can always find what I need.
I do store my notes in a hierarchical context centric way (Finances > Loans > Calculations) which also helps.
The only thing missing for me in Obsidian is filtering of list of tags it tag pane - when I select one, list should get filtered to show only tags coexisting in notes with selected tag/tags. I write about it too often. Otherwise, it's perfect in searching/accessing notes. I use Obsidian every day and love it.
Aside from the technical characteristics of Obsidian, they have created a great community, particularly on Discord. They sell things (I'm a happy customer) but you can use it completely free. No nagging to buy or hitting you with ads or anything.
Just to chime in here, long time "http://zim-wiki.org" guy here. I'm still basically sticking with Zim for most of what I do, but that's probably mostly the equivalent of "personal muscle memory," for structured things.
But I am moving to Obsidian for anything "non-heirarchical" or "unstructured;" which for me is my "bookmarking" system as well as my personal Zettelkasten/brain exploring gardeny thing. The graph and extensibility is just fantastic, and I like knowing that I can export it wherever whenever.
Always fun to see these original comments in a HN thread. If you write this on Twitter you can get hundreds of retweets, hurry before someone else writes the tweet!
Jokes aside, Obsidian being a Electron application is not a issue. The app starts in under 3 seconds for me, barely uses any RAM and CPU usage remains stable and low.
If you want to actually contribute anything to this thread, feel free to give feedback on specific issues you find, that it's using too much CPU or whatever. But as it stands, you're not really adding much here.
It takes me about 15 seconds to boot my computer. But do I need to start the computer each time I do something on it? No, I leave it on.
Similarly goes for other things you use but takes "too long time" to open, leave the thing open and you just have to switch windows to access it.
And if you think Obsidian is a note taking app, then yeah, it's not the right tool for you, continue using Vi/m. But once you grow out of it, you'll need a knowledge base instead, and for that, Obsidian is lightweight.
You may also use any other note taking app as your default brain dump and use Obsidian as your editor tool to work your notes afterwords. Just for note taking anything would work its markdown/text. Where obsidian wins is backlinking information and all the wonderful community plugins that's been appearing.
My problem with Electron apps is that they don't seem to support window decorations under Wayland on Linux. I'm trying Logseq (https://github.com/logseq/logseq ) right now, and like any Electron app on Wayland, you have to start it via "Logseq --enable-features=UseOzonePlatform --ozone-platform=wayland" but that still doesn't give you window decorations (like titlebar, minimize button, etc)
For me, it definitely adds something to the conversation. I simply much prefer native apps to Electron-based apps, and I'm not the only one. The original comment thus saves me time.
For obsidian it is a significant advantage because you can have plugins that e.g. render a markdown task lists as a Kanban board.
It seems to fall into the vs-code category of being sufficiently well optimized, but if you wanted to deal with millions of files then some popular plugins (queries on tasklists in all files, aggregating data into diagrams, etc) probably would get slow.
Obsidian may be Electron, but it doesn’t feel like it to me. It’s fast, smooth, and I’ve never noticed excessive memory usage. I think its quality exceeds most fully native apps, especially on Linux.
Last I heard it was built entirely by two people (and two cats). What’s a better way to build a high quality native-ish application targeting 5 platforms with a team of 2?
Yes. I use Fedora 34 and I completely agree. Obsidian is very smooth. I admire logseq but it is buggy and slow (although I will periodically monitor their development) and I can't see myself using it atleast for now (Not sure if it's due to OS).
Obsidian benefits from being an electron app because it has allowed people to create many plugins that provide useful UIs and these plugins likely wouldn't exist otherwise.
(That said, there are non-Electron alternatives like Tauri coming along that use the native webview to accomplish essentially the same thing.)
And as is typical for Electron apps, it installs in some non-standard location (C:\Users...) on Windows, without even giving you the option to change it.
The CLI tool nb is excellent for taking notes in an editor of your own choice, and for making bookmarks (if readability CLI is installed it will make a local text copy of the page you're bookmarking): https://github.com/xwmx/nb
I'm the type most comfortable with taking notes on a physical piece of paper (cuz then I can draw stuff and make mind maps).
After many months I'm still learning to use Notion more extensively for different things e.g. automating stuff via the API
This is my first time coming acrossing Obsidian, just wondering if anyone's been using both Notion and Obsidian.
How would doing things in one and not the other differ from a use-case perspective, etc?
(I never quite understand this graph thing from a cognitive-offloading perspective, and how it should be utilized for domain-specific things, etc) I feel like it's often the act of taking notes that is benefitial (eg helping us to clear up the conceptual space). But maybe that's cuz I'm not in a name-intensive field like biology?
I use both Notion and Obsidian. The main difference is that Notion is an entire database processing platform, especially once you get into mirroring databases, and getting savvy with filters and check boxes. Not to mention the fact that everything in Notion is its own page. This makes it wildly customizable, and again, programmable.
Obsidian is a lot more static. It's basic strengthis having offline capabilities, simplicity, and markdown. I use it exclusively for my Zettelkasten, which I also have on Notion (I started my ZK and migrated it over to Obsidian). Obsidian is great for ZK in part due to its simultaneous multiple panel openings. So, you can see multiple notes at once. Notion can do this too, and I've use its Gallery fxn for exactly that, but there's something less claggy about Obsidian in this regard.
Notion is great for GTD and project management (again, when used dynamically with filters etc). Obsidian is great for note storage and retrieval, as well as processing ideas and arguments for use later in writing articles, scripts, etc.
I see! Thanks for the detailed breakdown and comparisons! I'm now somewhat convinced that I should definitely get familiar with Obsidian and exploring different aspects of it
Zettelkasten has been something that I wanna try out for a while!
Last I checked there was no good way to do quick capture of articles from mobile iOS to obsidian. Scenario — I come across an article on my iPhone, and I just want to dump title + URL (maybe even the text content) into obsidian. This is a must have for any note taking tool. Anyone have a good workflow for this, please share. Ideally an iOS shortcut.
In the spirit of HN always recommending, to my absolute infuration, "Org-Mode" to noobs usisc Windows when it is clearly a non-solution, I'll offer my own non-solution. Don't take notes on your phone.
My relationship with my phone is the best it has been in a decade, because I fucking despise using that thing. It's cramped, limited, inflexible, addictive and disposable. It's an awful machine to do anything non trivial. So, now my phone just serves as a calendar reminder for upcoming meetings, maps, and messaging. It is no longer a "constant companion". I use it for less than an hour a day on average. I don't even have a browser on it. I love this. I love my superior smug face when I'm on the bus and every other pleb is buried deep into his/her screen, while I ride astride with my zen halo glowing brightly, taking in the world, paying attention to squirrels being chased by cats and so on.
There is more to life than increasing it's speed. Nature does not hurry, yet everything is accomplished. Do fewer things, but cherish them more. Throw the phone into the trash, and wait till you're in front of a laptop or a desktop.
I actually do all of those things you mentioned but also like to keep things simple and take my notes on iAWriter on my iPhone which syncs with iCloud and is very conveniently available on my iPad and Mac as well. Haven’t found a more simple and markdown supporting application in years. You don’t need to dump all functionalities of your phone to enjoy life.
Fair, fair. My comment was pretty tongue in cheek anyway.
I was going to suggest to the GP that they take a screenshot, and then process it later on, when they do their weekly review or something. If the URL isn't fully captured in the screenshot (because smartphones are woeful pieces of dogshit remember), then they could search for the article. Adding that extra friction is a Good Thing in my opinion, because it forces you to consider whether accumulating all that extra burdensome information is worth the friction. But your solution is smoother :)
This is exactly how I felt when trying to use my smartphone for ‘productivity’. The screen is so damn small and most apps zoom in so damn close there’s no space to do anything non-trivial. It feels like I’m operating in a workspace for ants. It’s impossible. So I concluded that experiment and now exclusively use the phone for stupid cat videos.
My main gripe with Obsidian. That, and the fact that it costs almost $100 to have the mobile app sync with the desktop. That's insane to me, and feels vindictive. I'm all for paying for the platform. Seriously. These ventures need bottom - up support. But, syncing is a basic feature that any mobile app should have baked in. Charge for 24-hour support, something that actually requires the time of the team.
Just download the app make a vault. Same it in iCloud or google drive. Now use your desktop pc and copy the files over. Done and a accessible vault in your smartphone.
Note that iCloud Drive on the Mac is a bit random about when it decides it wants to sync files. I ended up abandoning that setup after too many times of being somewhere and finding my laptop never pushed up the latest version of a file.
You can't just save the vault in Good Drive on your phone, because the vault is looking for a folder on your phone to sync to. The Drive option simply isn't there. From what I've seen you have to download another, third party sync app, to do that, and that just sounds clunky af. Obsidian charging $90 a year(!) for sync is just super lame. I can wait til they realize that.
Have you tried Markdownload? It's a browser extension that saves and downloads web content as markdown. I use it all the time on my desktop but it's a browser extension and supports Safari, so maybe it's helpful for you too.
I'm just using Google Drive with the files the app uses on Windows and mobile (using FolderSync for Android). I'll probably try out the git plugin soon so I can use it easily with Linux but was trying to use Obsidian without and additional plugins for a while as I'm just trying it out.
I did it just fine for the cost of the license of Working Copy syncing to a iCloud folder. But the Obsidian license still made me end up going over to LogSeq, which works better for my mental model.
i am hoping, like onenote, a note taking system that i can use on computer and mobile devices and sync to each other, easily. This is very natural need.
Or syncthing. I already had it set up between phone, pi and PC, so threw the notes dir into there. Now free to switch between desktop and mobile with quasi instant updates.
It's clever until you hit issues with uptime, or breaking the specific rules of the TLD. I'm also a supporter of Obsidian, but it scares me that the domain is under the whim of the Moldovian government and could get shut down/redirected if someone who uses Obsidian Publish decides to write "bad" stuff about government officials since the TLD doesn't allow that.
> Registration restrictions: Prohibited domain names with bad taste, foul language, injurious to public order or to public sensibilities, with offending character, or with obscene or pornographic words
The latter is my concern. Until 2020, Moldova had a pro-Russian government. They could easily return to power. I would see Moscow having zero qualms about requesting e.g. certain visitors be re-directed to a Kremlin-controlled server.
Yes. I have seen the .mdown extension also, but .md is the default in every editor I've used, and it's a default for readme files on Gitlab and GitHub.
We're talking about the website here, not the file format. .md is the top-level-domain for Moldova, Obsidian.md exists at that address by the good graces of the Moldovan government.
I really do need to get started on a personal wiki. I might give this a try.
It would be nice if I can get the files into git that I can save to a private github repo (I'm fine paying the one time payment to support them but $8/month seems too much for a simple sync feature)
> It would be nice if I can get the files into git that I can save to a private github repo
It's just a directory of markdown files. Nothing preventing that directory from being a Git repo. Lots of people use it that way (or with Syncthing, Dropbox, or whatever).
Since it's just markdown files, using a fit repo to sync it is trivial. There's even an obsidian plugin to automatically commit/push in regular intervals (i.e. every 30 minutes).
I've been playing with this app for a few minutes, and it does appear to save everything in plain text files, so adding it to git would be straightforward.
I'm currently saving into a dropbox folder, which gives me automatic syncing.
If Obsidian weren't proprietary, I'd probably be excited for it. They do make it easy to jump ship, but I'm still both morally opposed and skeptical. If they really had your best interests at heart, they wouldn't keep any secrets. While the company appears not to be evil at the moment they could change their mind at any time, potentially without you knowing.
Instead I've chosen to replicate Obsidian's functionality in VSCodium. The parts that are missing (Mostly advanced search/scraping functionality) writing scripts to do. This works well because I've already modified almost every aspect for writing code. Extending it to notes should be relatively simple.
What I am missing most in Obsidian is this: It does not show the date created of the document. I need to hover over a note to see that info.
This is such a basic and super important info, I am wondering why it‘s neglected so much.
Every note taking app always shows the creation and/or modification date: Evernote, Bear, Ulysses, and every other app I know.
Also the aesthetics is not on par with Bear or Ulysses.
Finally, I tried to import my Roam Research notes into it. Ended up with thousands of empty pages that were just tags in Roam.
By the way: Obsidian users aggressively try to convince users of other tools how superior it is, on Reddit forums for various note taking apps and even on twitter. Haven’t seen this behaviour, even from vim or Emacs lovers.
> It does not show the date created of the document
You could use/write an extension for that! Obsidian is very extensible. I think there's template extensions you can use to put the datetime in the title, or in the filename.
I really love obsidian. Sure it has a couple of wrinkles, the mobile app is new still and has a couple more wrinkles, but it scratches so many itches I have around note taking.
Currently using it alongside https://get.mem.ai/ and love the pairing for knowledge base and real time notes. I’m working on combining the two to come up with my ideal set up.
Just tried out mem.ai. Unfortunately, very buggy through account creation (registering my phone number failed) and the layout doesn’t work on mobile.
As something that’s built and branded for quick release of information, I think there’s some more work to be done. Worth following, but isn’t immediately useful for me.
Did you completely misunderstand the text segment you quoted? It doesn't say that the software itself is open-source/free software, it's just talking about the data it produces/maintains/uses, so your comment seems to be way offside.
What is your point? I've moved my obsidian notes to vscode and back without any issues. Is closed source software somehow incapable of having true statements?
It's by default tricking you into believing you should trust it, so yes closed source is incapable of having true statements until proven wrong (source: you can't prove it by nature)
Closer: "I am incapable of reasoning, except in broad generalities".
Having an open and simple file format that is easily imported/exported is all many of us want from software. We are actually perfectly OK with paying people for work. Separating data freedom from access to source code is a perfectly meaningful thing to do, even if you personally don't like it.
I assure you that I'm personally good with the separation, which makes sense.
I made a remark about a remark, and nothing more.
Speaking of personal, I don't mind attacks; do go on. Well, not that I want to encourage it here, where it is not allowed, but you can PM them to me, if you have more.
But how can I trust something I don't have the source code of as my second brain? My files are what is most dear to me, literally a backup of my brain.
If what you have in your notion is mostly ideas, concepts, and thoughts, then Obsidian is a great choice. It is not as great for storing facts, because of the lack of something resembling Notion's robust database system.
So I use both: Obsidian for ideas, beliefs, concepts, explanations, class notes, etc. Notion for Goals, freelance client project info, job hunt tracking, to watch/read lists, images and links for internet arguments, plans for video games, travel plans, technical solutions, exercise and practice routines.
I do like Notion. I have been a paying customer for the last year. But I find that it has too many limitations for how I work. Why can I not customize colors? Why is there no plain text block? Why is there not a simple table? So many basic things seem missing.
I wish any of these projects(obsidian, logseq, Roam) supported WikiWord autolinks alongside [[Mediawiki]] ones. See also: https://apenwarr.ca/log/20100901
Obsidian might be a great tool but I use Remnote and it has not given me any reason to switch to any other knowledge management tool. It’s a breeze to create organised notes with it and creating flashcards has never been easier. It also allows to download your entire knowledge base in markdown or JSON. With its latest UI overhaul things have got even better. Also I see Obsidian does not have a webapp or a windows app and that’s a deal breaker for me as I have to work with Apple and Windows devices. I have it tried Obsidian yet and it does not look like Remnote will give me a reason to do so anytime soon. Happy note taking! The golden age of note taking! :)
No, they have no specific vscode-extension. That would kinda defeat the whole purpose of it. But there are a bunch of markdown-extension doing more or less similar things. But IMHO a dedicated app serves the purpose better so far. VS Code is good, as an editor. But it's not (yet) an app-platform.
interoperability for one. Makes it fairly trivial to move notes between apps. I tried out Obsidian because I could just copy my logseq markdown files over.
snapshots aren't that big. A wiki server just runs on a single server? I thought it was pretty common among the HN population to have a cloud note solution. Syncing files seems more hassle than a one-time docker setup.
I’m really grateful to Obsidian for getting me into personal wikis. The devs work super quickly and it’s amazing to see what the two of them have been able to accomplish. I wish there were more Obsidian-like communities out there.
Although I mostly use vimwiki these days, I still use Obsidian for viewing backlinks. Does anyone know how to do this in (n)vim?
Does anyone know the name of the note taking tool where pretty much everything is a bullet point, and each bullet point can expand to show sub bullet points. The website is essentially the tool itself IIRC. I've been trying to remember it for ages. I saw it in the comments for a different note taking tool on HN...
I like to use Obsidian on iOS and then Foam on my computer. They happen to have a lot of the same custom Markdown syntax, and I prefer using VS Code on my computer :)
What does Obsidian offer that Foam doesn’t or vice versa? I use VSCode for writing and programming so am trying to avoid yet another tool for note taking and knowledge management.
Foam doesn't run on my phone. Because VS Code doesn't run on my phone. So I use Obsidian to edit a synced folder on my phone, just because it is functionally similar to Foam but runs on iOS.
I’ve been interested in Zettelkasten for over a year and have tried all of the apps (Obsidian, Notion, pen and paper, etc.) but I still haven’t found a good system for using it. I always feel like it’s either too much information or too little. Any tips?
Spent the last week's evenings researching this. Make a list of the features you need. For me, using markdown and YAML frontmatter was the best solution.
As for traversing the notes, I picked VSCode (I would have picked Obsidian but it does funny things with front matter that I didn't like, and it lagged a lot on my computer). Primarily because it has extensions that update links automatically when the filepath to a note changes, and for graph view. You can use vim inside VSCode as a text editor. That's all I need really - VSCode to traverse, vim to edit.
What's great about this system is it really does stick strictly to commonmark and YAML usage isn't restricted at all (you don't even have to use the frontmatter if you don't want to), so your notes are completely portable.
What I'd like is an easy way to keep my notes synced on my laptop and my android phone. I suppose I could install git on my phone and do it that way, but maybe there's a less faffy way I'm missing?
Syncthing. Been using this combination for a few months now and seems to work fine between an Android phone and a few Windows + Linux machines.
I had previously been hosting TiddlyWiki from my phone, but offline editing + opportunistic syncing when on WiFi seems to fit a personal wiki better for me.
I've been using it with termux+git on phone. My shell history has the full path to the obsidian folder and the previous git commands. So I just do up arrows and enter. Not that ugly.
I'll admit it's not as UXy as pressing a sync button
I keep my notes synced on a Dropbox folder. On my Android I use Dropsync to keep all synced changes in the local file system (the official Dropbox app supports that but only for paying users).
Try Syncthing (Synctrayzor is a nice wrapper on Win, Syncthing-Fork on Android is better than original Syncthing), if you don't want to pay for their Obsidian Sync.
As long as you can sync a folder on your phone (whether with Git or any cloud service), mobile app can open it.
Of course, you may experience some conflicts, but that's why you can pay them not to worry about that. Totally worth the price for me, though I do have a permanent discount ($5/month, as does everyone that signed up before Sep 30th).
What about non markdown alternatives.
I colab with people who will not use markdown. Notion is ok... But I would like tools with some real knowledge management not just the basics
Odd that there's no video introduction. The first hit I found on Google had two ads and was a guy basically wandering around the app as if he had never used it before.
> Obsidian is a powerful knowledge base on top of a local folder of plain text Markdown files.
This doesn't help me. I use a directory of Markdown files powered by VS Code to take notes already - ever since Evernote began getting bad, which was a long time ago.
What does Obsidian offer beyond that? I can't tell from the page. I'm not asking for an answer here. Instead I'm noting that the page itself doesn't answer the questions that I have as a current Markdown-notetaking user.
Obsidian is a powerful knowledge base on top of
a local folder of plain text Markdown files.
"
I have no idea what that means and a quick perusal of the site doesn't really tell me what this is,
If you want more people to download this please do a better job of explaining what it is. Is this a tool for Markdown writers? A a journaling tool? Does it cache my browsing experiences?
Why can't people write marketing copy in user-centric terms?
I'm going to try in only because everyone here seems to love it, but wouldn't bother if that wasn't the case.
Please step back and think about how to introduce new products to new visitors, thanks.
I could not disagree more. I'm very pleased that things such as markdown exist and are being widely used. All of the tools used by 'other professions' as you say, are in some nonsense proprietary format that works in their application and theirs alone. Even something as widespread as .docx is still a third-class citizen on other applications, due to Microsoft's monopoly on it.
Is Markdown perfect? No. I find it rather frustrating that there isn't a single definitive flavor, but it's easy to learn, easy to read and render, and can be used as a tool in just about anything. You can keep your 'real programs'.
I really don’t understand what they think we’re missing in markdown, as if most of us don’t have plenty of experience with “better “ document software. They also don’t actually explain what features or tools make that’s software “better.” Most people I know in these trades are using Google or Office suites simply because that’s what they’re the most familiar with.
I’ve been through so many formats and styles of capturing information and always come back to markdown. If OP has specific critiques of what we’re missing out on, I’d love to hear them. Mostly it was just vague ranting about “devs love old tech.”
Markdown mixes formatting and content (in a lossy way - did the author mean that asterisk as a format character or as part of their text? Who knows). It doesn’t support spans or ranges for mixing languages. It has hard-to-remember syntax, especially around links - Gruber makes mistakes with it all the time. And it doesn’t easily support the sort of powerful visual editing tools like you might have seen on a 1980s Mac. And worst of all, developers think it’s “good enough” and ship it to non-developer users instead of making them actually powerful tools for managing text.
1. Mixing formatting and content is the point. Maybe it’s not for you, but describing its main feature as a problem doesn’t make sense.
2. There are maybe 5-10 syntax elements to get up and running with Markdown. Your average excel user has probably committed far more keyboard shortcuts to memory.
3. Most markdown users are fine with importing an image from another app if “powerful visual editing tools” (which still haven’t been defined) are needed. Not to mention extra features in this area provided by Markdown editors like Obsidian.
4. Again, I still don’t know what you consider to be an “actual powerful tool” for managing text. Does your definition begin and end at WYSIWYG?
1. Right, but unless you want a circular argument, the “better” you are missing is the ability to separate the two. You should be able to type a note featuring all the characters on the keyboard without unexpected side-effects, this doesn’t seem like a lot to ask.
2. And yet the inventor of the thing repeatedly gets it wrong.
3. Visual editing here meaning more WYSIWYG than the inclusion of images, but it raises a good point - the bounds of what we consider a document is rapidly outstripping what markdown can comfortably capture. Tools like Notion are blurring the line between what used to be thought of as “text” and “embed” and are making great user experiences by doing so.
4. Honestly, in this context (document editing) I think of ClarisWorks as a more powerful tool than any Markdown editor I’ve ever seen.
A ClarisWorks with Obsidian-like features would be a rocket ship for the mind. Limiting Obsidian to Markdown is like using diesel to fuel the rocket.
One of my highest priorities for a personal knowledgebase is that my system can continue to be essentially unchanged for the rest of my life (hopefully another 50+ years), just as my current archive of notes goes back 20 years.
The Lindy Effect[0] would say that plain text files have already existed for more than 50 years, therefore are likely to still exist another 50 years from now.
That being said the Obsidian team are making progress towards adding WYSIWYG, so you will soon be able to edit visually while keeping the files stored in a readable plain text format.
There are a lot of tradeoffs to using non-plaintext formats beyond not being able to edit them on old-school green CRTs:
- Have you ever tried using git on a docx file? The best you have is file history, but good luck trying to merge branches, create/apply patches, cherry-pick commits, rebase, or view line-by-line history.
- You lose the interoperability of plaintext. Any editor can open a plaintext file, and consuming a plaintext file is straightforward. Not so with binary.
- You lose a lot of choice about how you want to interact with the file. Syntax highlighting, TextMate bundles/snippets, and hundreds of editors and plugins are available to both create and consume Markdown (and many other text formats).
I agree that rich text editing is great, but may I suggest looking into another plaintext format besides Markdown if you can't find a wysiwyg markdown editor you like? There's RTF, TeX, and others -- each with a great ecosystem of tools around it.
More generally, if a particular plaintext format doesn't meet your needs, I'd argue the problem isn't necessarily that the format is plaintext as opposed to binary. Binary can be nice for serializing C/C++/etc. objects and for packaging resources, but there are tradeoffs.
You are begging the question. Git works well with plaintext because it is a product of the 1970s thinking that OP is bemoaning. If we built tools to do Git-like things on rich text file formats, they’d work just as well. (And Track Changes does a subset of those things surprisingly well inside Word, fwiw)
And OP didn’t specify binary output. The output format could be anything we standardised on, just so long as it supports rich editing environments. That is, we shouldn’t have to write in the output format; the two can (and probably should) be disconnected.
Markdown is both a terrible output format and editing experience, especially when you get complicated. It’s the worst of both worlds.
I've been using MS Word with a heavy reliance on Track Changes for years, and I'm converting my technical writing department to use Markdown as fast as I can. I have moved them to the WYSIWYG-on-Markdown editor Zettlr[1], and my non-technical writers have praised it for being "almost-not-techie at all".
I can't stand one more MS magic trick to auto-formatting on copy-paste (while mangling half of the styles) or figuring out why some objects simply disappeared or why Word rejects applying some format or layout.
When your job is to keep working on expanding the same hundred-pages-long document year after year, you learn every trick to fix the random MS Word bugs and protect your document from being destroyed by the software 20 times a day, and it ain't pretty.
* I would have preferred to use Asciidoc instead of Markdown, as it comes with the full Docbook feature set; unfortunately, native support on well-maintained editors is much worse with that format.
Why not try FrameMaker or something actually built for the job, instead of forcing your poor team into a “still-actually-techie” format written to get around the limitations of MovableType for formatting weblogs? You’ll get DocBook support and still be free of the undeniable horror that is Word
What you call question-begging is really just an assumption I'm making - that git's feature set isn't available (or practically feasible) for any binary format.
You might disagree with that assumption, but if so I'd challenge you to show me (or build) a piece of software that (a) uses a binary storage file format and (b) has a feature set comparable to that of git for files in that format.
I know an argument from lack of existence doesn't prove anything. It certainly is within the universe of the possible to implement git's feature set in MS Word. But I highly doubt MS will ever do that, as that wouldn't make sense from a business standpoint.
A great general version control system is most likely to be implemented on formats that are the most interoperable. Nothing is more interoperable than plaintext. Perhaps if someone designs a structured general-use binary format that becomes widely adopted, then version control will be implemented for it. But I bet if someone does try to build such a binary format, someone else will follow it up by building a similar or better plaintext format. Plaintext is more attractive for non-proprietary software, because you get a lot for free.
In fact, I believe the only long-term business benefit of a binary format is vendor lock-in.
You might say developers are spoiled -- we enjoy power and freedom in our workflows that others don't even know is possible. I for one prefer the power and freedom that plaintext formats (both data and code) afford. Although I do sometimes use MS Word, I almost never commit a non-plaintext file to a git repo when there's a plaintext-format alternative.
(Again, rich text doesn’t need a binary file format but you ignored that)
Word’s Track Changes literally does this - you can compare/merge/etc. Quark also had extensions in the 90s that allowed it. It’s entirely feasible for any binary format (assuming you understand the format); why wouldn’t it be?
And it makes a lot of sense from a business standpoint, eg for lawyers, which is why they implemented it. Is it as rich as git? No, the use-case is different. Could it be? Yes.
I’m going to leave “power and freedom” where they lie and go marvel at the awesome power of the “Italic” and “Table” buttons from Word 5.1.
> (Again, rich text doesn’t need a binary file format but you ignored that)
I'm not arguing against rich text. I think it's a great idea. (My earlier comment suggests using it, actually.)
> Word’s Track Changes literally does this - you can compare/merge/etc.
Nice, but it doesn't support cherry-picking, creating and applying patch files, or any distributed VCS features. I'd also venture that it likely doesn't have anything like the 4-pane merge UI that tools like kdiff3 have.
---
If Word covers your needs, great! I'm not sure why you're arguing against markdown in favor of it, though. The two solve different problems.
I'm not arguing against word, just pointing out the practical differences between binary and plaintext files. Use what suits your particular needs!
I think the reason for programmers' attachment to Markdown isn't just about being able to operate on it in a terminal. It's about the general interoperability of plaintext.
Terminal editing is one example, but even IDEs and non-terminal text editors also use plaintext. There's also the fact that version control tools are designed for line-based plaintext. Markdown is especially often used for documentation that gets checked in alongside code, so this is an important consideration.
I would be very interested to hear thoughts on good alternatives to Markdown for technical documentation, even if not plaintext-based.
1000% this. Markdown will be around forever. I'll be able to open an old file 20 years from now, _because_ it's just plain text. That's a feature, not a bug.
I'm so done with tying myself to rent seeking proprietary formats. For something as personal, important, and long lasting as notes / writings, I'll take the minor hit on absolute feature set.
Wow, I couldn't feel more differently about markdown. I'm not a programmer, but I welcome this useful non-proprietary format. I just wish I could get my entire small business to use a Wiki full of markdown files (which present very nicely with wikijs and other such software) instead of a bunch of folders full of MS Word files.
>In fact, the whole programmer's fetish with writing everything with a plain terminal text editor needs to die. Markdown, YAML, JSON, INI files. It's the year 2021 for christ's sake, and we're composing documents with tools designed for green CRTs!
Alternative take for this same sentiment: It's the year 2021, why has nobody figured out better ways to present knowledge than simple text files?
There are better ways [1] [2], there's just no paying customers. You can express knowledge using a Semantic Web Stack[3], encode data in N-Triple/JSON-LD/RDF/XML and query it with SPARQL or Turtle. Wikidata[4] is an example of this.
But (afaik) nobody's selling a product that builds and queries a large semantic knowledge base for consumers. Some industries have Semantic Web-based solutions (i'm not aware of commercial ones but I assume they exist), but nobody has yet explained to the consumer why or how they should build ontologies or keep data in triples. The terminology itself is probably a barrier to market, and all the interfaces are (imo) clunky.
If I were to build a consumer product, I would hide all the technical jibberish and make a slick UI that walks the user through linking semantic data, leaning heavily on Wikidata to fill in gaps. Gameify it so that people can compete for points to link more data, add a subscription fee, add social components: poof! Billion dollar personal-knowledge-base app to replace Evernote. Value add/tagline: "Know yourself better." (inb4 selling the free version's users' anonymized data to advertisers...)
Better technology works like this: some people pioneer in it and most people are skeptical initially. Eventually, almost everyone transfer to using the better technology, and will wonder how they ever coped with the older technology.
I know, we don't get many of these in this field anymore. I think this means something.
Not the OP but I'm happy to defend WYSIWIG editors. Things like font size and bold and italics exist for a reason. Markdown tables are extremely clunky. Inline images (or pretty equations) are important for many types of writing. Bullet lists in markdown more than two levels deep get interpreted as code my most syntax highlighters.
Don't get me wrong, I love plain text and I do most of my writing in markdown, but WYSIWIG editors have their place. As do things like spreadsheets (for represent lots of info) and LaTeX (for docs).
The general problem, of course, with WYSIWIG is distribution: what YOU see might not be what someone you send the document to sees. Do the people you're sharing the document with have the same application, the same version of that application, the same fonts installed? You can export to a presentation format like PDF (or HTML), but then they can't edit it as you did, and it's also likely that the translation will change "what you see".
Markdown is a least common denominator for sure, but that limitation also gives it a useful universality, which is what proponents value in this case.
I don't want to downvote you but I do disagree with most of what you said. Tech writers should be able to learn things and not just be stuck in whatever single tool they are familiar with.
To me, it is clear you don't want to spend minimal effort to understand simple tools because it is not the tool you are familiar with and like to use.
Obsidian is not perfect, but not for reason of using Markdown.
I’m slightly relieved reading this. I see markdown everywhere, I can’t stand it, and I wonder why people are so crazy about it. It’s nice to know I’m not alone.
Unfortunately I don’t think markdown is going anywhere. I think I see it far more than ever and there’s no sign of it slowing down.
I have been sent word documents that I’ve been totally unable to read.
I’ve never been sent a markdown file that I haven’t been able to read.
I’ve been sent a PDF that looks correct, but I’m not able to easily edit. I’ve never been sent a markdown file that I’ve been unable to edit.
For a document format to be able to be widespread it needs to be interoperable and work on all systems. Markdown is popular because plain text works everywhere.
I’m not convinced that markdown is the ultimate format, but it has more good properties than most other available formats.
But "looks correct" for PDF presumes a certain form factor of the device used, because of the fixed page size. PDFs are a pain on many e-readers because they are laid out for US letter or A4 at a certain resolution. On a smaller device I often find I have a choice of either a. seeing an entire page at one time, as intended, but needing a magnifier to read anything, or b. zooming in to be able to read the text comfortably but then having to scroll left/right/up/down to read. There's no option in PDF to reflow the text to fit the resolution and size of the device. I'm not much of a fan of epub but at least the text reflow allows for normal reading.
Also, exporting text from a PDF to import to anything else is trying at best.
I agree with you, markdown is far better than what you’ve described.
It’s an interesting thing to consider. How do we get somewhere sane between markdown and say HTML for example? What would that look like? Can you get the ease of markdown with something that would let us do more too?
I fell in love with Markdown in the early 2010s. My team at work didn't have a corporate wiki, and the only alternative to documentation was network shares and non-searchable folder hierarchies. I installed Dokuwiki, and its editing is all markdown.
The alternative became Confluence, which is now a pretty decent product(for the end user, I can't speak to operating it).
But in 2013, the editor was terrible. WYSIWYG was broken and non-deterministic. You never knew how it was going to try to "intelligently" format your next press of the enter key, or bullet list or table. There was no visual cue on the work it was doing for you.
Markdown is very clear, if limited: There is no ambiguity on how it will format a page.
I will say, I think there are tools that provide WYSIWYG composers that store data in Markdown backend, giving the benefits of both easy editing, and a stable, human-editable source format.
> I can’t stand it, and I wonder why people are so crazy about it.
I wonder why people can't stand it. It's raw material that can be easily be transformed into a plethora of formats, both open and propriety. See e.g. https://pandoc.org/
Agreed. It's a form of jargon, which is effectively never a recommended (communications) tool. If it was the best-fit tool, sure then so be it. But too often the jargon tools are more about being elitist than anything else.
Or maybe I've been at this too long, and too naively still optimistic?
Being a mechanical engineer student myself, I can see where you're coming from, however, I have to respectfully disagree.
It's true, most professionals use off-the-shelf solutions, the Office/Adobe suite, or other proprietary software like Catia, Autodesk, the likes. I have been nothing but frustrated by these options. I have dealt with gigabyte Illustrator files, as the inexperienced user accidentally embeds all linked media. I have been increasingly frustrated with "made up marketting terms" when saving Adobe proprietary formats, or OneNote's "invisible formatting language". I make a new line, then remove it, and whoops, the whole paragraph has been reformatted, all the equations are no longer in italics (despite this, I still use it for all of my study material, it's fantastic)! It helps to have a Markdown-like mental model when dealing with word processors, you understand the data hierarchy, which is at the end of the day underneath all of that GUI, most people I know who use Word make an absolute mess of the document because they have no idea how to have a consisent layout, they add new-lines, paragraphs, tables, fonts and indententations all over the place and then get frustrated when they don't get the desired results.
While Markdown may not be the best format with the most features, it has a fantastically consistent layout and it's easy to understand the hierachy of information. There is no obligation to use the terminal, you can open it in any visual editor. Also, I would not call the fact that it's plain text instead of XML/binary a limitation but rather a feature, not a "remenant of the 1970s".
There is something amazingly refreshing about knowing that what you see is what you get, I can't stress this enough. Instead of using buggy program that manipulates a mess of an XML file, you describe the layout from scratch and that gets "compiled" to a PDF. This is why programmer source code is written as text, and not in Word, for example, it's just plain information that any compiler can work with to achieve any sort of complexity. There is no hidden document metadata, there is no hidden bloat from [insert proprietary software here] having upgraded the document format several times over the years until it eventually corrupts something (I'm looking at you Premiere Pro, every major version requires you to upgrade your saved project, making a new copy "just in case", it's impossible to go back, and I've had it break several times). It's a single source of truth that describes a behaviour, and the compiler can get better over the years and generate better and better executables from that same code as it improves.
This is the worst argument ever, but it's still an important one: it's free, and works on any OS. There are definitely advantages to using off-the-shelf software, I myself am a heavy user, but I cringe every time I have to work on a messy document with other students, recently I had to work with another student that has macOS and could not get Word to open the document and display equations without converting them to images...
I find the Markdown/Word comparison similar to my experience with Docker and Windows, for those that are familiar with it. Windows, macOS and Linux (although Windows is the worst offender) get bogged down with bloat over time, dnagling files, layers of abstraction, derived from complexity. How many times I wish I could start from a base image, and add/remove (software) features as I go, like building a new Docker image, without losing data.
You bring up scientists, granted, not everyone uses it, but I believe LaTeX is more comparble to Markdown than to Word. It has a text-based source format that gets transformed and rendered as a PDF, but it's way, way too complex for the majority of use cases. If there's a better alternative to Markdown, I'd be glad to try it out, but for now it's my main choice for the long-term storage of information.
I'm a programmer, I know Word exists. If someone wants me to produce a Word document, I can take all my content that's in markdown and generate a .docx file. I can also generate dozens of other formats, all from the same raw material https://pandoc.org/demos.html
I haven't yet seen a tool that can take a Word document and transform it as neatly and automatically into many other formats, although it's gotten much better since things like Open Document Format compelled Microsoft to ditch the all-binary .doc format and move to the mixed XML/binary format used now.
In the end, Markdown is a summarized way to write simple HTML; all styling should be done on a separate CSS. If you intermix lots of <div>s with class names in your text, you're not doing Markdown well.
I started using Obsidian when it came out last year, and it instantly clicked for me. I immediately migrated 20 years of notes to it.
What differentiates Obsidian from all of the other tools in this area, is that they have made extensibility a top priority. The sheer breadth of plugins, themes, and other community-driven tools that have been generated in 18 months is spectacular. It makes it easy to recommend Obsidian because you can shape it into whatever you want.
There are a handful of plugins like Dataview, QuickAdd, Kanban and Periodic Notes that make Obsidian an incredibly powerful environment for thought.
I made a theme for Obsidian called Minimal that attempts to make the app feel more native, especially on Mac: https://github.com/kepano/obsidian-minimal
...and published a couple of my own plugins and a Web Clipper bookmarklet: https://gist.github.com/kepano/90c05f162c37cf730abb8ff027987...
The Obsidian community is just so fun, friendly, and collaborative, that you can't help but get involved and work on making the ecosystem better.