Update 3.0: Was lange währt, wird endlich gut

"Noch mehr Funktionen. Noch viel besser als davor und vielleicht auch ein bisschen sicherer" - Update einer App

So oder so ähnlich lesen sich viele Updatebeschreibungen von Apps. Was sich dann wirklich verändert hat, stellt man erst fest, wenn man die App zum ersten Mal nach dem Update öffnet. Im Idealfall ist die App wirklich ein wenig besser geworden. Im schlimmsten Fall hat sich die Oberfläche fundamental verändert und man findet sich nicht mehr zurecht. Wo davor das Suchfeld war, prangert jetzt ein großer KI-Button. Für alles gibt es Ausnahmen, aber grundsätzlich werden Apps immer komplizierter, wenn mehr Funktionen hinzukommen.

Dass das nicht immer von Vorteil ist, habe ich bereits bei meiner anderen Software TSV.coach gelernt. Vor einem Jahr habe ich „Aufgaben“ hinzugefügt. Die Idee war naheliegend. Wo Trainer und Verantwortliche Events erstellen, sollten doch auch schnell und einfach Aufgaben erstellt und verwaltet werden können. Die Auswertung nach dem einen Jahr hat jedoch gezeigt, dass bis auf wenige Ausnahmen das Feature nicht verwendet wurde. Statt noch mehr Zeit in diese Funktion zu investieren, habe ich mich darauf fokussiert, die anderen Grundfunktionen zu verbessern, Bugs zu beheben und den Kern des TSV-Coachs nicht mehr zu verändern.


Zwar ist das letzte Update von Huddle (2.4.1) erst 3 Monate her, jedoch haben sich auf der To-do-Liste eine Menge an Problemen und Aufgaben gesammelt, die behoben werden müssen. Gleichzeitig war diese Version extrem stabil und hatte alle Funktionen, die ich selbst in dieser Art App haben wollte. Es hätte also ausgereicht, die App mit kleineren Anpassungen in diesem Zustand zu halten. Trotzdem habe ich mich aus den folgenden Gründen dazu entschieden, Version 3.0.0 zu entwickeln und zu veröffentlichen.

Die Verschlüsselung

Huddle verwendet Ende-zu-Ende-Verschlüsselung. Das bedeutet, dass alle Texte, Bilder und Videos lokal auf dem Gerät verschlüsselt werden, bevor sie auf dem Server gespeichert werden. Nur der jeweilige Nutzer bzw. der Huddle und dessen Mitglieder haben den Schlüssel und können die Informationen lesen.

Bis einschließlich Version 2.4.1 wurde beim Erstellen eines Huddles auch der Schlüssel per Hand erstellt, mit dem die Informationen verschlüsselt werden sollen. Dies ist eine valide und einfache Form der Schlüsselerzeugung, hat jedoch die folgenden Nachteile:

  • Zusätzlicher Schritt beim Erstellen von einem Huddle
  • Nutzer müssen sich den Schlüssel merken und mit anderen Mitgliedern austauschen
  • Der Nutzer setzt seinen Schlüssel selbst und verwendet ggf. eine unsichere Länge oder Zeichenabfolge
  • Der Schlüssel kann nicht geändert werden

Die zwei Hauptprobleme waren demnach, dass für den Nutzer ein Mehraufwand entstanden ist mit der eigenständigen Erstellung eines Schlüssels und sollte der Schlüssel erraten werden oder verloren gehen, ist die Sicherheit eines Huddles in Bezug auf die Ende-zu-Ende-Verschlüsselung nicht länger garantiert.

Mit Version 3.0.0 wurde dieses System grundlegend überarbeitet:

  • Schlüssel werden automatisch erzeugt und sicher lokal gespeichert
  • Schlüssel werden automatisch über öffentliche-private-Zertifikate zwischen Mitgliedern von Huddles ausgetauscht
  • Schlüssel werden rotiert, z. B. wenn ein Mitglied den Huddle verlässt

Das System von Schlüsseln erstellen, speichern und synchronisieren ist zwar komplex, jedoch bekommt der Nutzer im Idealfall davon nichts mit und damit müssen Keys nicht länger selbstständig erstellt oder verwaltet werden. Dieses System ist unter anderem von Threema und WhatsApp bekannt.

"Mobile First"

