Mobile Apps
Offline-First & Hintergrund-Sync
Die App funktioniert auch im Aufzug
Eine App, die bei jedem Fingertipp auf das Netz wartet, fühlt sich langsam an, auch wenn der Server schnell antwortet. Wir drehen deshalb die Reihenfolge um. Die Oberfläche liest zuerst aus dem lokalen Speicher und zeichnet sofort; der Abgleich mit dem Server läuft daneben und aktualisiert, sobald er fertig ist.
Beim Schreiben gilt dasselbe Prinzip. Eine Eingabe landet zuerst lokal und ist unmittelbar sichtbar, gleichzeitig geht sie in eine Ausgangswarteschlange. Fehlt gerade die Verbindung, bleibt sie dort und wird abgearbeitet, sobald wieder eine besteht – auch dann, wenn die App zwischenzeitlich geschlossen wurde.
Der ehrliche Teil dieser Architektur ist der Umgang mit Konflikten. Ändern zwei Geräte denselben Datensatz, oder weist der Server eine Eingabe zurück, dann muss die App das zeigen, statt es stillschweigend zu verschlucken. Diesen Fall entwerfen wir bewusst mit, weil er in der Praxis eintritt.
Was das im Alltag bedeutet
- Die Oberfläche reagiert sofort, unabhängig von der Netzqualität
- Eingaben im Funkloch gehen nicht verloren, sondern warten in der Warteschlange
- Der Abgleich läuft auch dann, wenn die App geschlossen ist
- Konflikte und abgelehnte Eingaben werden sichtbar gemeldet
- Baustelle, Außendienst und Keller sind kein Sonderfall mehr