The problem with purism
At heart, I’m a Linux guy. For many tasks, I use Emacs (a popular editor among some developers due to its extensibility), with Orgmode as my primary means of managing tasks, recording time, jotting down notes and, at times, trying to manage my calendar.
But there were several problems with this. Firstly, the only mobile client to sync Orgmode files with reasonable reliability, was MobileOrg. Sadly, this project has been discontinued for a while, and to my knowledge it hasn’t yet seen a superior successor. In addition, Orgmode is a great calendar within Emacs, but it’s not so strong outside. And while MobileOrg was “ok”, it didn’t present information in a convenient, easily-interpreted way.
In short, having a text-only, Linux/Android-only solution, was awkward.
The compromising advantage
Part of the appeal of Orgmode and MobileOrg was being able to keep all data within one’s own infrastructure. As one of MobileOrg’s features is to “sync files from an SSH server”, and Emacs has TRAMP for accessing network locations, this made it possible to get each end talking with the other, and the synchronisation was generally reliable.
But in some ways, using Emacs, Orgmode and MobileOrg – to achieve data security and ultimate privacy – is arguably a case of the tail wagging the dog. Was this the only private-data solution? Probably not. Was it the most convenient? Was Orgmode the right tool for many of life’s repeatable, short-lived events? Definitely not.
Despite trying to use only free, libre & open source software to address this requirement, around 2016 it started becoming clear that simpler solutions existed – albeit involving proprietary software of some kind. Certain diehards might scoff that, if some software only exists in proprietary form, it’s inherently evil and you must build a free/libre version. But such ideals are rarely achievable when your needs as a new parent and business owner outweigh most others.
As I pondered my motives, it became clear to me that controlling my data was more important to me than controlling the tools.
The next move
For years on Android, I used CalDav and CardDav syncing tools, which were proprietary plugins that presented calendar and contact “providers” to the OS. These worked great, but finding equivalent staples on Linux was somewhat harder. The time had arrived when I needed desktop access to calendar, task and contact management, that wasn’t based in an Office365 tenancy.
The right move here was to set up Nextcloud. On my small personal hosting box at DigitalOcean [discount referral link], I set up a virtual server to run Nextcloud. Nextcloud provides calendar, tasks and contact databases that are conveniently accessible through CardDav & CalDav.
As I had to work on a Mac in order to test websites in Safari (which accounted for at least 9% of traffic, and often more), it was useful to have syncing of this data there too. And this, unlike some of my earlier grumpiness with all things Mac, was actually a pleasant surprise: macOS actually had great support for CalDav and CardDav.
Do I get the solution I need? Yes. Does it sync well? Yes. Am I happier? Yes.
Not only that, but the downside of Orgmode syncing was that it worked best if restricted to two-way communications. If you added a third or fourth client and tried syncing between all of them, it would quickly become a clusterfunk.
Is Apple the enemy? Well, probably. But better the devil you know, sometimes. Due to the ease of synchronisation with tasks, contacts and calendar in macOS, I slowly warmed up to the idea of replacing my ageing Samsung Galaxy Note 4 with an iPhone. So I did. And arguably, for this requirement, it was a good choice.
Does this mean I’m no longer a Linux guy? Oh no, not at all. I still have my ThinkPad T420S, which was a side-grade replacement for my chunky T420. I use it every day in my work as a Senior Systems Administrator, for one of the UK’s top universities. I still use Emacs and Orgmode as a daily driver for tasks and coding.
But at home, my wife and I share a calendar and contact list across Android and iOS, thanks to the support of industry standard protocols.
Controlling where the data is has served us pretty well.