Die allererste Version von Huddle ist nur für Web erschienen. Eine eigene Android und iOS-App war damals noch nicht geplant. Spätestens mit den Benachrichtigungen oder dem lokalen Caching wurden die Apps funktionaler und wichtiger und haben die Web-Version schlussendlich abgelöst. Für Version 3.0.0 gab es dann keine nennenswerten Gründe mehr, die Web-Version weiterzuentwickeln, und mit dem Ende für Version 2.4.1 am 30. April wird auch die Web-Version offline genommen. Für die Apps hatte das gleich mehrere positive Konsequenzen:

  • Alle Dialoge oder Fenster wurden umgewandelt, damit sie mit einer Hand bedienbar sind
  • Die Komprimierung von Bildern kann nativ über Android oder iOS abgewickelt werden
  • Die Erstellung von Schlüsseln und deren Austausch kann deutlich schneller nativ errechnet werden

Durch das Weglassen einer ganzen Plattform steigt die Entwicklungsgeschwindigkeit massiv und die Qualität der Apps erhöht sich, da Funktionen exakt auf die Einhandbedienung angepasst werden können.

Weniger Funktionen; dafür besser durchdacht

Wer schon einmal in den vergangenen Versionen gescrollt hat, der wird feststellen, dass Version 3.0.0 in puncto Funktionsumfang erst einmal ein Rückschritt ist. Das zeigt auch die Auswertung von GitHub. Ungefähr 33.000 Zeilen Code wurden für das neue Update hinzugefügt. Gleichzeitig wurden jedoch auch 41.000 entfernt. Das liegt zum einen daran, dass viele Funktionen, die explizit für die Web-Version benötigt wurden, entfernt wurden. Gleichzeitig sind aber auch Funktionen gelöscht worden, die schon in der App waren: Listen und Notizen.

Übersicht der hinzugefügten/gelöschten Zeilencode und der veränderten Dateien

Huddle ist sehr dynamisch gewachsen. Im Laufe der Zeit sind viele neue Funktionen zu Huddle dazugekommen, die immer auf dem Kern der App basierten, der sich selbst kaum verändert hat. Das hat sich mit Version 3.0.0 und dem Anpassen der Verschlüsselung geändert. Statt alle Funktionen direkt zu portieren und umzuschreiben, wurden einige von ihnen bewusst entfernt, um die App auf ihre absoluten Grundfunktionen zu fokussieren und sicherzustellen, dass sie reibungslos funktioniert.

Die Grundfunktionen wurden dabei optimiert und angepasst, ohne ihre eigentliche Funktionsweise zu verändern. Das ist in der Softwareentwicklung eine schmale Gratwanderung. Wie verbessert man eine Funktion, die die Nutzer kennen und lieben gelernt haben?

  • Themen und Designs werden jetzt mit dem Server synchronisiert, damit Nutzer die Dateien nicht mehr selbst herunterladen müssen
  • Huddles können in 2, statt 3 Schritten gewechselt werden
  • Die eigene Einladung-ID kann direkt im Profil abgefragt werden

Diese Änderungen mögen auf den ersten Blick erst einmal klein und unscheinbar wirken, haben jedoch in der Praxis einen enormen Einfluss. Wenn ein Huddle täglich 20-mal gewechselt wird, dann ist ein zusätzlicher Klick eine Menge. Wenn Nutzer nicht wissen, wie sie eingeladen werden können, dann lassen sie es im schlimmsten Fall ganz sein. Zu diesen Anpassungen an der Funktionsweise gehören auch Anpassungen an der UI, die am Anfang der Seite in der Galerie dargestellt sind.

Fazit

Das Update von Huddle wurde mehrfach verschoben. Gleichzeitig wurde es bewusst als Beta veröffentlicht, da bereits vorhandene Funktionen wieder entfernt wurden, die noch einmal neu überarbeitet werden müssen. Im Inneren der App hat sich mit den Anpassungen an die Verschlüsselung und die Übersetzungen eine Menge getan, wovon die Nutzer erst einmal nichts mitbekommen. Weiterhin ist es enorm wichtig, das neue Update auch mit Anpassungen an die UI und kleinen Änderungen an der Bedienbarkeit zu untermauern, ohne den Kern von Huddle zu verändern. Das ist und bleibt das große Ziel: Den Nutzer wieder in den Mittelpunkt zu stellen. Ohne Werbung, Tracker und Empfehlungsalgorithmen.