Balancing effort and return in technology
Addressing the Emacs v Obsidian question
Modern technology is singly geared towards becoming frictionless. Every software update and every hardware reconstruction starts with the same couple of questions: what do (we want) people (to) use, and how can we make it easier for them to continue doing so?
Along with these are some other complex functionality most users take for granted. For example, cross-device sync and cross-platform availability are expected. Even if we do not consider these as such, there is no denying they can be useful when they exist.
I started thinking about all this myself when, for the eighth time in as many months, I was trying to see how Emacs and Obsidian would fit into my workflow. There are different things about each that I enjoy. These, for instance, are some benefits of Emacs:
- The overall feel and snappiness of the app—it feels native on my Macbook, for lack of a better word
- The frictionless access to GPG-encrypted files (I use a couple of them daily, so this point is especially important)
- The ease of org mode and quick capture which helps me overview my day easily and remain on my primary task while occasionally, but without distraction, jumping out to note a to-do or journal entry
Obsidian offers its own advantages. For example—
- Wikilinks are simpler, more automatic and update with changes to file names
- Setting up the ‘vault’ is easier, as is the GUI in general, including mobile-based usage
- While it feels less ‘snappy’ and less stable being an Electron app (not that it is in fact unstable), the app is overall simpler to use and manage
- Handling PDFs and annotations is easier
Between these two apps there are some which one might genuinely consider to be advantages in general, but not so in this specific comparison as both apps offer the same advantage. The best case in point being their reliance on plain text files.
Among the many advantages cited in favour of Emacs, for example, are the use of keystrokes as supposedly being faster than switching over to a mouse from time to time. While this does seem true to anyone who has relied heavily on keyboard shortcuts at all, studies do not seem to support this idea. This appears to be, at best, a perceived advantage.
For someone like me starting anew with Emacs the learning curve is steeper, but the predominant belief—echoed on every forum and community on the web—seems to be that it is all worth it in the end. After months of use I wonder really, is it?
The Emacs way
I was in search for a straightforward text editor for my note-taking needs when I stumbled upon org mode. The natural question is, is it worth spending time and effort to learn? I was not the only one with that question. Consider this recent one (about eight months old) from HN:
As a researcher … I often find myself context-switching between VSCode (with Vim), Microsoft Word / or Markdown. What I like about Word is WYSIWYG and the fact that my figures are not scattered all over the place as files.
Given the learning curve involved with Emacs and then the additional curve of Org Mode, is it worth learning this to replace my current workflow, or do you recommend other toolings?
The answers were not too varied. Indeed most seemed to suggest that learning org mode and twiddling with Emacs were worthwhile. “Big marginal gains for small marginal effort” as one response put it, and another claimed learning Emacs and org mode “was quite literally life-changing and mind-opening”. If you like the ‘paradigm’ of plain text and outline note-taking, as they said, “the benefit is immediate”.
How different is this from Obsidian, though? You can just as quickly open up Obsidian and start a new note. Especially if you have an inbox or dumping folder set-up where all your new notes begin, the process can be stupidly simply. Moreover you get asked if you want to save it, which Emacs does not do. Because Emacs buffers are not associated with files until you do it yourself, you either need to keep Emacs running or be at peace with the possibility that you might quit the app some day and lose your unsaved buffers–which it does not prompt you to save.
Now the standard response to something like this would be that you can in fact make Emacs prompt you. You can make Emacs do anything. With a little bit of lisp, you can ensure Emacs asks you before you quit without saving a buffer to file. And here is the lisp code courtesy of Stack Exchange for accomplishing what is normally expected as a standard feature in any modern computer program:
;; Prompts on non-empty *scratch* buffer.
(defun yet-prompt-on-not-empty-scratch-buffer (question)
"Prompt if *scratch* buffer is not empty.
Appends a confirmation QUESTION to the prompt message.
If *scratch* buffer is empty, returns true without prompting."
(let ((scratch (get-buffer "*scratch*")))
(if (and scratch (> (buffer-size scratch) 0))
(y-or-n-p (format (concat
"Warning: *scratch* buffer is not empty. "
question)))
t)))
;; Call prompting function on Emacs kill.
(defun yet-verify-emtpy-scratch-on-emacs-kill ()
"Require confirmation to kill Emacs if *scratch* buffer is not empty."
(yet-prompt-on-not-empty-scratch-buffer "Really kill Emacs?"))
(add-to-list 'kill-emacs-query-functions
#'yet-verify-emtpy-scratch-on-emacs-kill)
;; Call prompting function on a buffer kill.
(defun yet-verify-emtpy-scratch-on-buffer-kill ()
"Require confirmation to kill *scratch* buffer if it is not empty."
(if (equal "*scratch*" (buffer-name))
(yet-prompt-on-not-empty-scratch-buffer "Really kill *scratch* buffer?")
t))
(add-to-list 'kill-buffer-query-functions
#'yet-verify-emtpy-scratch-on-buffer-kill)
Emacs is a lifestyle choice, as someone once tweeted. In that same post Bozhidar Batsov reminds us helpfully that “none of us were forced to use Emacs. None of us were forced to dedicate years of our lives to building the perfect Emacs configuration.”
That is true. The Emacs community seems to be well aware that setting up Emacs never quite ends. It simply works once you set it up to your liking, and it has been working that way for over four decades now (or exactly four decades if you only count from the days of Richard Stallman’s GNU Emacs).
When does effort outweigh usage?
In the end, Emacs should be useful to me to be a piece of technology I consider using. More specifically, the effort Emacs expects me to put in should not outweigh the returns in provides. I speak of course for my own use case, confining myself to org mode. Perhaps, in all fairness, I should even stop referring to Emacs and clarify that I only ever speak of org mode in this discussion. For now, consider this anomalous usage.
The question that poses the ultimate test is this: can I do everything in obsidian that I can do in Emacs, and keep the process simpler?
Opening, closing, making a new note, switching between notes with a persistent but collapsible file tree (Emacs uses dired or treemacs that comes a bit closer), handling PDFs, cross-platform usage (impossible in Emacs without third-party apps), even GPG handling (albeit only for markdown files) are all possible with Obsidian either out of the box or with community plugins that take two clicks of the mouse to install. Moreover you can do all this with markdown which, while flavourful and newer than org mode, is certainly more widely used today and perhaps more widely used than org mode ever was in its lifetime.
So, besides historic usage or comfort arising from extended habit, for an unbiased user not particularly nostalgic about the past, why bother with Emacs and org mode over Obsidian? To keep things fair I turn once again to the internet where others have also wondered the same thing in the past.
The answers, across a couple of years of these questions being asked, remained remarkably similar. Let us start with this: “Emacs isn’t just an app for note-taking like obsidian is but instead a framework for you to build and customise your own workflow as you want. If you want, Emacs can be an integrated system for your web browser, email, music, notes, window manager, IDE, writing app, or whatever else you want.” I use this as a stand-in for several answers that amount to this in one way or another: Emacs can be more than a text editor.
Now do I want Emacs to do all that? Emacs is not on my phone so any reminder I set up will not show up on my phone. Emacs is not on my phone so calendar events and agenda, as great as they are, will not show up if I want them to while I am on my way to town. Emacs tethers me to the computer as though we were in the ’80s with leather-bound executive diaries, which, depending on how you look at it could be either antithetical to modern personal computing efforts or precisely the panacea our ever-connected, screen-ridden lives need. Right now do I want to set up e-mail on Emacs? Probably not. For one, the process is unbelievably cumbersome, plus the benefits it would once offer, like saving emails to the agenda, can today be accomplished by a suite of apps built into our phones that talk to each other as if they were one, e.g. Mail, Notes, Calendar and Reminders apps on the Apple ecosystem have no problem talking to each other so I can save an e-mail as a reminder or calendar event or note, with a link to that mail and get a chime when I need to on my phone despite having set this up on some other device. Emacs could compete way back, but now the whole process seems less than ideal.
The same user with the response above says something more interesting in conclusion. They confess that Emacs and org mode “is likely [an] overkill if all you want it for is note taking … While they were so nice when they were working, it took work to keep them working.”
I think this is a beautiful description of my own experience with Emacs. Despite all its annoying behaviours (and the ever-so-slightly non-native feel you get when using Obsidian) you can set up Obsidian once and forget it simply because it does some of the things we have come to expect of late from computer programs which Emacs requires you to set up yourself.
Is Obsidian truly format-agnostic?
To play Devil’s advocate, I now pose the question as to whether Obsidian is all it is cracked up to be. If Obsidian disappears tomorrow will all my notes be safely plain text markdown files? There are really two answers to this, depending on how you used Obsidian. The short answer is yes, if all you did was take notes in standard markdown, which is what I do. But if you used a bunch of plugins that introduce their own formats and proprietary markup, you will be left with a messy pile of text files that are readable but not usable without going through the considerable trouble of cleaning it all up.
Obsidian has an org mode plugin which is great, but org mode does not have a markdown plugin. This, to me, is quite telling; and I do not mean to say this speaks in favour of obsidian, rather it prompts you to take a moment to try to understand why Emacs and org mode have never bothered to draw other formats and approaches into their fold. Why, in forty years, has Emacs not changed its ways of doing certain things? Is it complacency, or is it an implicit understanding of how, once you get over the initial friction, the Emacs way can in fact be better, more efficient, even easier to hone into muscle memory?
More simply, I think age is itself a case for Emacs and Obsidian, not unlike its Silicon valley unicorn counterparts, stands on shaky ground. I have a predisposition to trusting software that I know will exist for a long time, e.g. operating system native apps from Apple, or the pinnacle of it all, long-term community-driven apps. When the community gets behind something monitored by a handful of people, and when the developers keep getting recycled, the product in some form will remain.
Helpfully, there is a name for this: the Lindy effect. This observation states that the longer something intangible and ‘non-perishable’ has existed, the longer it is likely to exist. The community of Emacs users seems to echo this feeling. For example—
One thing about Emacs that shouldn’t be overlooked is that it’s future-proof. I will never have to switch to a different tool, a different file format, do a data merge, lose access to a license, be forced into an update I don’t want, or have to pay a cent for any of it. I have confidence that the notes I take and the customisations I create will be available to me for the rest of my lift if that’s what I want.
To add to this, in my usage with Emacs I have an unwritten, unstated sense of comfort and security knowing that I have a hold over all my work. That it works predictably, that it works exactly as I want it to, and that I can call upon 40 years’ worth of experience to figure out how to do something. So far every attempt at trying to get Emacs to do things a certain way has been successful for me, and it has rarely demanded more than a quick search on the internet.
A semblance of a conclusion
I am not particularly fond of articles that take readers on a long journey only to whimper with indecision at the end; so I will try to provide a definitive answer. But to do so without stipulating the conditions under which this answer holds would be irresponsible, so allow me to clarify that first and foremost: this discussion is for use cases like mine where the primary goal of using either program is to maintain academic notes, browse PDFs and make notes, maintain a large set of notes, meeting agenda, daily organisation and lab notes and so on, and for doing so in plain text. This discussion is not for code editing, alert notifications, email and web browsing and the like.
I am writing this essay in markdown. I wrote part of this on Emacs and part of it on Obsidian. I can do this because markdown is a wonderful, simple format and does not need live preview. That means Emacs supports it just fine, with no additional set-up. But I also maintain hundreds of notes in org mode and take daily notes there. I also write my diary in emacs with GPG encryption and it takes little to no effort to unlock. Indeed it takes no effort whatsoever: I can open it and save it and close it like a normal file and Emacs handles the encryption and decryption. I incorrectly typed Emacs as ‘emacs’ throughout this article and did a quick search and replace with regex on Emacs that allowed me to replace instances of ‘emacs’ that were not part of URLs or code blocks.
There is a lot I can do with Emacs, therefore, and I never had to look to Obsidian for this. But what if I want to quickly highlight a PDF and edit it? Or, as I said before, what if I want my agenda to proactively remind me of things even when I do not have my phone with me? I do not want to make the Luddite’s argument that you can make do with just a glance of your agenda a couple of time during the day. But a slight shift in how we view Emacs can actually help make sense of this not as a flaw but as normalcy.
We have been led to think of Emacs as a Swiss army knife of a computer program. And perhaps at one point it was. But what if it is designed to work closely with the operating system? I have ample PDF reading and annotation tools built into my devices that I can simply use along with Emacs. I also do not draw comparisons with Obsidian for proactive reminders because this has never been an advertised feature of that program. But the commonality in PDF handling actually goes further than we expect. Obsidian can preview PDFs (same as Emacs with the ubiquitous PDF-tools) but to actually do any annotation you will still need to have Obsidian open it up in your OS’s preferred PDF viewer. The two programs therefore work the same.
But if Emacs is all that extensible, if you did want to annotate PDFs, could you? Yes, and you can take notes, and underline and strike things out too. And you can pick your highlight colour if you like to code your highlights. It takes two steps: select text, and run the key stroke C-c C-a h
for this:
The point then is not that Obsidian cannot replace Emacs, rather than Obsidian need not. Nothing needs to, in fact. If you do get past the initial effort needed to learn key strokes, not unlike learning a bit of Photoshop when coming from Affinity Designer (i.e. not an upgrade, just a different approach) you will settle into Emacs feeling more comfortable about the Emacs way.
However, I can hardly turn the tables on all the issues I did raise earlier about Emacs, so let us quickly revisit them. The Remember.el package (bundled with Emacs) makes this easy, and installing it is not too different from installing a community plugin on Obsidian except that it Emacs an Emacs way to install packages i.e. M-x package-install RET package-name RET
which is simple enough. We also discussed how, if Emacs and Obsidian are similar, Obsidian would also have to be simpler to have any benefit. But if any part of that simplicity comes with propreitary code, Obsidian is vendor-locked.
My Obsidian wikilinks already do not open in other programs because most only implement local wikilinks, that is linking within the same folder. iA Writer, my other writing app of choice, was recently updated to adhere to the Obsidian way of doing things. It first looks for files within the same folder as the file with the link before proceeding one level up each time it fails to find the file to which we are trying to link. What about Emacs? It has always had linking to files, but the Emacs community developed solutions like org-roam or obsidian.el that quickly caught up to the functionality of internally-linked document collections inspired by systems like zettelkasten. Emacs is therefore old but not outdated, it has been around long but not escaped modernisation; instead Emacs has remained this long precisely because it embraced modernisation and offered solutions to it. The Lindy effect.
Throwing around words like philosophy
In sum, we have two programs, one of which has a steeper learning curve but offers greater stability and long-term promise, while another is easier and more modern but offers little more functionally to set it apart. Hence the titular question: is the effort and return similarly balanced in both options? More importantly, what effort does any tool demand? Is it simply in the specific actions we employ in its use? Or is it also in the shift of mindset it demands?
With Emacs, there is an urgent need to shift one’s mindset as well as learn new ways of working with technology. But what you are left with are lego blocks that leave you with a malleable program that you can tame to your liking for a generation if not longer. Remember that Emacs offerring a lot more means you might, long after you have gotten comfortable with the program, come across something else you would like to do that… voila, Emacs can already do.
This is return that continues long-term and is what makes the effort Emacs originally demands well worth it. The benefits of frictionless Wikilinking on the part of Obsidian can also be deceptive: the point of zettelkasten is to intentionally return to past notes, not link by auto-fill. Doing so can quickly lead to a feeling of accomplishment but with little to justify it.
Now what if your use case differs from mine? I clarified what ‘my’ use case was, and one that is not too different from that of any average new Emacs user; but if you decide to only focus on Wikilinks and publishing to the web directly and need none of the organisational capabilities of Emacs, you could make a compelling case for Obsidian, even more so than for Emacs because you will have nearly no learning curve and can rely on a good format. I do not believe, unlike what Karl Voit says in his otherwise interesting post, that Markdown suffers from a lack of standardisation. Markdown does need some sort of official standardisation but nearly all current flavours agree as to the fundamentals (bold, italic, links, headings etc.) and need only work on some additional features like footnotes that might be nice to have. (Org mode does not support footnotes either.)
The final philosophical shift then is not to think of a tool and what you do with it, but to first think of what you want to do and then see if an existing tool can help you accomplish it. When you start looking at your computer this way, you will quickly find that most things you want to do can be done with Emacs pretty well. And in continuing to do so, costs are sunk but not inefficiently. Obsidian does not entertain this view at all. It is quite prescriptive about how one uses it while Emacs is not. Emacs works well with Finder/whatever file browser is on your operating system, but lets you work how you like. To me that is yet another return that more than makes up for all the mindset shifts Emacs seems to demand.
I will continue to use VS Code to write code; I will continue to do my academic work and take notes and maintain an agenda in Emacs in so far as it consists of all that I need to know for my academic work. Outside it, my operating system has apps that handle things. And in the midst of all this, Obsidian does not offer enough to justify taking up space. The only thing I can do with it that I cannot seem to do with Emacs is sync my Kindle highlights. I suppose I would have to live without it for now. That alone is not worth it for switching my entire workflow to Obsidian.