# Kube (Software)

Kube ist ein Personal Information Manager bzw. E-Mail- und Groupware-Client. Entwickelt wird die umfassend plattformübergreifende Anwendung unter Federführung der Kolab Systems AG im Rahmen des KDE-Projekts; dies sind die gleichen Projektmanager wie beim „Vorgängerprogramm“ Kontact, einem der wichtigsten E-Mail-Clients unter Linux (teilweise bekannter unter der Bezeichnung der E-Mail-Komponente „KMail“).
Die Neuentwicklung „Kube“ soll die Stärken des derzeitigen KDE-Groupware-Clients Kontact ausbauen und Schwächen beheben. Das KDEPIM-Team (PIM steht für Personal Information Manager) ist nun für beide Projekte parallel zuständig.

## Konzept

Das Projekt „Kube“ zur Neuentwicklung eines Groupware-Client innerhalb des KDE-Projekts wird vollständig mit Qt entwickelt, wobei Teile des derzeitigen KDE-Groupware-Clients Kontact verwendet werden. Als Backend (Datenverwaltung und Authentifizierung) wird Sink verwendet, das teils neu entwickelt wurde, teils auf dem derzeitigen KDE-Backend Akonadi aufbaut. Bis 2017 wurde das Backend Sink unter dem Namen „Akonadi Next“ entwickelt.
Hintergrund der Neuentwicklung von Sink (und Kube) sind häufige Beschwerden von Anwendern und Administratoren, dass Akonadi (und Kontact) nicht stabil und fehlerfrei genug funktionierten, insbesondere im professionellen Einsatz. Der Entwickler Christian Mollekopf schrieb im März 2016 beim Projektstart von Kube dazu: “Kube is based on the lessons learned from KDE Kontact and Akonadi, building on the strengths and replacing the weak points.” (, deutsch: „Kube basiert auf den mit Kontact und Akonadi von KDE gemachten Erfahrungen; wir wollen die Stärken dieser Programme nutzen und deren problematische Punkte durch etwas Neues ersetzen.“)
Das Konzept von Kube sieht einen erheblichen Umfang vor: E-Mail-Verarbeitung, Kontakt- und Dateimanagement, Kalenderfunktion und andere Funktionen einer Groupware sind geplant. Das Ziel ist, die Software für den Einsatz in Unternehmen nutzen zu können. Sowohl Endnutzer als auch Projektmanager sind die Zielgruppe; die Basisfunktion ist der E-Mail-Client, der auch im Fokus der Entwicklung steht.
Eine Besonderheit von Kube ist, dass der Groupware-Client von Anfang an vollständig plattformübergreifend entwickelt wird; das Programm funktioniert also mit Windows, Linux, macOS, Android und iOS. Außerdem soll Kube auf mobilen Geräten funktionieren und dort mit den verschiedensten (grafischen) Benutzeroberflächen zusammenarbeiten können („[Kube] should be portable accross a variety of platforms, including mobile, not only due to a portable codebase, but also due to different UI's for the various formfactors“).

### Geplante Unterschiede zu bestehender Software

Die Entwicklung der Vision für die Neuentwicklung wurde zwischen Oktober 2015 und Januar 2016 auf Github veröffentlicht.

#### Unterschied zu Roundcube oder Horde (Webclients)

* Kube soll eine native Anwendung sein, die in das Betriebssystem integriert ist (z. B. hinsichtlich Benachrichtigungen, Integration ins Startmenü).
* Funktioniert auch ohne aktive Internetverbindung.
* Daten können verschlüsselt werden und verschlüsselt versandt werden.
* Mehrere E-Mail-Konten können in einer Benutzeroberfläche verwaltet werden.

#### Unterschied zu Kontact, Evolution oder Thunderbird (Desktopclients)

* Die Benutzerführung soll einfacher sein.
* Die Einrichtung der Konten und die Synchronisation der Konten mit anderen Geräten oder Benutzern soll einfacher sein (weitgehend automatisierte Einrichtung; einfaches Löschen der gesamten Konten-Einrichtung ohne Datenverlust).
* Soll auch auf mobilen Plattformen funktionieren.

#### Unterschied zu bestehenden mobilen Plattformen

* Erweiterter Funktionsumfang (z. B. Kategorisierung, Terminkalender, To-do-Listen, Benachrichtigungen).

## Softwarearchitektur

* Grafische Benutzerschnittstelle: komplett in QtQuick geschrieben und in jeweils komplett eigenständige Komponenten unterteilt. Für die Programmierung der jeweiligen Benutzerschnittstelle wird Kirigami UI verwendet; mit dieser Software kann für jeden Formfaktor (z. B. Tablet, PC, Smartphone) eine jeweils passende und maßgeschneiderte Benutzerschnittstelle geschaffen werden.
* Speicherung: „Symas Lightning Memory-mapped Database“ (Symas LMDB).
* Volltextindizierung: quelloffene Suchmaschinen-Engine „Xapian“.
* Serialisierungsbibliothek: FlatBuffers.

## Entwicklung und Veröffentlichungszyklus

Die erste funktionsfähige veröffentlichte Version 0.10 wurde nach nur rund einjähriger Entwicklungszeit am 3. März 2017 vom KDE-Entwickler Christian Mollekopf veröffentlicht. Zu diesem Zeitpunkt waren vor allem die E-Mail-Funktionen (IMAP) implementiert. Trotz der niedrigen Versionsnummer ließen sich im März 2017 IMAP-Konten einrichten und verwalten, Mails abrufen, verschieben, löschen und schreiben sowie auch verschlüsselte Nachrichten lesen; Gmail-Konten konnten aufgrund deren spezieller IMAP-Implementierung zunächst nur eingeschränkt genutzt werden.
Nach Veröffentlichung der ersten Testversion 0.10 im März 2017 sollte die reguläre Entwicklung dann „Meilenstein pro Meilenstein“ vorangetrieben werden. Zunächst war das Ziel, sämtliche E-Mail-Funktionen vollständig zu implementieren und daraufhin eine Adressbuchfunktion zu programmieren und die Suchfunktion zu verbessern.
Im Mai 2017 wurde die Version (Meilenstein) 0.2 gestrichen, um direkt die Version 0.3 zur Veröffentlichung zu bringen. Die auf 0.1 folgende Version 0.31 erschien dann am 4. Juli 2017. Der Entwickler Christian Mollekopf schrieb in einem Blogeintrag, dass diese Version für die meisten E-Mail-Anforderungen genutzt werden konnte (“I can use it for most of my email needs”). Die Version (Meilenstein) 0.5 erschien am 30. Dezember 2017.
Der Meilenstein 0.6 erschien am 20. März 2018. Bei Version 0.6 wurde eine Volltextsuche (für die E-Mails) auf der Basis der Suchmaschinen-Engine Xapian hinzugefügt. Die Version 0.7 vom 13. Juli 2018 enthielt eine vollständige Verschlüsselungsfunktion (GNU Privacy Guard mit der Möglichkeit, den öffentlichen Schlüssel automatisch anzuhängen) und ein neues, einfaches Adressbuch; die Version 0.7 erschien auch erstmals in einer Version für macOS (neben Linux; eine experimentelle Windows-Version war noch nicht voll funktionsfähig). Seit August 2018 war ein Terminkalender Teil der Entwicklung von Kube; zunächst wurde eine Wochenansicht entwickelt, eine Monatsansicht war geplant.
Am 1. Oktober 2019 erschien die nächste Version 0.8. Danach kam die Entwicklung jedoch zunächst zum Erliegen, bis Version 0.9 am 20. Februar 2021 veröffentlicht wurde.