Expertises

Expertises

Realtime & Device-koppelingen

Bluetooth Low Energy, WebRTC, websockets, WebGL — software die direct moet reageren op de fysieke wereld.

Een aanzienlijk deel van mijn projecten draait om software die realtime moet reageren — op een meter, een camera, een muis­beweging in een 3D-scene of een andere speler aan de andere kant van de wereld. Dat soort werk vereist een ander soort denken dan klassieke request/response-software: timing, foutmodi en gedrag bij verlies van verbinding worden eerste-orde concepten in plaats van bijzaken.

Voor de trombosezorg heb ik meerdere merken Bluetooth INR-meters gekoppeld via Bluetooth Low Energy. Elk merk en elk type meter heeft zijn eigen protocol, eigen dataformaat en eigen rariteiten. Per apparaat heb ik het protocol geïmplementeerd met aandacht voor stabiele verbinding, foutdetectie en duidelijke feedback aan de patiënt wanneer iets niet helemaal soepel verloopt.

Voor de online docenten­leeromgeving voor gebarentaal-onderwijs werkten we met WebRTC binnen een Cordova-app. WebRTC heeft veel kracht maar ook veel scherpe randen: NAT-traversal, codecs, fallback-paden, browserverschillen. We hebben bewust eerst gewerkt aan een degelijke verbindingsbasis met duidelijke feedback wanneer iets niet lukt — zodat een docent niet vastloopt op cryptische technische foutmeldingen.

In de horlogemaker-CRM/ERP en het reparatie­portaal speelden websockets de rol van realtime-laag: statuswijzigingen die in de werkplaats worden gedaan zijn direct zichtbaar in de showroom, zonder dat iemand hoeft te verversen. Vert.x op de back-end maakte die event-driven aanpak natuurlijk; aan de Angular-kant ging veel aandacht naar consistentie tussen lokale state en server-events.

In de 3D-configurator zat de uitdaging in collision detection tussen 3D-elementen in een WebGL-omgeving binnen Angular. In een puur component-gedreven canvas­situatie betekent dat scenegraph-achtig denken in een framework dat daar van huis uit niet voor is gemaakt: wanneer berekenen, hoe cachen, en hoe voorkomen dat een onschuldige rerender een hele 3D-stage opnieuw doorrekent.

Wat ik in dit type werk steeds zoek is balans: zo veel realtime als nodig, niet meer. Iedere live-verbinding voegt complexiteit toe — herbinding, gedeelde state, ordening van events — en is alleen het waard als de gebruikerservaring of het businesseffect daar duidelijk om vraagt.

Relevante vaardigheden

Wat ik in dit domein inzet

TypeScriptKotlinAngular 8Angular 5Angular 4Angular 2IonicCordovaWebGLHTML5 CanvasWebRTCVert.x

Werk in dit domein

Gerelateerde projecten

Meer expertises

Andere expertises

Contact

Werkt u in dit domein?

Loopt u tegen een soortgelijke uitdaging aan? Laten we vrijblijvend kennismaken.

Neem contact op