Naar de inhoud
← Blog

Gidsen

Een app die werkt zonder bereik

Hoe een app blijft werken in een kelder zonder signaal, aan de hand van WTN App: eerst bewaren op de telefoon, later synchroniseren en tonen waar je werk staat.

9 november 2026 · 5 min lezen

Een chauffeur staat met handschoenen aan in een kelder zonder bereik en moet een lading afval laten tekenen. Voor die situatie bouwde ik WTN App, een app voor afvalbonnen in het Verenigd Koninkrijk. Ik werk er niet meer aan en de app wordt niet meer onderhouden, maar veel van wat ik leerde over synchroniseren en software voor op het terrein komt daarvandaan.

Een lading ging van producent (de werf, het kantoor, de fabriek) naar vervoerder (de chauffeur) naar ontvanger (het overslagstation), in een keten van handtekeningen, en op elk van die plekken kon het bereik ontbreken.

Waarom een app zonder netwerk kan stilvallen

Een app kan je werk op een server bewaren, een computer ergens op het internet. De telefoon vraagt dan bij elke actie aan die server of het gelukt is. Zonder verbinding komt er geen antwoord, en dan zie je een draaiend icoontje of een foutmelding.

Een offline-first app draait die volgorde om. De telefoon bewaart je werk zelf, je kan meteen verder, en de server hoort het later.

Eerst bewaren op de telefoon

In WTN App stond op de telefoon een kleine databank, SQLite, die gegevens in een bestand op het toestel bewaart. Een chauffeur kon een lading opnemen, tekenen en doorgeven aan de volgende partij zonder enig signaal. Synchroniseren is wat er daarna gebeurt: de telefoon en de server wisselen uit wat er veranderd is.

Doorgeven van de ene telefoon aan de andere

Bij de overdracht staan twee mensen naast elkaar, en misschien heeft geen van beiden bereik. WTN App gebruikte daarvoor een QR-code die maar kort geldig was. De telefoon van de producent toonde de code en de vervoerder scande ze met de camera. Daar komt geen netwerk aan te pas, want een QR-code is een afbeelding met gegevens erin.

In die code zaten twee dingen. Het nummer van de keten zei over welke bon het ging. Daarnaast zat er een HMAC in van wat de producent op dat moment had vastgelegd. Een HMAC is een soort digitale vingerafdruk van gegevens, gemaakt met een geheime sleutel. Verandert er achteraf iets aan de gegevens, dan klopt de vingerafdruk niet meer. Een korte geldigheid beperkt wat iemand later met een foto van de QR-code kan doen.

Wat er gebeurt als het bereik terugkomt

Elke stap kwam terecht in een logboek per keten, waarin alleen regels bijkomen en niets overschreven wordt. De server las dat logboek en berekende daaruit de huidige stand van de bon. Zo’n logboek past bij werken zonder bereik, omdat twee telefoons die een tijd offline waren elk hun eigen regels kunnen meebrengen zonder elkaars werk te overschrijven. De keten kwam weer gelijk te staan zodra iemand opnieuw online was.

Toch kunnen twee mensen offline hetzelfde willen aanpassen. Zonder afspraken moet de software dan kiezen welke versie blijft, en gaat de andere verloren. WTN App had daarvoor regels per rol. Producenten wijzigden de velden van de producent, vervoerders die van de vervoerder, en niemand kon opnieuw tekenen voor iemand anders. Zulke regels komen uit het werk zelf, dus als eigenaar bepaal je ze mee.

Ben je ontwikkelaar, dan vind je de technische uitwerking in Offline-first op mobiel: synchroniseren zonder bereik.

De badge met drie standen

Op elk scherm van WTN App stond een badge, een klein label, dat toonde waar het werk stond:

Wie zonder bereik werkt, ziet anders niet of zijn werk bewaard is en of het al bij de anderen is. Hij kan dan alleen gokken, of nog eens op verzenden drukken. Voor jou als eigenaar is zo’n label ook handig wanneer iemand belt omdat er iets niet lijkt aan te komen: je vraagt eerst welke stand er op het scherm staat.

Als je zoiets overweegt

Werken je mensen op plekken met slecht bereik, zoals een werf of een magazijn, dan kan dit de moeite waard zijn. Het vraagt wel extra werk bij het bouwen, want de gegevens staan op meerdere plaatsen en moeten weer gelijk komen te staan. Dat weegt mee in de prijs. Wordt de app alleen op kantoor gebruikt, dan heb je het wellicht niet nodig.

Een paar vragen helpen om dit vooraf uit te klaren:

Test het op de plek waar het gebruikt zal worden, want op kantoor merk je niet hoe een app werkt in een kelder of met handschoenen aan. Bij WTN App zat ik in gesprekken met chauffeurs en paste ik dingen aan als ze zeiden dat iets in de cabine niet werkte.

Lees ook

Wat is jouw idee?

Vertel me wat je wil bouwen. Ik probeer binnen één werkdag te antwoorden.