NetRom test React Native voor multi-platform apps bij NLZIET

  • Eén codebase voor alle platformen
  • Snelle validatie via Proof of Concept
  • Betrouwbare ontwikkelpartner met ervaring in media
NetRom test React Native voor multi-platform apps bij NLZIET

NetRom toetst voor NLZIET de mogelijkheid om met React Native apps voor verschillende apparaten en besturingssystemen te ontwikkelen 

Via het online platform NLZIET kunnen kijkers on-demand tv-zenders en programma’s op verschillende apparaten bekijken. De dienst werkt met een abonnementsmodel en via browsers en apps krijgen gebruikers op verschillende apparaten toegang tot de content. In de praktijk blijkt het ontwikkelen en onderhouden van deze verschillende apps een behoorlijke uitdaging. Een oplossing voor dit probleem is het ontwikkelen met behulp van React Native, waarmee het mogelijk is om apps voor verschillende apparaten en besturingssystemen te ontwikkelen. Via een PoC onderzoekt NetRom of NLZIET voortaan met deze technologie slimmer en sneller apps kan ontwikkelen.   

NLZIET is in 2014 opgericht door NPO, RTL en Talpa, het mediabedrijf van John de Mol. In dat jaar was lineair tv-kijken nog de standaard en hadden telecom- en kabelbedrijven de markt in handen. De enige variatie op het traditionele tv-kijken in die tijd was Uitzending Gemist; voor online was YouTube de marktleider. NLZIET kwam als eerste aanbieder met een abonnement om het aanbod van NPO, RTL en Talpa online en reclamevrij te bekijken. 

Ontwikkeling van NLZIET

In het begin was NLZIET geen groot succes, erkent Sander Kouwenhoven: “Het platform vroeg geld voor iets wat ook gratis beschikbaar was.” Eerder in zijn loopbaan had hij als lead developer bij een softwarebureau meegewerkt aan de ontwikkeling van NLZIET. Een aantal jaren later trad hij bij NLZIET in dienst als CTO.  “Ik hoefde niet lang over deze stap na te denken, want mijn eerdere werkzaamheden voor NLZIET waren onderdeel van het mooiste project wat ik tot dan toe had gedaan. Saillant detail is dat ik in de database van NLZIET als user nummer 1 sta vermeld. Want na de ontwikkeling moest er natuurlijk ook getest worden.” 

Impact van cord-cutting op de markt

Enige tijd na de start heeft NLZIET de koers verlegd. In plaats van alleen terugkijken, kregen kijkers de mogelijkheid om live tv te kijken en werd het ook mogelijk om sommige programma’s vooruit te kijken. Kouwenhoven: “Daarmee werd NLZIET een concurrent van het aanbod van kabelaars, iets wat in deze markt ook wel ‘cord-cutting’ wordt genoemd. Ook de komst van Netflix naar Nederland heeft cord-cutting een boost gegeven.”  

Kabelaars en telecombedrijven hadden oorspronkelijk een groot marktaandeel via het triple play model: een combinatie van vaste telefonie, vast internet en een pakket aan radio- en televisiezenders. NLZIET biedt nu een zogenaamde ‘skinny bundle’: een selectie van de belangrijkste kanalen en dat voor een aanzienlijk lagere prijs dan de pakketten van de kabelaars, aldus Kouwenhoven. “Tegenwoordig zijn we onderdeel van een heel breed aanbod aan online videodiensten, maar we groeien nog steeds.” 

Ieder platform z’n eigen app vereist maatwerk 

Het aanbod van NLZIET is toegankelijk via apps voor Apple TV, Android TV, Fire TV en op de smart TV’s. En er zijn mobiele apps beschikbaar voor Android en iOS. Essentiële onderdelen van al die formats: een goede videospeler, een gebruiksvriendelijke gids met opties om vooruit, realtime of terug te kijken, én de mogelijkheid om per gebruiker wel of geen commercials te kunnen serveren. Vooral dat laatste stelt hoge eisen aan de technologie. Uitdaging voor NLZIET: voor ieder platform en voor iedere app moeten die functionaliteiten op maat worden ontwikkeld.  

Voor al die platforms en apps werkt NLZIET al jarenlang met een vaste IT-dienstverlener, die thuis is in de verschillende platforms. Het intern ontwikkelen van de apps is met de huidige omvang van NLZIET niet haalbaar, legt Kouwenhoven uit. “De ontwikkeling van de back-end doen we zelf met een intern team van .Net-developers. Maar voor de verschillende apps zouden we per platform een à twee gespecialiseerde developers in huis moeten halen. Dat is een te kwetsbaar en kostbaar model.” 

