Warum „Offline-First" mehr ist als „funktioniert auch offline"
„Offline-fähig" wird oft als Marketingbegriff verwendet — viele Apps cachen einfach die letzten Daten und versagen bei jeder Aktion ohne Internet. Offline-First ist eine Architektur-Entscheidung, die das umkehrt: Die App geht standardmäßig davon aus, dass keine Internetverbindung besteht. Alle Daten werden lokal in IndexedDB gespeichert, alle Mutationen werden in eine Outbox geschrieben, der Online-Sync ist eine Hintergrund-Operation, die bei Verfügbarkeit aufholt. Diese Architektur ist für Workflows in Kellern und Heizungsräumen konzipiert, wo WLAN unzuverlässig oder gar nicht vorhanden ist.
ImmoGenio implementiert Offline-First mit der Workbox-Bibliothek und einer eigenen Outbox-Strategie. Phase 1 (Backend-Infrastruktur mit konfliktfreien Datentypen) und Phase 2 (Frontend-PWA mit Workbox) sind produktiv im Einsatz. Phase 3 (E2E-Konfliktauflösung mit umfangreichem Testbed) und Phase 4 (Push-Sync mit Service-Worker für Hintergrund-Updates) sind in Entwicklung. Aktuelle Use-Cases — Wohnungsübergabe, Task-Erledigung, Schadenmeldungen — laufen vollständig offline-fähig.
Workbox-Outbox: technische Architektur
Die Outbox-Strategie arbeitet wie ein lokaler Postausgang: Jede offline ausgeführte Aktion (z. B. „Mangel ‚Parkettkratzer 30cm' am Mietvertrag #4711 hinzufügen") wird als JSON-Eintrag in IndexedDB gespeichert — mit Zeitstempel, eindeutiger ID und Reihenfolge. Der Connectivity-Monitor läuft als Service Worker im Hintergrund und prüft regelmäßig den Online-Status. Bei Übergang von „offline" zu „online" wird die Outbox in der gespeicherten Reihenfolge an das Backend gesendet.
Beim Backend-Empfang wird jede Aktion validiert (z. B. „existiert der Mietvertrag noch?"), gegen Konflikte geprüft (z. B. „wurde der Mangel in der Zwischenzeit von jemand anderem erfasst?") und entweder akzeptiert oder zur Konfliktlösung markiert. Bei Konflikt wird die App benachrichtigt, der Nutzer sieht einen modalen Dialog mit beiden Versionen und entscheidet. Diese Entscheidung wird ebenfalls im Audit-Trail dokumentiert — vollständige Nachvollziehbarkeit auch in komplexen Mehrbenutzer-Szenarien.
Connectivity-Monitor mit drei Stati
Klassische Apps unterscheiden binär: online oder offline. In der Praxis gibt es einen wichtigen dritten Zustand: degraded — die Verbindung existiert, ist aber unzuverlässig oder sehr langsam. Beispiele: schwaches LTE-Signal im Keller, übersättigtes WLAN bei einer Eigentümerversammlung mit 30 Teilnehmern, instabile Verbindung im Zug. ImmoGenio erkennt diese Zustände durch Latenz-Messung (jede Anfrage wird mit Timeout 3s versehen) und passt das Verhalten an: bei „degraded" wird automatisch in den Offline-Modus gewechselt, ohne dass der Nutzer es bemerkt — die App bleibt responsiv, der Sync läuft, sobald die Verbindung wieder stabil ist.