Calendars and contacts GUIs for Linux
June 25, 2015 — September 5, 2024
1 Evolution
I’m not a massive fan of the GNOME mail client Evolution because it leaks memory and uses astonishing amounts of CPU to sync the contacts. You can hear my CPU fan across the room and watch the battery meter drop every hour when sync kicks in.
The Evolution data server has an inscrutable demarcation of responsibilities between itself and the GNOME desktop. Evolution seems to support generic caldav/carddav servers if you go in through Evolution’s own settings; however, it would like you to go into the GNOME “online accounts” settings, which do not seem to support that. They lean heavily on brand-name services (M$, Google, Nextcloud). However, caldav/carddav, including iCloud, will percolate its way into the system if you set it up via Evolution..
So that’s annoying but good enough, right? Wrong! This system does not support photos and breaks when you use them. See the following bug reports: #100, #101. Those have been untouched since the 2018 version came out; no one cares enough about this problem to fix it. This is clearly not a feature that has much effort invested in it.
2 GNOME Contacts
A GNOME desktop contact management Contacts seems well-integrated. Its documentation is meagre, presumably because it is supposed to be intuitively friendly, but it is not friendly to me. Maybe I offended it? Or perhaps the authors imagine I already know that many details have been palmed off to evolution-data-server which does all the work. Which I now do, after much googling. Also, non-obviously, I need to fire up a different app, Evolution, to even configure this app — there is no actual way to enter carddav/caldav servers in GNOME contacts directly. That I know of, I mean. Maybe I can edit some textual config file somewhere.
Have you foreseen the evil twist? That’s right, Evolution is installed per default as a flatpak which means it is somewhat sandboxed, which means such a cross-app config no longer works.
So I needed to uninstall Evolution and re-install it as a traditional deb to get this working. This kind of nonsense leaves me pretty sure that no one is actually using this configuration.
3 Thunderbird
The poor-cousin-to-Firefox Thunderbird supports several optional CardDAV/CalDAV plugins and, recently, a native option. The plugins are fractious and inconsistent in their UX but functional and for that matter the native support is not really much smoother.
Also, three years later, they even added a feature: Plan Less, Do More: Introducing Appointment By Thunderbird. So the project velocity is not zero.
3.1 Native
Thunderbird 91 released 2021-08-11, supports CardDAV and expanded CalDAV natively for integrated contacts and calendars. Or at least, so they claim. This might be less awful than the clunky plugin experience of the below options. Trying it out on iCloud, I got the calendar working after a struggle via the tedious manual method (server URL autodiscovery did not work) but CardDAV does not work at all, giving a login failure even though I generated a nice fresh app password for it. I gave up and tried the next option.
3.2 CardBook
Cardbook is an address book CardDAV sync client enabling contact syncing. Unlike Thunderbird’s built-in CardDAV support, it supports iCloud. You can run it in parallel with Thunderbird’s native contacts and it seems to work OK. It has a couple of unpleasant cosmetic features (icon scaling is funky).
3.3 TBSync
TBSync is a recent light and modular CalDAV/CardDAV option for Thunderbird. I think it uses a Thunderbird calendar extension called Lightning for calendars. This seems to be a simple option for getting contact and calendar syncing, and the user experience is as good as it can be in the frame of Thunderbird, which is to say, adequate but not delightful, much like Cardbook.
3.4 SOGo
Thunderbird also gets CardDAV support, I think, via a plugin, SOGo Connector, which comes bundled with the calendar extension Lightning? Confusingly there is also Sogo integrator
, which targets their groupware server specifically:
First of all, the SOGo Connector extension transforms Thunderbird into a full DAV client for groupware servers such as SOGo, eGroupware or Citadel. It does this by adding support for remote DAV address books and by adding features to be used along with the Lightning calendar extension. …
On the other hand, the SOGo Integrator extension transforms Thunderbird into a pure “heavy” client for SOGo. Whereas the SOGo Connector is meant for portability (horizontal integration), the SOGo Integrator makes use of the features and layout only available from SOGo (vertical integration).
For some versions Lightning is integrated into integrator and sometimes connector is connected to connector but in other versions they are not integrated. Understanding what is going on is so tedious that I am going to go for a run to restart my brain. Is it this confusing in the hope that I will accidentally install some packaged spyware or something?
It is of course not immediately obvious how to configure this hairball of technology and enterprise buzzwords. AFAICT one either needs to
- give the CalDAV URL … access to all your contacts(?) to the SOGo web service, is that right? seems insane. Or,
- install a local copy of the SOGo backend which is heavy and onerous.
Nah, I will set this one aside.
4 Syncevolution
Syncevolution is a contact-syncing app which supports various CardDAV implementations with some restrictions.
5 Mulberry
Mulberry is a defunct open source client for caldav and carddav and mail.