Mobile Apps · Gemischt

Offline arbeiten: eine App, die im Aufzug nicht zerbricht

In einem Satz: Entwerfen Sie die App unter der Annahme, dass es kein Netz gibt, und Sie erhalten gratis eine App, die sich auch schnell anfühlt, wenn es eines gibt.

Die Grundannahme

Ein Mobilfunknetz ist kein Ein-Aus-Schalter, sondern ein Spektrum: langsam, unterbrochen, verbunden, aber ohne Durchsatz. Eine App, die eine gute Verbindung annimmt, zeigt genau dann ein endloses Ladesymbol, wenn der Nutzer sie braucht.

Der richtige Ansatz: Das Gerät hält eine lokale Wahrheitsquelle, und das Netz ist ein Hintergrund-Synchronisationsprozess.

Drei Mechanismen

Lese-Cache. Was einmal geladen wurde, wird sofort erneut gezeigt, mit einer dezenten „wird aktualisiert“-Markierung.

Schreib-Warteschlange. Handlungen des Nutzers werden lokal gespeichert und gesendet, sobald es eine Verbindung gibt. Die Oberfläche zeigt das Ergebnis sofort.

Konfliktlösung. Was passiert, wenn zwei Geräte dasselbe Element geändert haben. Entscheiden Sie im Voraus: der letzte gewinnt, feldweise zusammenführen oder den Nutzer fragen.

Was der Nutzer sehen muss

Den Synchronisationsstand still, aber klar, und was noch nicht gesendet wurde. Den Zustand völlig zu verbergen erzeugt Misstrauen, sobald etwas verschwindet.

Im Detail

Halten Sie eine Version oder einen Aktualisierungszeitstempel vom Server bei jedem Datensatz und senden Sie ihn beim Schreiben zurück, um einen Konflikt zu erkennen. Ohne ihn überschreiben sich zwei parallele Aktualisierungen still — die schlimmste Art von Datenverlust, weil niemand einen Fehler bekommt.