Obsidian is (almost) a Typora killer
For the last several years, I used Typora for my academic writing flow. It has all of the benefits of a WYSIWYG editor combined with all the advantages of the Markdown ecosystem such as Pandoc for format conversion and Git for version control. I thought I had found my ideal setup—I even drafted a post on it—until last month.
Recently, Typora left beta and started charging for the application itself. This alone would not be enough for me to abandon it or even alter my review. God knows it provided me more than $15 worth of utility in the years I used it and, if there were no viable alternative, I would have paid for it happily. Though I prefer open-source software to proprietary tools, I can live with them so long as the underlying data is in an open format. In the end, I completely abandoned Typora. Here’s why.
Obsidian Live Preview is Typora on steroids #
The event that caused me to change my mind was the release of Obsidian’s live preview mode. Obsidian is a Markdown-based personal knowledge management system that I’ve used extensively during the first year of my PhD. It allows you to store your notes in plain text on your computer. On top of the foundation of Markdown, it adds support for [[backlinks]]
and extensibility via community plugins. Oh, and it has Vim keybindings.
Despite Obsidian’s strengths as a second brain, I hadn’t done serious writing using it due to its lack of ergonomics for writing extended pieces. From VS Code to Mark Text to Zettlr, no app was able to make the long-form editing experience as slick as that of Typora. There is a reason why WYSIWYG editors are so popular in the first place. Being able to edit the raw source and have it rendered on the fly is a superpower. Humans don’t want to read the raw source material or else it wouldn’t be called “source” at all: it would simply be the final output format. I don’t want to see \sum_{i=1}^{10}{x_i}
when rereading my work. I want to see $\sum_{i=1}^{10}{x_i}$.
Typora had a lock on the WYSIWYG Markdown space until Obsidian released live preview last month. It’s still in beta and not perfect yet but it’s already about 95% of the way to parity with Typora. The key features—inline markdown rendering, $\LaTeX$ preview, and syntax highlighting in code blocks are there.
Plugins are a game-changer #
When combined with the citation management plug-in which integrates with my Zotero library, Obsidian is capable of becoming an all-in-one package for researching, writing, and curating a garden of knowledge. I can search my references from the editor view:
Then, once the Pandoc-style reference is entered, I can hover over it using the first-party Obsidian page preview plugin to see the citation information:
Obsidian’s pricing makes more sense #
Pricing-wise, Obsidian has the better model. It’s free forever to run locally. However, for hosted services (sync and publishing), Obsidian charges a recurring fee. I had been stingy and avoided paying for sync for an entire year. I regret that decision since, for eight dollars a month, I can support ongoing development while also getting native syncing between all of my devices. It’s really helpful to be able to dictate my academic papers using my phone when inspiration hits me, wherever that may be.
My lifetime value to Obsidian is already higher than the purchase price of Typora and I’m happy to pay for it. So happy that I’m writing a blog post (using Obsidian, of course) about it.
Obsidian hasn’t killed Typora (yet) #
Obsidian is not without its downsides relative to Typora. However, I think these downsides can be fixed relatively easily. First and foremost, it’s not possible to open an arbitrarily located Markdown file in Obsidian. Instead, it has to be located within your notes directory. I’ve gotten around this so far by temporarily symlinking but this hack isn’t anywhere as slick as just opening it in Typora. Obsidian should follow VS Code’s approach when opening files that are not in the current workspace: just open the file anyway.
Typora also handles files with semantic breaks (SemBr) better than Obsidian. SemBr—essentially putting one sentence per line—is a godsend when editing plaintext documents with a line-based version control system and when using line-based editing commands (such as Vim). However, using SemBr makes the raw source less readable since every sentence is on its own line. In essence, it turns text like:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam congue, augue sed dapibus convallis, diam nisl gravida elit, eu scelerisque urna diam et lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Nam non euismod purus. In sed eleifend lacus. Fusce et tortor non lacus efficitur rhoncus in in arcu. Etiam consectetur justo libero, vel gravida mauris aliquet non. Etiam ac libero odio. Duis dignissim ante ut lectus facilisis, ac tempor dolor auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Etiam sed quam vel tellus aliquam blandit. Nullam congue lectus tincidunt, sagittis ipsum convallis, faucibus justo. Sed ut diam ut tellus semper ultricies. Pellentesque a sapien lectus. Sed massa nulla, tempus eget dapibus non, dictum vel orci.
into source like:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Aliquam congue, augue sed dapibus convallis, diam nisl gravida elit, eu scelerisque urna diam et lacus.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Nam non euismod purus.
In sed eleifend lacus.
Fusce et tortor non lacus efficitur rhoncus in in arcu.
Etiam consectetur justo libero, vel gravida mauris aliquet non.
Etiam ac libero odio.
Duis dignissim ante ut lectus facilisis, ac tempor dolor auctor.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Etiam sed quam vel tellus aliquam blandit.
Nullam congue lectus tincidunt, sagittis ipsum convallis, faucibus justo.
Sed ut diam ut tellus semper ultricies.
Pellentesque a sapien lectus.
Sed massa nulla, tempus eget dapibus non, dictum vel orci.
Typora’s editing mode doesn’t show the breaks but does show them in source-viewing mode. Obsidian’s behavior is to render the line breaks during editing. Ideally, Obsidian would render a paragraph regularly when viewing and then switch into a line-by-line display when the cursor is inside the paragraph. It already does this with images and code. Given Obsidian’s rapid pace of development, I imagine that these wrinkles will be sorted out sooner than later.
The king is dead, long live the king #
I’m grateful to Typora for being free for years during beta but the launch was too little too late. Here are my key takeaways from the story of Typora for product development:
- Don’t give something away that you intend to charge for later. From a psychological perspective, Typora was a free tool. Crossing over to the category of paid tools is a big jump. Obsidian gets around this by charging for services rather than tools.
- Make it possible to create plugins. Plugin developers give you labor for free and even show you areas that your product could use further development. Typora went years without even rudimentary BibTeX support while Obsidian got it soon after they opened up their plugin API.
- Being in beta should mean something. It’s fine to be in a perpetual beta from a semantic versioning standpoint, especially for something like a consumer-facing app that is at the top of the dependency chain. However, from a marketing standpoint, saying that your software is in beta implies that your code has more bugs than would be expected from a stable release. If your code is already stable and in wide use, it’s not meaningfully in beta anymore. Don’t sell yourself short.
I hope Obsidian continues to grow long into the future. Forever is a long time though. I’m fine with that since the underlying data structure (markdown files in directories) is future-proof. There are a host of other knowledge management tools that are more than happy to ingest Markdown files in case Obsidian ever becomes abandoned or broken. As Obsidian did to Typora, so too can another tool do to Obsidian. That’s the beauty of an open data format.
So long Typora, and thanks for all the fish.
Thanks to Uri Neri (@urineri2) for feedback on the initial draft of this post.