Troostwijk
Voor Troostwijk Auctions – één van de grootste industriële veilinghuizen van Europa – heeft Marcel verschillende native apps ontwikkeld. Ook was hij betrokken bij het ontwikkelen van de backend en de migratie daarvan naar Azure en ASP.NET Core. Drie voorbeelden:
1. De app voor de klanten
De veiling-app voor iOS en Android, samen goed voor meer dan 35.000 actieve gebruikers, heeft Marcel volledig opnieuw ontwikkeld met Xamarin Forms, met ondersteuning voor 15 talen. Het professionele design heeft hij voor iOS en Android op identieke wijze geïmplementeerd. Er was veel aandacht nodig voor de grote hoeveelheden data en het efficiënt laden van de lijsten. En voor de timing, de synchronisatie van de processen, want tijdens het bieden op kavels van een veiling moeten de relevante push-berichten zonder merkbare vertraging worden afgeleverd bij de gebruikers.
2. De app voor de veilingmeesters
Voor het ‘aanmaken’ van nieuwe veilingen en alle kavels daarin, ontwikkelde Marcel met Xamarin native apps voor de veilingmeesters, voor gebruik op een iPad. Foto’s en data van de te veilen goederen worden daarmee gestandaardiseerd opgeslagen. Dat moet ook offline (lokaal op de device) goed werken, omdat op de veilinglocatie niet altijd een internetconnectie beschikbaar is. Later worden dan alle data met de centrale server gesynchroniseerd. En omdat verschillende mensen tegelijk aan dezelfde veiling kunnen werken, is een goede synchronisatie met die databaseserver erg belangrijk. Na de synchronisatie worden de data verder bewerkt in een web app.
3. De app voor de uitlevering
De app voor de uitlevering van de kavels houdt precies bij wie welke kavels mag ophalen, of de kavels wel of niet al volledig betaald zijn, welke kavels bij elkaar horen, et cetera. Betalingen worden geregistreerd en voor kopers uit verschillende landen worden documenten voor de douane gegenereerd. Dat alles wordt strak gesynchroniseerd met de centrale server, zodat alle iPads op de locatie over dezelfde gegevens beschikken.
Het feit dat deze apps gebruikt worden bij verschillende soorten veilingen en in verschillende landen en talen, maakte de opzet complex.
Exact Software
Met Xamarin voor iOS en Android heeft Marcel voor Reeleezee, een dochterbedrijf van Exact, de native apps voor Cashr ontwikkeld.
Cashr is een kassa-app voor de retail en de horeca. Je kunt er tafelplattegronden mee bouwen en afrekenen per tafel, desgewenst opgesplitst per persoon.
De apps zijn zo ontwikkeld dat ze prima draaien op de meest gebruikte devices: iPhone, iPad, Android telefoon en Android tablet. Er is veel aandacht besteed aan het zoveel mogelijk gelijk houden van de code voor iOS en Android.
De apps zijn qua interface geen recht-toe-recht-aan Xamarin app, maar kregen een geavanceerd grafisch design met de nodige animaties. Daarmee is een simpele, efficiënte maar ook mooie gebruikerservaring bereikt.
Als de Wifi-connectie even wegvalt (iets waarmee je bijvoorbeeld op grote buitenterassen te maken kan hebben), kunnen bestellingen nog gewoon worden opgenomen en betalingen worden afgehandeld. De synchronisatie met de back-end vindt automatisch direct weer plaatst zodra de verbinding hersteld is. Dat daarvoor een grote hoeveelheid data in een lokale database op de telefoon of tablet staat, en dat het synchroniseren van data altijd hoge prioriteit krijgt binnen de app, dat zijn technische details die op de achtergrond spelen en waar een gebruiker niets van merkt.
De apps zijn ook voorzien van koppelingen naar mobiele printers en pin-terminals.
Als je de apps gratis wilt uitproberen, dan kan je ze downloaden inclusief demo-data, na een klik op het logo van Cashr.
Transtrack International
De relatie met Transtrack International was er één van vele jaren: Marcel ontwikkelde en onderhield een track en tracing app voor mobiele handterminals voor Cash-in-Transit (CIT), voor waardetransporten. De app is gemaakt voor gebruik door verschillende grote CIT-bedrijven in Europa en Afrika.
Al in 1998, toen mobiele telefoons nog het formaat van een baksteen hadden, maakte Marcel de eerste versie voor een mobiele terminal met een ingebouwde matrix-printer. Die terminal ging mee op de transporten en hield alle details bij van wat er met de pakketjes gebeurde en printte gedetailleerde ophaal- en afleverbonnen. Mobiel internet bestond nog niet, dus aan het einde van de rit werd de mobiele terminal uitgelezen en werden alle gegevens verwerkt op de centrale server. Dat alles wist Marcel te programmeren voor een Z80 processor met 16 KB geheugen.
Jarenlang pleegde Marcel onderhoud. Hij voerde aanpassingen en uitbreidingen door voor verschillende merken en typen handterminals en voor verschillende operating systems. Een grote uitdaging was om de code voor alle typen en os-en zoveel mogelijk gelijk te houden (code-efficiëncy), zodat aanpassingen en uitbreidingen op alle terminals beschikbaar kwamen.
Natuurlijk zijn de gebruikte programmeertalen, de omgevingen (met heel beperkte geheugencapaciteit) en de hardware van toentertijd voor nu niet meer relevant. Maar het vinden van je weg in heel complexe processen, en het vinden en aanbrengen van structuur, om uiteindelijk tot goede, klantvriendelijke oplossingen te komen, dat zijn vaardigheden die we toen ontwikkelden en waarop we vandaag de dag nog altijd voortbouwen. Het klinkt zwaar, maar het is wel precies zoals je het project van Transtrack zou moeten plaatsen in de huidige, moderne context.
TopRooster
De ‘standaard software’ TopRooster bouwden wij voor algemeen gebruik, in eerste instantie als oplossing voor zelfroosteren voor vrijwilligersorganisaties. TopRooster lost de volgende vraag op: “Wie komt er wanneer?“. Dat is een eenvoudig concept en TopRooster biedt simpele overzichten waaruit blijkt wie er wanneer komt werken. Maar ons rooster maakt ook eenvoudig inzichtelijk voor wanneer er nog mensen nodig zijn. De ‘gaten’ in het rooster. De mensen kunnen dan zelf middels ‘een simpele klik’ aangeven welke dienst of diensten zij voor hun rekening nemen. En hop, hun naam is toegevoegd aan het rooster, al dan niet gevold door een bevestiging per e-mail of SMS. Eenvoud en overzicht voorop.
Die eerste versie, in 2009, was heel eenvoudig en werkte doeltreffend. Maar de wensen van klanten bleven komen, want elke organisatie roostert op zijn eigen manier. Wij bouwden in de vele jaren die volgden veel van die klantwensen in, terwijl het klantenbestand zich meer en meer uitbreidde, ook met andersoortige organisaties. Want overal waar gepland en geroosterd wordt, is TopRooster inzetbaar.
Inmiddels is TopRooster voorzien van hele rijen opties en mogelijkheden waarmee de roosterbeheerder het rooster volledig naar zijn hand kan zetten. Terwijl tegelijkertijd de eenvoud van het gebruik voor de mensen die zich moeten inroosteren overeind is gebleven. Dat is voor onze ontwikkelaars een blijvende uitdaging in een continu proces, bij elke wijziging en toevoeging die wij doorvoeren weer. Maar het lukt!
Wij luisteren graag naar onze klanten, van kleine wijzigingen in ons product tot losstaand maatwerkproject.
Ministerie van Defensie
Voor het Command & Control Support Centre van het Ministerie van Defensie heeft Marcel meegebouwd aan de app voor de pelotons-commandant in het veld.
Deze app is gemaakt voor gebruik op een handheld-device dat draadloos synchroniseert met andere systemen in het veld, waaronder de ingebouwde computers van de pantserwagens. De app toont kaarten, route- en locatie-informatie en de positie van de manschappen. En die data kunnen in verschillende lagen aan- en uitgezet worden. Er is communicatie met de handhelds onderling en met de voertuigsystemen. En er kunnen plannen en objecten op de kaart worden ingevoerd.
De klus was op technisch vlak erg uitdagend en we konden onze ervaring, kennis en kunde er prima in kwijt.