What is org-mode?
Org-mode is a project management solution, but it’s a little different that all that I’ve tried. It’s plain text, and requires no database. It doesn’t have to sit on a server, or even require anything installed if you really don’t want to install it. At a low level, “org-mode” is two things:
The syntax
Org-mode’s syntax is super simple, but super powerful. A basic org-mode file might look like this:
* TODO Do a thing
Some notes, that are insightful.
That’s really simple, and should be easy enough to understand even without a primer on the syntax:
- You have one thing to do: a thing
- There are some notes under that
That by itself isn’t that revolutionary, and not all that useful if you want to manage a larger project. That’s where the second “org-mode” comes in:
The software
As with ledger, org-mode is cool, but not that powerful until you use it with the software. This time, however, instead of a simple binary you install, org-mode is a part of an entire suit of emacs tools. This might make it sound super overwhelming, and may be off-putting. I would argue that the stack you can install makes it well worth the effort:
- org-edna This handles task dependencies. So you can have tasks that depend on each other in any way you desire ((non-)heirarchical, lineear, children-parent relationships, etc). This alone makes org-mode power powerful than anything I’ve ever used before.
- org-id Very simply, it sets a UUID for task automatically, so you don’t have to set one. Super useful alongside org-edna for your more complicated task relationships.
- org-roam Note taking, and mind-mapping. If you’ve ever found youself writing documentation inside your code, and don’t want to overload your documents with entire treatises that may or may not go off-topic, org-roam is for you. It, alone, has a massive following, and is incredibly powerful.
This is all well and good, but how does it compare to other project management tools?
Comparisons
Taskwarrior
My previous favourite, and my golden boy for almost a year, before finding org-mode. My main gripe with every project management tool is always that they require me to format my projects to suit their thought software. Taskwarrior’s blocking-tasks allowed me to define those relationships however I liked, allowing me the freedom to define my proejcts as I saw fit, instead of how taskwarrior saw fit. org-mode+org-edna does the same thing, plus it’s plain text.
Asana
I didn’t like Asana, but I used it a lot for work, so I’ll cover it here: again, my main gripe was I couldn’t manage projects the way I thought about them.
trello
Trello’s methodology is certainly useful, but again, I didn’t get to do things to way I wanted. Noticing a theme here yet?
gitlab
Gitlab’s project management toolchain is powerful, and is better than org-mode in many ways for software development. If you want to manage a non-software project, though, it starts to fall flat, and feels cumbersome to use.
If you’re still here, I’ll assume you’re either sold, or still interested. So, I’ll move onto some of the advantages org-mode has that I either never see, or don’t see often enough.
Advantages
It’s plain text
This one should be obvious, and I even mentioned it earlier, but I’ll reiterate: having a plain text tool is useful for a few reasons:
- You can read it anywhere, no need for anything installed.
- You can edit it anywhere, with any text editor.
- It can be synced anywhere, easily.
Some tools do allow plain text project management, but their capabilities pale in comparison to org-mode+it’s software. All this without having to host a server, or install a database, or pay for anything! On top of that, if you sync with gitlab you can read your org-mode (and org-roam) files right in the gitlab client! I think you should be able to do the same on github as well.
It’s community
org-mode (the syntax) is open for anyone to check out, and it’s software is all open-source as well. This isn’t the best part, though. The best part is the passionate community that’s constanly building new tools and capabilities that you can add on to org-mode. org-roam, and org-edna are just two, but I’m sure you can find dozens more with some googling if you like.
Disadvantages
Nothing is perfect, and org-mode is no different:
It’s not plug-and-play
Setting up org-mode isn’t necessarily difficult, but it’s no cake walk either. It’ll take time, but I think it’s well worth the effort.
No automated backups
This one isn’t such a huge deal, but tools like asana, trello, and notion sort of have it, so I felt it should be included. Syncing with git gives you this functionality, but that’s for another day.
Nothing fancy going on
If you’re the type of person that needs to see some fancy graphics, then I’m afraid you’d out of luck. emacs itself, though, is highly configurable, and can be made quite beautiful.