Komplet udskiftning af et system til feltdrift — med mobilapp og uden app stores
Et aldrende cloud-system med en separat native Android-app, erstattet af ét moderne .NET-system med en felt-PWA — push-notifikationer, offline-tilstand og kamera inkluderet. Kerneudviklingen tog 12 arbejdsdage.
- 12 arbejdsdages kerneudvikling
- 38.000+ materielenheder migreret
- Push og offline på iPhone og Android
- 1 system i stedet for 3
Kunden
En materieludlejningsvirksomhed med kontorer i to lande og over 200 medarbejdere — disponenter på kontorerne, chauffører og mekanikere i felten.
Udfordringen
Den daglige drift kørte gennem tre separate systemer: en webapplikation til disponenterne, en separat native Android-app til feltmedarbejderne og en cloud-database med stadigt voksende månedlige gebyrer. Appen kunne ikke udvikle sig — hver ændring krævede en mobilspecialist, publicering gennem Google Play og dages ventetid. iPhones var slet ikke understøttet.
Virksomheden ønskede ét system, den selv kunne vedligeholde billigt — uden at sætte den daglige drift i snesevis af kontorer på spil under overgangen.
Fremgangsmåden
Bevis den risikable del først. Det mest almindelige argument mod webbaserede mobilapps er, at "push-notifikationer ikke virker på iPhone". Så vi startede med en prototype, der beviste det modsatte — på rigtige enheder, før en eneste linje af det egentlige system var skrevet.
Beskriv derefter det gamle system skærm for skærm. Vi udarbejdede en komplet specifikation af den eksisterende app — hver skærm, hver status, hver adfærd — og gjorde den til en tjekliste. Reglen var enkel: den første release skal for brugerne være umulig at skelne fra det gamle. Ingen "forbedringer", der forvirrer folk, som er vant til de gamle arbejdsgange. Nye funktioner blev bygget ind, men skjult — klar til at blive slået til efter overgangen.
Byg så det nye som én helhed. Ét .NET-system, der betjener både disponentkontoret og mobilappen. Mobildelen er en PWA — installeret fra browseren som en almindelig app, men uden app stores, uden publiceringsgebyrer og uden ventetid: hver ny version når alle telefoner med det samme.
PWA'en har alt, hvad den native app havde — og mere til:
- Push-notifikationer ved nye opgaver, verificeret på rigtige iPhone- og Android-enheder;
- Offline-tilstand — opgaver kan ses og afsluttes uden dækning (almindeligt i feltarbejde), og handlinger synkroniseres automatisk, når forbindelsen vender tilbage;
- Kamera og GPS — fotos vedhæftes rapporter direkte fra appen, og koordinater registreres ved hver statusændring;
- det fulde katalog med 38.000+ materielenheder, søgbart selv uden internet.
Resultatet
- Kerneudviklingen tog 12 arbejdsdage — en komplet udskiftning af disponentsystemet, mobilappen og datamigreringen.
- 38.000+ materielenheder, 200+ brugere og hele arkivet (tæt på 20.000 opgavefotos) migreret med automatisk validering af antal mod den gamle database.
- Ét system i stedet for tre — én server, én database, én kodebase. Vedligeholdelsen kræver ikke længere en mobilspecialist.
- iPhone-understøttelse for første gang — uden at skrive en separat app.
- Et færdigt fundament til det næste skridt: en assistent, der besvarer spørgsmål ud fra maskinernes OEM-manualer, er allerede bygget ind.
Den afgørende beslutning var ikke teknisk, men proceduremæssig: den første release replikerer det gamle system én til én, så overgangen ikke indebærer nogen risiko — og de nye muligheder slås først til bagefter.
Teknologi
.NET 10 · ASP.NET Core · MariaDB · PWA (service worker, IndexedDB) · Firebase Cloud Messaging