Nieuws

De Transporter-app: offline werken in het transport als uitgangspunt

Als de verbinding onbetrouwbaar is en chauffeurs onder tijdsdruk staan, kan een mobiele app niet op een serverreactie wachten. Zo bouwden we Transporter: een robuuste C#-app voor het dagelijkse transportwerk op Zebra-apparaten, die onder alle omstandigheden blijft werken.

De Transporter-app: offline werken in het transport als uitgangspunt

Toen TST Terschelling ons vroeg het papieren werkproces van hun chauffeurs te vervangen, was de opdracht helder: sneller, digitaal en betrouwbaar. Het werd een van de technisch meest veeleisende projecten die we hebben opgeleverd.

De randvoorwaarde die alles bepaalde

Op de Waddeneilanden is de mobiele dekking wisselend. Veerboten maken twee keer per dag de overtocht. Een chauffeur die om zes uur ’s ochtends goederen laadt op de kade, kan niet bij elke barcodescan wachten tot een verzoek naar de server is verstuurd en beantwoord. De app moest volledig offline werken, als normale gebruikswijze en niet alleen als noodoplossing.

Die ene randvoorwaarde bepaalde elke keuze in de architectuur.

Wat Transporter doet

Transporter ondersteunt de chauffeur gedurende de hele werkdag, met:

  • Inloggen en toewijzing van routes
  • Vrachtwagens laden met barcodescanning en controle van aantallen
  • Aflevering per stop, met afhandeling van afwijkingen
  • Digitale afleverbewijzen, inclusief het vastleggen van handtekeningen
  • Afsluiten van de route aan het einde van de dag en synchronisatie met de backend

Elke handeling wordt eerst lokaal verwerkt. Het apparaat bewaart de actuele toestand, zet gebeurtenissen in een wachtrij en synchroniseert zodra er verbinding is. De essentiële werkzaamheden hoeven nooit op een netwerkverzoek te wachten.

De gebruikte technologie

We bouwden Transporter als een native C#-applicatie voor Android-apparaten van Zebra. Zebra-handhelds zijn de standaard voor scanning in magazijnen en logistiek. Ze zijn bestand tegen vallen, stof, temperatuurwisselingen en onafgebroken gebruik, ploegendienst na ploegendienst. Hun ingebouwde barcodescanners werken een orde van grootte sneller dan scannen met de camera van een gewone smartphone.

De backend bestaat uit een PHP REST-API met MySQL. De gegevens op het apparaat en de server worden op elkaar afgestemd via een synchronisatiemodel op basis van gebeurtenissen: het apparaat houdt een logboek van handelingen bij, de server verwerkt die op volgorde en conflicten worden volgens vaste regels opgelost. De chauffeur krijgt op een cruciaal moment nooit een laadindicator te zien.

Wat we hebben geleerd

Offline werken als uitgangspunt klinkt eenvoudig, totdat het in alle situaties goed moet functioneren. Elk uitzonderingsgeval dat in een permanent verbonden app eenvoudig is, wordt een ontwerpvraagstuk. Wat gebeurt er als een chauffeur hetzelfde artikel twee keer op verschillende apparaten scant? Wat als de routegegevens op de server zijn gewijzigd sinds de laatste synchronisatie? Wat als de klok van het apparaat verkeerd staat?

We besteedden veel tijd aan het synchronisatieprotocol en de terugkoppeling in de interface. De chauffeur moet altijd weten welke routegegevens leidend zijn, ook als die drie uur geleden tijdens een overtocht voor het laatst zijn bijgewerkt.

Het resultaat is een app waarmee sinds de introductie dagelijks routes worden gereden, zonder één probleem met de gegevensintegriteit.

Het resultaat

TST Terschelling verving een werkproces met klembord en papier dat jarenlang in gebruik was. De laadtijd per vrachtwagen nam aanzienlijk af. Discussies over afleverbewijzen verdwenen, omdat iedere levering nu een ondertekend digitaal bewijs met tijdstempel heeft. De medewerkers op kantoor kunnen de voortgang van routes direct volgen en hoeven niet meer te wachten tot chauffeurs bellen.

Dit soort projecten herinnert ons eraan waarom we software bouwen: om onnodige obstakels weg te nemen uit werk dat ertoe doet.

Terug naar nieuws

Meer

Gerelateerde artikelen

1 nov 2025

DataBridge ontwikkelen: 20 zelfstandige 4D-systemen synchroniseren met een centrale MySQL-backend

We werken verder aan DataBridge: een synchronisatielaag die ongeveer 20 zelfstandige 4D-installaties verbindt met een centrale MySQL-backend voor de website en bijbehorende online diensten. De uitdaging is niet alleen gegevens van A naar B verplaatsen, maar dat veilig, herhaalbaar en voorspelbaar doen in een productieomgeving waar gebruikers werken, records veranderen en verbindingen kunnen wegvallen, zonder dat één computer de rest ontregelt.

Wilt u met ons samenwerken?

Neem contact op, dan bespreken we uw project.