Calendars and contacts GUIs for Linux

June 25, 2015 — February 12, 2025

computers are awful
computers are awful together
diy
faster pussycat
office
POSIX
standards
UI
Figure 1

Various Linux GUIs for managing calendars and contacts that I have tried. Closely related to the problem of email clients. Why clients? Why not just use Google main? I want data sovereignty; I don’t want my stuff in the cloud, or failing that, not only in the cloud.

Experience suggests shows most Linux users wanting data sovereignty are happy with terminal-mode text-based clients, but I prefer images and fonts, and think a GUI is a good idea.

1 Vivaldi

New entrant, baked into the Vivaldi browser: Vivaldi Calendar - Manage private and shared calendars.

2 Thunderbird

The poor-cousin-to-Firefox Thunderbird supports several optional CardDAV/CalDAV plugins and recently a native option. The plugins have inconsistent UX but are functional, and the native support isn’t much smoother.

Three years later, they even added a feature: Plan Less, Do More: Introducing Appointment By Thunderbird. So, the project velocity is not zero.

2.1 Native

Thunderbird 91 released on 2021-08-11, supports CardDAV and expanded CalDAV natively for integrated contacts and calendars. Trying it out on iCloud, I got the calendar working after a struggle via the tedious manual method since server URL autodiscovery did not work. But CardDAV did 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.

2.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).

2.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 Thunderbird, which is to say, adequate but not delightful, much like Cardbook.

2.4 SOGo

Thunderbird also gets CardDAV support via a plugin, SOGo Connector, which comes bundled with the calendar extension Lightning.

Confusingly, there’s 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).

With 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’m going for a run to restart my brain. Is it this confusing in the hope that I’ll accidentally install some packaged spyware?

It’s not obvious how to configure this hairball of technology and enterprise buzzwords. AFAICT one either needs to

  1. give the CalDAV URL … access to all your contacts(?) to the SOGo web service, is that right? Seems insane. Or,
  2. install a local copy of the SOGo backend which is heavy and onerous.

Nah, I’ll set this one aside.

3 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 settings; however, it would like you to go into the GNOME “online accounts” settings, which don’t 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 doesn’t support photos and breaks when you use them. See the following bug reports: #100, #101. Those have been untouched since 2018; no one cares enough about this problem to fix it. This feature doesn’t have much effort invested in it.

4 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 many details have been palmed off to evolution-data-server which does all the work.

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. Unless there’s a textual config file somewhere.

Can you foreseen the evil twist? Evolution is installed per default as a flatpak which means it is somewhat sandboxed, so 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 makes me suspect no one is actually using it, and the developers are all on Google Mail in the browser.

5 Syncevolution

Syncevolution is a contact-syncing app which supports various CardDAV implementations with some restrictions.

6 Mulberry

Mulberry is a defunct open-source client for caldav, carddav, and mail.