Im Heizungskeller gibt es kein Netz. Im Rohbau auch nicht, in der Tiefgarage schon gar nicht, und zwischen zwei Hügeln reicht ein Balken für gar nichts. Eine Anwendung, die dort nicht funktioniert, funktioniert im Außendienst nicht.
Offline zu erfassen ist der einfache Teil, der Abgleich danach ist der schwierige. Daten lokal zu speichern kostet wenig Aufwand. Die eigentliche Arbeit steckt darin, was passiert, wenn zwei Geräte denselben Vorgang bearbeitet haben, wenn eine Übertragung mittendrin abbricht, wenn Daten tagelang nur auf einem Gerät liegen, oder wenn dieses Gerät verloren geht.
Frage 1: Was passiert bei einem Konflikt?
Zwei Monteure bearbeiten denselben Vorgang, beide ohne Netz. Abends überträgt der eine, morgens der andere. Wessen Fassung gilt?
Es gibt drei brauchbare Antworten, und die Wahl ist eine fachliche, keine technische:
- Der letzte gewinnt. Einfach, nachvollziehbar, und für viele Fälle ausreichend. Riskant, wenn dabei die Arbeit des anderen verloren geht.
- Feldweise zusammenführen. Jedes Feld wird einzeln betrachtet, nur bei echten Überschneidungen entsteht ein Konflikt. Aufwendiger, aber deutlich verträglicher im Alltag.
- Konflikt zur Klärung vorlegen. Beide Fassungen bleiben erhalten, ein Mensch entscheidet. Nötig überall dort, wo Daten Grundlage für Abrechnung oder Nachweis sind.
Der häufigste Fehler ist, diese Frage gar nicht zu stellen. Dann gewinnt der letzte, weil das die Voreinstellung praktisch jeder Übertragung ist, und niemand hat es entschieden.
Frage 2: Was passiert bei abgebrochener Übertragung?
Der Monteur fährt aus dem Funkloch, die Übertragung beginnt, nach zwei von acht Fotos bricht die Verbindung ab. Zwei Dinge dürfen jetzt nicht passieren: Der Vorgang darf nicht als übertragen gelten, und beim nächsten Versuch dürfen die ersten beiden Fotos nicht doppelt ankommen.
Technisch löst man das über Übertragung in Teilen mit eindeutiger Kennung je Teil und einer Bestätigung der Gegenseite. Praktisch heißt das: Jeder Vorgang hat einen Zustand, der auf dem Gerät sichtbar ist. Nicht übertragen, wird übertragen, bestätigt. Solange der Zustand nicht bestätigt ist, bleiben die Daten lokal.
Frage 3: Wie lange dürfen Daten nur auf dem Gerät liegen?
Ein Gerät, auf dem seit fünf Tagen nicht übertragene Vorgänge liegen, ist ein Risiko. Wenn es kaputtgeht, ist die Arbeit weg.
Die Lösung ist unspektakulär: ein sichtbarer Zähler in der Anwendung, der zeigt, wie viele Vorgänge noch nicht übertragen sind und wie alt der älteste ist. Ab einer Schwelle wird daraus eine Warnung, und ab einer zweiten eine Meldung an die Disposition.
Dieser Zähler kostet fast nichts und verhindert den häufigsten Datenverlust in der Praxis, der nämlich nicht technisch entsteht, sondern dadurch, dass niemand hingesehen hat.
Frage 4: Was passiert bei Verlust des Geräts?
Zwei getrennte Punkte. Erstens die noch nicht übertragenen Daten: Sie sind weg, wenn es keinen zweiten Weg gibt. Deshalb sollte übertragen werden, sobald Netz da ist, und nicht erst am Feierabend.
Zweitens die Daten, die auf dem Gerät liegen und in fremde Hände geraten könnten. Dagegen helfen Verschlüsselung des Gerätespeichers, eine Anmeldung in der Anwendung selbst, und die Möglichkeit, ein Gerät zentral zu sperren. Bei betrieblichen Geräten kommt eine Geräteverwaltung dazu, die aus der Ferne löschen kann.
Was sich technisch bewährt hat
Für den lokalen Speicher haben sich zwei Wege etabliert: eine eingebettete Datenbank auf dem Gerät, oder bei Webanwendungen die im Browser verfügbare Speicherung. Beide sind ausgereift, der Unterschied liegt in der Menge und in der Frage, ob Dateien wie Fotos mit hineinsollen.
Für den Abgleich gilt: Nicht die ganze Datenmenge übertragen, sondern nur Änderungen seit dem letzten Stand. Dafür braucht jeder Datensatz einen Zeitstempel und eine Kennung, die auf dem Gerät vergeben werden kann, ohne den Server zu fragen. Fortlaufende Nummern vom Server funktionieren offline nicht.
Wann Offline-Fähigkeit übertrieben ist
Wenn die Arbeit in Gebäuden mit stabilem WLAN oder in Gebieten mit durchgehender Mobilfunkabdeckung stattfindet, ist der Aufwand nicht gerechtfertigt. Dann genügt eine Anwendung, die eine kurze Unterbrechung überbrückt, indem sie den aktuellen Eingabestand zwischenspeichert und nach der Wiederverbindung sendet.
Das ist ein Bruchteil des Aufwands und deckt den häufigsten Fall ab, nämlich das kurze Wegbrechen der Verbindung, nicht die stundenlange Arbeit ohne Netz.
Wie wir das angehen
Wir klären die vier Fragen oben, bevor über Oberflächen gesprochen wird, weil sie die Bauweise bestimmen. Der sichtbare Zähler für nicht übertragene Vorgänge ist bei uns fester Bestandteil, weil er den häufigsten Datenverlust verhindert. Mehr dazu unter App-Entwicklung für Außendienst und Montage.
Was bedeutet Offline-Fähigkeit bei einer App?
Dass Daten auch ohne Netzverbindung erfasst, lokal gespeichert und bei der nächsten Verbindung automatisch übertragen werden. Der anspruchsvolle Teil ist nicht das Speichern, sondern der spätere Abgleich.
Was passiert, wenn zwei Geräte denselben Vorgang bearbeiten?
Das muss festgelegt werden: entweder gewinnt die zuletzt übertragene Fassung, oder es wird feldweise zusammengeführt, oder der Konflikt wird einem Menschen zur Entscheidung vorgelegt. Ohne Festlegung gewinnt der letzte, ohne dass es jemand entschieden hat.
Wie verhindere ich Datenverlust bei Geräteverlust?
Übertragen, sobald Netz verfügbar ist, statt erst am Feierabend. Dazu ein sichtbarer Zähler für nicht übertragene Vorgänge, Verschlüsselung des Gerätespeichers und die Möglichkeit, ein Gerät zentral zu sperren.
Braucht jede Außendienst-App echte Offline-Fähigkeit?
Nein. Bei stabiler Netzabdeckung genügt oft ein Zwischenspeichern des Eingabestands, das eine kurze Unterbrechung überbrückt. Das ist ein Bruchteil des Aufwands und deckt den häufigsten Fall ab.