Eén codebase voor alle apps   

React Native, een open-source UI-softwareframework waarmee je applicaties kunt ontwikkelen voor Android, Android TV, iOS, macOS, tvOS en web, zou op dat punt voor verandering kunnen zorgen. Ofwel: React Native maakt het mogelijk om met één codebase apps te ontwikkelen voor verschillende platforms. “Dat lijkt een belangrijke technologie te worden,” aldus Kouwenhoven, die daarom wilde onderzoeken of deze technologie goed toepasbaar is in het domein van video-apps.  

“Dat domein is een stuk complexer dan de doorsnee app met wat plaatjes, tekst en een aantal API’s. De uitdagingen zitten vooral in het combineren van de videospeler met de tv-gids en het afspelen op tvOS. Mits goed toepasbaar, zou dat kunnen bijdragen aan vereenvoudiging, versnelling en kostenbesparing,” legt Kouwenhoven uit. Werken met React Native zou ook het eventueel optuigen van een intern ontwikkelteam mogelijk maken. 

“In minder dan drie maanden heeft het team een app opgeleverd die aan alle technische eisen voldeed. Daarmee heeft NetRom voor NLZIET een theorie gevalideerd, die voor ons bepalend is voor de technologiekeuzes die we de komende tijd moeten maken.”

SANDER KOUWENHOVEN, CTO BIJ NLZIET

Op zoek naar een frisse blik 

Om de technologie te onderzoeken koos NLZIET voor samenwerken met een team met een frisse nieuwe blik op een nieuw vraagstuk in plaats van samenwerken met de eigen vaste ontwikkelpartner – die niet thuis was in React Native – of het werk uitbesteden aan freelance developers. Dat laatste zou een flinke uitdaging zijn: er zijn nauwelijks developers die ervaring hebben met de combinatie.  

“De keuze voor NetRom werd mede bepaald door eerdere positieve ervaringen uit mijn persoonlijke werkhistorie en ook gehanteerde uurtarieven. Als developer vind je je eigen code altijd het beste; developers kijken altijd extra kritisch naar wat een ander produceert. Ik weet dat ik destijds erg te spreken was over de kwaliteit van het werk van NetRom. Daarnaast was de afgebakende, losstaande aard van de opdracht een goede test voor ons om te onderzoeken of nearshoring een valide oplossing kon zijn voor NLZIET.”  

NetRom ontwikkelt PoC 

De opdracht die NLZIET bij NetRom heeft neergelegd is het ontwikkelen van een PoC voor een app, gebaseerd op React Native. “Voor de specificaties van de PoC hebben we de nadruk gelegd op de meest lastige elementen, dus het gaat in dit project vooral om technologische uitdagingen en niet zo zeer om een goede look and feel. De PoC moest net zo goed werken als onze huidige apps,” legt Kouwenhoven uit.  

Het beoogde eindresultaat: antwoord op de vragen over de mogelijkheden van app-ontwikkeling met React Native. Daarmee werd het een vastomlijnd project, waar dan ook vooraf een strikt budget in uren voor is afgesproken. “Als het op is, is het op. We hoefden de PoC niet naar een productieomgeving te brengen. We wilden wel de PoC kunnen testen en evalueren.” 

NetRom had weliswaar ervaring met React Native, maar minder met online videospelers in die omgeving. “Het was een project met een spannende uitkomst: het zou kunnen dat de technologie tekortschiet of dat het team van NetRom het niet voor elkaar zou krijgen. Dat hebben we vooraf als risico’s genoteerd en bij een van beide uitkomsten zouden we op de rem trappen; dan zouden we niet verder gaan met React Native.” 

Samenwerken tijdens een snelkookpanproject 

Het ontwikkeltraject startte in het najaar van 2024 en duurde ongeveer drie maanden. Er werd gewerkt met een ‘blended team’: aan de kant van NLZIET waren er een front-end lead, een back-end lead en Kouwenhoven zelf “als een soort product owner” betrokken; aan de kant van NetRom waren er twee developers en een tester aan het werk. “We hebben de NetRom Campus in Roemenië bezocht en we hebben in een aantal dagen onderling veel informatie tussen alle teamleden uitgewisseld. Het is belangrijk om elkaar aan het begin van een nieuw project fysiek te ontmoeten. Dan weet je met wie je samenwerkt en is er alle tijd om duidelijk te maken wat voor online dienst NLZIET is. De gespreksstof wordt al snel technisch, dus dan is het fijn als alle specialisten bij elkaar in dezelfde ruimte zitten.” 

