I do most of my work, reading and communications from within Emacs. I also use Org mode as a daily driver for everything from project management to time tracking, sending quotes, creating and presenting slides and much more. For my personal project management, I use the system "Getting things done". For GTD to work properly, it's prudent to have an inbox with you at all times. That's feasible even with pen and pen and paper. In a perfect world, it would be best to carry the complete GTD system including reference material, as well. Luckily, we do live in the best of worlds. With the advent of smartphones, there's no end to the capacity of what kinds of digital stuff we can carry around.
For about 5 years, I used the proprietary tools Things for GTD and Evernote for reference material. Life was good. Until it wasn't. With different upgrades of macOS or the tools that I've bought, the integration points faltered. Links between the apps stopped working, creating new links took half a minute, data got lost or had to be re-entered. I also had to re-buy the software multiple times, because the new version wasn't just an upgrade, but a completely new app whilst the old one stopped working.
I'm not ranting about having to pay for software. In fact, I'm very happy to pay for it. Writing software is also what I do for a living. However, software should empower certain freedoms. For example, I didn't have the freedom to study how these apps worked and to fix what was broken. I didn't have the freedom to keep running an old version when I liked that one better than the new one. These issues are intrinsic to how macOS and iOS native apps function. There's little one can do about it.
For these and other reasons, I'm using Debian full time since about 4 years, again. That's what I was happily using before my macOS stint and it still makes me happy.
Emacs and Org mode have superseded Things and Evernote for me. It's not only free software (see the GNU definition for what that entails), it enables my most critical information to be more easily managed in text files using version control. That means, I'll always have an easy upgrade path. Or I can just keep using the software I'm now using forever.
On to the topic ad hand. Emacs is great, but it's desktop software. What are the options to edit Org Mode files whilst on the go on an iPhone? For the past year, I've been a partially happy user of Beorg. It's a native iOS app. When it was new, I couldn't use it, because after parsing and writing my 10k LOC of Org Mode files, they were completely messed up. I did donate a couple times to the project, though, because I liked the idea of having such an app on my phone. And happily enough, the author kept working on it (which is uncertain for closed source apps) and it got to the point where I could use it. Using it still entails certain problems. For example, Beorg indents certain Org features differently within the Org file which constantly results in a bigger than needed diff. There's other things that I could mention, but I do not want to rant about the work of another developer who I'm very grateful to.
However, Beorg is closed source. Even though it uses Org as a back-end (and therefore at least the generated data can always be used in a different manner1), it still shares some of the traits of Things. I cannot fix what is broken for me, I have to pay for upgrades, I cannot improve the software for my own workflows and I always have the uncertainty that it will stop working when the author discontinues to compile it for upcoming versions of iOS.
Now, on to the conclusion. I regularly looked for alternatives and recently I found one: org-web. org-web is a FOSS application bringing Org mode to the web. I liked the application from the get go, however it also had some issues preventing me from using it right away. For example, similarly to Beorg, it changed the indentation of my Org files. Just opening and saving them created a diff of close to a 1000 lines2. However, org-web is nothing like Beorg, because it is FOSS. Instead of having to keep my head down, I did create a couple of Issues and Pull Requests in the last couple of days. The PRs address some fixes, but also include a completely new feature.
- Fix existing tests
- Document deployment options
- Fix "Parser breaks indentation of existing files"
- Planning items are formatted the same as in Emacs
- Properties are formatted the same as in Emacs
- Tags are formatted the same as in Emacs
- When the org-web tab becomes visible, pull the latest version of the org file
My experience is that the codebase is very clean. It is easy to write tests and generally speaking it's not hard to introduce changes to the application! It's also very easy to dogfood new contributions. To test mine, I wrote automated tests (TDD style), tested manually in the Desktop browser in the Dev environment, and have also deployed a new instance of org-web with which I'm happily managing my ~10k LOC org files on my phone and on different desktop computers.
Personally, I'm looking forward to onboarding my fiancee to org-web in order to deprecate her usage of Things and Evernote(;
Big thank you to @DanielDe for creating org-web and making it accessible to us! (^_^)/
If you liked this article, you are welcome to check out my Emacs configuration which is documented in a literate programming style or watch my talk "Playing Emacs like an instrument" which is a small, albeit 2h long, teaser of what Emacs can do.
Lastly, some impressions of org-web in action:
My main GTD file, completely folded
Drilling down into one sub header
Example of a daily agenda
It was not broken, at all. In fact, org-web is quality software. Just the indentation was different than the default in Emacs.↩
Historical anecdote: The first time I wanted to use the data I manually entered into Things differently, I wrote an exporter for it, because it didn't have one. That was 10y ago. It's not a big help today, because they not only changed the data structure, but the back-end. Accessible data structures are important, too!↩