Entwicklung

Offline-First-Apps für bargeldbasierte Wirtschaften bauen

Systemarchitektur-Strategien für Schwellenmärkte mit unzuverlässiger Konnektivität und bargelddominierten Transaktionen.

Die meiste Software setzt voraus, dass das Netz da ist. Sie setzt voraus, dass ein Payment-Gateway in unter einer Sekunde antwortet, dass eine Synchronisation unbemerkt im Hintergrund läuft und dass eine fehlgeschlagene Anfrage einfach wiederholt werden kann. Baut man auf diesen Annahmen in Kinshasa, in Lubumbashi oder in einer Kleinstadt im Landesinneren, hört das Produkt genau dann auf zu funktionieren, wenn es am wichtigsten ist.

Offline-First ist keine Funktion, die man später ergänzt. Es ist eine Entscheidung darüber, wo die Wahrheit liegt. In einer vernetzten Anwendung hält der Server den Datensatz und der Client zeigt ihn an. In einer Offline-First-Anwendung hält das Gerät einen echten Datensatz, und der Server gleicht ab. Diese Umkehrung betrifft Datenmodell, Identifikatoren, Konfliktbehandlung und die gesamte Teststrategie — weshalb ein nachträglicher Einbau so teuer ist.

Die praktischen Konsequenzen sind konkret. Erzeugen Sie Identifikatoren auf dem Client, nicht auf dem Server, damit ein ohne Verbindung angelegter Datensatz nie auf die Erlaubnis wartet zu existieren. Speichern Sie ein Operationsprotokoll, statt den Zustand zu überschreiben, damit zwei Geräte, die denselben Kunden bearbeitet haben, zusammengeführt werden können, statt dass eines still gewinnt. Machen Sie jeden Schreibvorgang idempotent, denn eine abgelaufene Anfrage kann durchaus erfolgreich gewesen sein.

Bargeld verändert das Design ebenfalls. Eine in Scheinen beglichene Transaktion hat keinen Gateway-Callback, auf den man warten könnte, und keine automatische Abstimmung. Das System muss eine Absicht erfassen, einen Menschen sie bestätigen lassen und die Differenz zwischen beiden Zuständen halten, ohne einen davon zu verlieren. Teams, die Kartenflüsse gewohnt sind, modellieren das als Randfall; in einer bargelddominierten Wirtschaft ist es der Hauptweg.

Nichts davon ist exotische Technik. Es ist die gewöhnliche Disziplin, die eigenen Bedingungen nicht für universell zu halten. Bauen Sie für unterbrochene Konnektivität und für Bargeld, und das Produkt läuft auch auf Glasfaser in Frankfurt einwandfrei. Bauen Sie umgekehrt, und es scheitert überall dort, wo die Annahmen nicht gelten — global gesehen also an den meisten Orten.

Lassen Sie uns zusammenarbeiten

Sprechen wir