Eine 1.0 ohne neue Funktionen

29. Mai 2026

Eine 1.0 ohne neue Funktionen

Vor Kurzem habe ich mehrere Tage intensiv an meiner Vertrags-App Verträge gearbeitet. Nach Abschluss der Arbeiten sah die App für jeden Nutzer genauso aus wie vorher. Es gibt keinen neuen Knopf und keine neue Funktion, eigentlich nichts, was man von außen bemerken könnte. Unter der Oberfläche habe ich dafür fast die ganze App einmal in der Hand gehabt. Ich habe den technischen Unterbau ausgetauscht, auf dem sie aufsetzt.

Notwendig war das nicht, zumindest nicht in dem Sinne, dass akut etwas kaputt gewesen wäre. Ich habe es trotzdem gemacht. Während der Arbeit ist mir wieder etwas klargeworden, was ich vorher unterschätzt hatte. Ein Stück Software, das fertig aussieht, läuft deshalb noch lange nicht zuverlässig.

Warum man etwas erneuert, das funktioniert

Jede App steht auf einem technischen Unterbau. Man kann ihn sich wie das Fundament eines Hauses vorstellen, oder wie den Motor unter der Karosserie. Man sieht ihn nicht, aber alles ruht darauf. Bei meiner App heißt dieser Unterbau Vue. Ganz konkret hat die App die ältere Version Vue 2 genutzt.

Das Problem an Vue 2 ist nicht, dass es schlecht funktioniert, sondern dass es am Ende seines Lebens angekommen ist. Seit Ende 2023 wird es nicht mehr weiterentwickelt, und Sicherheitsaktualisierungen gibt es ebenfalls keine mehr. Man kann sich das vorstellen wie ein Automodell, für das keine Ersatzteile mehr produziert werden. Es fährt noch, aber man sollte sich nicht darauf verlassen, dass das ewig so bleibt.

Dringend war der Wechsel trotzdem nicht. Apps auf der alten Version laufen in Nextcloud weiter, und Nextcloud selbst stellt gerade Stück für Stück auf die neue Version um. Der große Schritt ist erst für später geplant. Es gab also keinen Stichtag, der mich gezwungen hätte.

Überzeugt haben mich am Ende zwei Dinge. Je länger ich mit der Umstellung warte, desto einsamer wird die alte Version, und desto mühsamer wird jede künftige Anpassung. Dazu kam ein konkreter Vorteil. Eine andere App von mir, eine kleine Anwendung zum Verwalten meines Weinbestands, hatte ich von Anfang an auf der neuen Version gebaut. Damit hatte ich eine funktionierende Vorlage, an der ich mich entlanghangeln konnte.

Was dabei eigentlich passiert

Der Umbau lief, wie bei mir üblich, mit KI. Ich beschreibe, was ich erreichen will, und gehe es dann in klaren Schritten durch. Die KI macht die eigentliche Umsetzungsarbeit, ich prüfe und entscheide.

Eine wichtige Klarstellung vorweg. Es entstand keine neue App, sondern dieselbe App auf einem neuen Fundament. Das bedeutet konkret hunderte kleiner mechanischer Änderungen, die sich quer durch die Anwendung ziehen. In der neuen Version hatte sich die Art geändert, wie die einzelnen Bausteine der App miteinander reden. Vereinfacht gesagt geht es um Dinge wie die Frage, wie ein Knopf oder ein Eingabefeld dem Rest der App mitteilt, dass etwas passiert ist. Jede dieser Stellen musste einmal angefasst werden.

Als Vorlage diente meine Wein-App. Was dort schon funktionierte, habe ich übernommen, statt es neu zu erfinden. Und an dieser Stelle merke ich wieder, dass ich kein gelernter Entwickler bin. Ich verstehe nicht jede technische Feinheit dieses Umbaus. Aber ich verstehe genug, um zu sagen, was ich will, und um zu beurteilen, ob das Ergebnis stimmt.

Was die automatische Prüfung mir nicht zeigte

Als der Umbau weit genug war, lief der automatische Test durch und meldete mir alles grün, ohne einen einzigen Fehler. Die App ließ sich zusammenbauen, nichts stieß sich. Auf den ersten Blick sah das aus, als wäre die Arbeit gemacht. Wenn man wenig Erfahrung mit Software hat, wirkt so ein grünes Signal sehr beruhigend. Genau hier bin ich in die Falle getappt.

Tatsächlich heißt grün an dieser Stelle nicht viel mehr, als dass sich die App technisch korrekt zusammensetzen lässt. Ob sie nachher auch wirklich das tut, was sie soll, sagt diese Prüfung nicht. Erst als ich die App im Browser geöffnet und ein paar Dinge durchgeklickt habe, sind zwei echte Fehler aufgetaucht. Beide hatte der grüne Test nicht bemerkt.

Beim ersten ging das Löschen eines Vertrags nicht mehr. Klick auf Löschen, nichts passierte. Beim Nachschauen lag es an einer einzigen übersehenen Zeile. Sie arbeitete noch auf die alte Art und lief unter der neuen Version ins Leere. Der zweite Fehler steckte in einem Dialog, in dem man anderen Nutzern Zugriff auf einen Vertrag geben kann. Beim Suchen nach Personen wurde dort niemand mehr angezeigt. Ein Baustein der Oberfläche verhält sich in der neuen Version anders als vorher, und mein älterer Code kam dort nicht mehr an.

Beides waren keine Kleinigkeiten. Beides hätte ich nicht gefunden, wenn ich mich allein auf das grüne Signal verlassen hätte. Etwas Ähnliches habe ich schon einmal erlebt, an einem Wochenende mit sechs Notfall-Versionen einer anderen App. Die Lehre ist für mich beide Male dieselbe. Eine grüne Prüfung ist ein erstes gutes Zeichen, aber kein Beweis. Den Beweis liefert erst der Moment, in dem jemand die Software wirklich benutzt.

Warum daraus die Eins vorne wurde

Als alles lief, stand noch eine letzte kleine Entscheidung an. Welche Versionsnummer bekommt das Ganze? Streng genommen war es ein kleiner Schritt, denn neue Funktionen gab es keine. Es fühlte sich aber größer an, weil die App jetzt auf aktueller Technik stand und sich im echten Einsatz bewährt hatte. Deshalb habe ich sie auf Version 1.0 gesetzt. Nicht, weil sie mehr kann, sondern weil sie auf einem soliden, zeitgemäßen Stand steht.

Damit ist diese Erneuerung zur Vorlage für meine anderen Apps geworden. Meine Zeiterfassung und eine weitere stehen noch auf der alten Version und ziehen jetzt schrittweise nach. Die Wein-App ist ohnehin schon auf dem neuen Stand. Wenn am Ende alle meine Apps auf derselben Grundlage laufen, fällt mir die Weiterentwicklung leichter. Ich arbeite dann auf einer einheitlichen Basis statt auf zwei.

Schön ist diese Art von Arbeit nicht, weil niemand sie sieht und sich niemand für ein Fundament bedankt. Aber sie gehört dazu, wenn man Software ernst nimmt und sie nicht nur einmal baut, sondern über Jahre hinweg am Leben hält. Mir ist es lieber, ich mache so einen Umbau jetzt in Ruhe. Lieber als irgendwann unter Druck, wenn die alte Version nicht mehr mitspielt. Die nächste App ist schon vorgemerkt.