Waterval of agile? 

NetRom hecht aan agile werkwijzen. Is vooraf overleg geweest over de niet-agile benadering van dit snelkookpanproject? En had NetRom voldoende houvast?  

“Voor ons was het ook een vreemd project: hier is een zak met geld en we wilden graag een rudimentaire versie van onze app op nieuwe technologie. We hebben dagelijkse stand-ups gedaan en veel vragen en antwoorden op ad hoc basis via Slack uitgewisseld. Omdat onze klanten niet met de PoC in aanraking zouden komen, konden we de tickets wat algemener houden: soms ging het om het verbeteren van onderdelen waarbij het genoeg was om te laten zien of een bepaalde functie zou gaan werken. We hebben wel refinement-sessies gedaan: weet iedereen wat nu de bedoeling is? Na iedere sprint kregen we direct nieuwe testversies opgeleverd.”  

“Ook zonder strenge agile principes kan je prima in een agile cadans werken. Het NetRom team beschikte over voldoende gespecificeerde instructies en we hielden ons aan een nauwgezette planning. Uiteindelijk had het project best kenmerken van een Kanban-aanpak.” Kanban is een visuele methode om werkprocessen inzichtelijk te maken met als doel het optimaliseren van doorlooptijden.  

Duidelijkheid over toekomstige technologiekeuzen 

In minder dan drie maanden heeft het team een app opgeleverd die aan alle technische eisen voldeed, zegt Kouwenhoven tevreden. “Daarmee heeft NetRom voor NLZIET een theorie gevalideerd, die voor ons bepalend is voor de technologiekeuzes die we de komende tijd moeten maken. We weten nu dat React Native als nieuwe technologie geschikt is voor ons platform. En we weten ook wat er moet gebeuren om de overstap naar die nieuwe technologie te maken. Natuurlijk zijn we tijdens het ontwikkelwerk ook op problemen gestuit. Zo hebben we door dit project learnings kunnen verzamelen over heel specifieke functionaliteiten van de app waarbij React Native obstakels oplevert.” 

“Wanneer de uitkomst zou zijn dat React Native geen geschikte oplossing zou zijn, dan waren we verdergegaan met onze bestaande technologiestack. Het is bovendien nog geen noodzaak om meteen over te stappen, het is niet zo dat legacy als een molensteen om onze nek hangt.” 

Meerwaarde van de samenwerking 

Het project heeft ook andere inzichten opgeleverd. “Het team van NLZIET is nu nog relatief klein en daardoor kent iedereen elkaar en gaat samenwerken heel gemakkelijk. Dat is een goede basis om je app-development in eigen huis te doen: iedereen zit dan dichter op de bal. Dat draagt bij aan snelheid en kwaliteit. Maar gezien de complexiteit van die nieuwe technologie zou er flink wat tijd nodig zijn om het IT-team van NLZIET goed toe te rusten. Je moet wel in staat zijn om het werken met een nieuwe technologie volledig te absorberen in je eigen organisatie. Zo’n team moet je opbouwen, laat staan dat je de mensen moet vinden.”  

“Een andere positieve uitkomst van het project is dat we hebben ervaren dat we heel goed kunnen samenwerken met NetRom,” zegt Kouwenhoven. “Als er ooit een groot project is waar we zelf in vastlopen, is dat zeker een optie die we achter de hand houden. Ook kan ik me iets voorstellen bij een ontwikkeltraject met een hybride start, waarin we samen met NetRom aan de slag gaan en geleidelijk steeds meer zelf gaan doen.” 

Over NLZIET

Met NLZIET kijk je live tv én on demand, allemaal in één handige app. Volg je favoriete programma’s live, kijk vooruit naar afleveringen die nog op tv moeten komen, of binge complete series. Met andere woorden, als kijken bepaal je zelf wat je kijkt, maar ook wanneer. NLZIET is een uniek samenwerkingsverband tussen de grote Nederlandse zendergroepen RTL, NPO en Talpa TV, gelanceerd in 2014. Sinds 2018 is NLZIET te gebruiken in de hele EU. Het bedrijf is gevestigd in Hilversum. Er werken 30 mensen bij NLZIET.

Op zoek naar betrouwbare softwareontwikkelingsdiensten?
Ontdek hoe we kunnen helpen.