I’m giving up on Emacs, Org-Roam, Org-Ref, and ORB and since I’ve spent a lot of time in the community during my 6-week experiment I wanted to leave you with my thoughts in case they are useful to anyone. None of the following is intended as a criticism.
Who should try org-roam?
TLDR; only people who are already comfortable with emacs or want to learn lisp programming (and maaabye others but only if they are not tied to Windows OS).
So you have some context: I am a Windows user, tied to that ecosystem, and I’m probably in the top 1% of technical ability for people who are not engineers, computer scientists, mathematicians, or in related fields. I build my own PCs from parts, I can do very basic scripting in AutoHotKey, and I live and die by keyboard shortcuts. But I generally use MS Office and have never previously used emacs or vim or Linux.
In the org-roam community and the emacs community in general, I am probably in the bottom 1% of technical ability. And it seems that only about 10% of the users in this community are on Windows. Many times someone trying to help me troubleshoot gave up when learning that their non-Windows solution didn’t fix my Windows install.
Routes For Emacs Newbies
People who have not used Emacs before and want to try it for org-roam have two obvious routes: vanilla Emacs and Doom Emacs. Getting vanilla Emacs set up and workable with these packages is not feasible for someone who does not want to really learn programming as an end in itself. As helpful as people are in various channels, no one is willing to spend the absurd amount of time needed to troubleshoot someone else’s Emacs setup and get it working (or at least, not in my case when using Windows).
Doom Emacs is not the Answer
As others have mentioned elsewhere, Doom Emacs cannot be used without lots of configuration requiring specific knowledge, even when the org + roam
flag and biblio
module are used (at least currently, maybe this will change). Many people have tried to help me get a very basic working set-up–nothing fancy, just getting the basic insert link etc. commands working. And they failed. Recently, I went looking for a set of Doom config files that would work on my machine. No luck. Everyone has modified their specific config in ways that prevent simply copying those files into my setup; syncing, updating, launching Doom Emacs; and ending up with the basic functionality working.
I recently tried to use @nobiot`s config files since he is on Win 10. They didn’t work because he uses custom modules. He suggested that I try his guide to get org-roam working on vanilla emacs (because Doom emacs hides many things that might cause problems) and discouraged me from using anyone else’s config straight because individual configs are complicated and hard to troubleshoot and because making my own config is considered a central part of learning Emacs. Nobiot has been the singular most helpful person so far in getting me going, but his point shows that Emacs isn’t good for someone that just wants a notetaking solution. I’m not interested in learning Emacs for its own sake. I have no use for learning Lisp outside of org-roam. I just want a notetaking and writing setup. I’m willing to spend a lot of time learning how to customize things to my liking, and I’ll learn scripting or lisp as needed to make that happen later, but the point is that I cannot get even a basic functional setup right now without learning Emacs programming.
As a side note, as great as Doom is, its dev Henrik has been gone from the Doom Discord server for a week (on vacation, I think) and it has really highlighted how central he is to the enterprise. When he is there I can be confident that I will at least get some direction on system-breaking problems within a day or two. Now, it’s nearly impossible.
Suggestions for the Org-Roam community
There was recently a hubbub on the Slack channel from someone’s rant about how hard it is to get org-roam installed. He suggested that the org-roam community “can’t be happy” that their solution isn’t accessible to the masses. What’s become clear to me is that the org-roam community (and I think the Emacs community in general) does not care that much about whether their tools gain mass acceptance (which is fine) From my perspective, what they/you want is to have tools that work for you in the way you want, and you like solving problems and sometimes working together on them, and that many of you like helping others in general, and would be perfectly happy if newbies got into emacs, but these are secondary benefits and not the real goal.
This is clear to me because several people have offered to write “org-roam for beginners”, including me, and the offers were generally met with collective silence. People say “Great!” but generally the people who want to write for beginners don’t have the knowledge to create the necessary manuals, and the people with the knowledge don’t want to write for beginners or spend the time working with those who do. Nobiot’s “Zero to Emacs to Org-Roam” is an exception, but it’s for vanilla Emacs, and thus only appropriate for beginners who want to learn vanilla Emacs - i.e. people who want to (essentially) learn to program first and note-take and write second. I’d write up (actually have been writing up) Doom emacs and org-roam and org-ref for beginners, but I don’t know enough to get it working, and no one with the knowledge has been available enough to move me forward in gaining that knowledge.
I’ve had maybe a dozen people offer to contribute to the Doom/org-roam/org-ref documentation that I have already spent at least 15 hours writing, and every one of them bailed. That’s fine, it’s their free time. But people are often more interested in sharing their solutions with others rather than they are in getting other people to a point where they have working setups. I’ve seen many people post configs and others write “great write-up! I learned a lot.” But when I try to duplicate the config, although many of these config posters will answer some specific questions, they lose interest after posting, because they have solved their problem and shared their solution that’s what they are primarily interested in doing (again, not a criticism). No one I have met so far in the community with the technical ability to get these packages working is actually interested in spending the time writing up truly basic, general documentation that covers many use-cases because they are more interested in the technical challenges of making the software work for them. And that’s fine, I’m not saying anyone owes anyone anything, but it means that at least at this point of development this community should discourage anyone who doesn’t want to learn programming from using org-roam.
I encourage those writing the Org-Roam manual and doing tutorials to be clear up front about their audience, which (whether they know it or not) is people familiar with Emacs, and they should say that up front. The project maintainers suffer from the ‘curse of knowledge’ - they are so familiar with the material that it is not clear to them that the manual and documentation, as good as it is, is absolutely not organized in anything approaching ideal teaching/learning structure. I assume the authors are students with limited experience (i.e. a few years at most) teaching this type of material, and the organization of the documentation reflects that. This is not a slam, it’s just impression of a user with many years of teaching experience.
Lastly, from my perspective, the single most useful thing that the community could do that would allow people like me to onboard into Emacs and org-roam is to create some Doom config files that were plug-and-play and would just work (on Windows). Forget about individual configuration–that can come later. Just have some bare-bones config files that someone like me can download, run Doom sync, and be ready to actually use emacs to take notes with org-roam, org-ref, and org-roam-bibtex. If this existed, I am sure that I would be enthusiastically staying and learning how to config the system. But I have spent, I don’t know, maybe 30-50 hours trying to get basic Emacs functionality working, and I have failed. Many people have kindly donated 1-4 hours of time to help me, but all of them (very understandably) disappear, and apparently having expert help for that amount of time is not nearly sufficient to set up a working Doom Emacs / org-roam system on Win 10.
My sincere thanks to all that gave me individual help these past weeks!