< Terug naar alle projecten

Jimi @ NPO

Maak kennis met Jimi, Mobile Developer bij FreshMinds

Misschien heb jij Jimi’s werk wel in je broekzak zitten. Via FreshMinds werkt hij aan de gebruiksvriendelijkheid van een app van de Nederlandse Publieke Omroep.

Struggles oplossen

Jimi Duiveman is mobile developer bij FreshMinds, waarbij hij zich heeft gespecialiseerd in iOS (Swift) en Android (Kotlin). In zijn minor programmeren tijdens zijn studie informatiekunde aan de UvA maakt hij kennis met native iOS-development: “Ik vond het heel tof dat je met zo’n mooi, simpel platform een technologische oplossing zo in iemand broekzak kan stoppen, op z’n telefoon. Je kunt iemands dagelijkse struggles oplossen!”.

Developer én designer

Het liefst bouwt Jimi direct voor de consument. Via een familielid maakt hij kennis met FreshMinds: “Dat sprak me meteen aan: een jonge onderneming met toffe projecten en veel mogelijkheden om direct iets voor klanten te maken. Ik ging aan de slag bij de Nederlandse Publieke Omroep (NPO): een bedrijf met een enorm maatschappelijk belang en… veel eindgebruikers!”. Dat je met je oplossing zo snel in aanraking komt met je eindgebruiker is precies hetgeen wat Jimi zo aantrekt in Mobile: “Je bent bezig met de UI-laag, wat de gebruiker ziet, maar ook de technologie die erachter zit: wat voor de UI zorgt, wat de data verwerkt, etc. Wanneer je met mobile bezig bent, ben je niet alleen diehard backend developer, of alleen designer. Je bent beide! We brengen steeds meer tijd door op onze telefoon: die is veel toegankelijker dan een website op een laptop.”

Grote uitdagingen

In een app voor een publieke omroep staat accessibility hoog op de prioriteitenlijst: de app moet voor iedereen bruikbaar zijn. De app moet spraak-elementen hebben voor gebruikers met verminderd of geen zicht, zodat zij deze ook kunnen ‘zien’. Ook moet je rekening houden met kleurenblindheid. Je bent heel veel bezig met de eindgebruiker: hoe zorg ik ervoor dat het voor iedereen aantrekkelijk is? Van FunX-luisteraar tot Radio 4-fan. Nogal een uitdaging, zeker als je bedenkt dat er gewerkt wordt met één codebase. “Maar dat maakt het ook juist interessant”, aldus Jimi. “Elke zender heeft een eigen coördinator, manager, productmanager, noem het maar op. Die hebben allemaal eigen verzoeken en eigen mensen, maar je gebruikt nog steeds die ene codebase om alle zenders te bedienen. De grootste uitdaging is om dat allemaal met elkaar te rijmen en tegelijkertijd de app onderhoudbaar te houden.” 

Flavors verschillen

Maar hoe ga je dan om met al die verschillende wensen en eisen op technisch vlak? “Door flexibel te werk te gaan. We werken in Android Studio en maken daarin gebruik van ‘flavors’. Zo kunnen we de UI helemaal configureren op basis van de wensen van de verschillende zenders. Zo kan Radio 1 er bijvoorbeeld voor kiezen om ‘nieuws’, ‘podcasts’ en ‘instellingen’ in het menu te zetten en kan Radio 4 ervoor kiezen om ‘nieuws’ juist uit het menu te laten. Daarnaast heb je te maken met specifieke verzoeken die geïmplementeerd moeten worden aan de algemene codebase of alleen aan een flavor. In iOS werkt dit overigens hetzelfde, maar dan werk je met zogenaamde ‘targets’ in plaats van met ‘flavors’. Hoewel ik voornamelijk aan de Android-kant werk ondersteun ik ook de iOS-developers.

Topnotch player

Om de uitdaging nog groter te maken, moet er ook rekening gehouden worden met de overstap naar een nieuwe player-component: “De app bestaat vooral uit luister-functies. De player is dus een heel groot component: daarmee staat of valt de app. De huidige versie van deze app gaat al 6 of 7 jaar mee. Toen waren er nog geen heel uitgebouwde players. Nu is er een contract afgesloten met Bitmovin, een player-component die ook gebruikt wordt door onder andere de BBC en RTL. Aan ons de uitdaging om die succesvol te implementeren!”.

Hoe vlieg je zoiets aan? “Door per component te kijken wat we kunnen hergebruiken en wat er opnieuw geschreven moet worden. Soms kun je dingen enorm opschonen en andere dingen bestaat nog niet, dus die moeten gebouwd worden. De eerste 2 sprints besteedt je voornamelijk aan het creëren van een algemeen plaatje van waar je naartoe wilt. Op basis daarvan kun je een inschatting maken van de roadmap: wat verander je aan de basis voor een goede start, welke componenten kun je meteen oppakken en waar gaan andere developers uit je team mee aan de slag. Zo kom je stukje voor stukje, beetje voor beetje bij je eindproduct.”

Naast Kotlin en Swift werkt Jimi met nog veel meer andere software en frameworks: “De architectuur van de app is Model-view-viewmodel. Daarnaast gebruiken de de Material Design Components-Library van Android voor de UI en de presentatie. Verder maken we gebruik van verschillende 3rd part libraries, bijvoorbeeld voor dingen als image loading in de messaging.”. 

Waarom FreshMinds

Het samenwerken met andere developers gaf voor Jimi de doorslag om de overstap te maken van ‘Big 4’-consultancybureau naar FreshMinds: “Bij mijn vorige werkgever werkte ik vaak zonder collega's van het eigen team aan een project. Ik moest mijn eigen facturen schrijven en dan zie je het uurloon dat gerekend wordt. In je hoofd reken je dan door wat je er zelf aan overhoudt. De constructie die FreshMinds biedt is veel eerlijker: “je wordt beloond voor het werk dat je doet”. Ook de leuke informele sfeer, de aandacht aan persoonlijke ontwikkeling, de uitjes en de verscheidenheid aan opdrachtgevers waar je zelf uit kunt kiezen maken FreshMinds volgens Jimi aantrekkelijk.

Wil jij net zoals Jimi ook zelf kiezen in welke opdracht jij je tanden zet? Bekijk snel onze vacatures voor mobile-developer en solliciteer direct. Tot snel!

< Terug naar alle projecten
Jimi @ NPO
Maak kennis met Jimi, Mobile Developer bij FreshMinds

Maak kennis met Jimi, Mobile Developer bij FreshMinds

Misschien heb jij Jimi’s werk wel in je broekzak zitten. Via FreshMinds werkt hij aan de gebruiksvriendelijkheid van een app van de Nederlandse Publieke Omroep.

Struggles oplossen

Jimi Duiveman is mobile developer bij FreshMinds, waarbij hij zich heeft gespecialiseerd in iOS (Swift) en Android (Kotlin). In zijn minor programmeren tijdens zijn studie informatiekunde aan de UvA maakt hij kennis met native iOS-development: “Ik vond het heel tof dat je met zo’n mooi, simpel platform een technologische oplossing zo in iemand broekzak kan stoppen, op z’n telefoon. Je kunt iemands dagelijkse struggles oplossen!”.

Developer én designer

Het liefst bouwt Jimi direct voor de consument. Via een familielid maakt hij kennis met FreshMinds: “Dat sprak me meteen aan: een jonge onderneming met toffe projecten en veel mogelijkheden om direct iets voor klanten te maken. Ik ging aan de slag bij de Nederlandse Publieke Omroep (NPO): een bedrijf met een enorm maatschappelijk belang en… veel eindgebruikers!”. Dat je met je oplossing zo snel in aanraking komt met je eindgebruiker is precies hetgeen wat Jimi zo aantrekt in Mobile: “Je bent bezig met de UI-laag, wat de gebruiker ziet, maar ook de technologie die erachter zit: wat voor de UI zorgt, wat de data verwerkt, etc. Wanneer je met mobile bezig bent, ben je niet alleen diehard backend developer, of alleen designer. Je bent beide! We brengen steeds meer tijd door op onze telefoon: die is veel toegankelijker dan een website op een laptop.”

Grote uitdagingen

In een app voor een publieke omroep staat accessibility hoog op de prioriteitenlijst: de app moet voor iedereen bruikbaar zijn. De app moet spraak-elementen hebben voor gebruikers met verminderd of geen zicht, zodat zij deze ook kunnen ‘zien’. Ook moet je rekening houden met kleurenblindheid. Je bent heel veel bezig met de eindgebruiker: hoe zorg ik ervoor dat het voor iedereen aantrekkelijk is? Van FunX-luisteraar tot Radio 4-fan. Nogal een uitdaging, zeker als je bedenkt dat er gewerkt wordt met één codebase. “Maar dat maakt het ook juist interessant”, aldus Jimi. “Elke zender heeft een eigen coördinator, manager, productmanager, noem het maar op. Die hebben allemaal eigen verzoeken en eigen mensen, maar je gebruikt nog steeds die ene codebase om alle zenders te bedienen. De grootste uitdaging is om dat allemaal met elkaar te rijmen en tegelijkertijd de app onderhoudbaar te houden.” 

Flavors verschillen

Maar hoe ga je dan om met al die verschillende wensen en eisen op technisch vlak? “Door flexibel te werk te gaan. We werken in Android Studio en maken daarin gebruik van ‘flavors’. Zo kunnen we de UI helemaal configureren op basis van de wensen van de verschillende zenders. Zo kan Radio 1 er bijvoorbeeld voor kiezen om ‘nieuws’, ‘podcasts’ en ‘instellingen’ in het menu te zetten en kan Radio 4 ervoor kiezen om ‘nieuws’ juist uit het menu te laten. Daarnaast heb je te maken met specifieke verzoeken die geïmplementeerd moeten worden aan de algemene codebase of alleen aan een flavor. In iOS werkt dit overigens hetzelfde, maar dan werk je met zogenaamde ‘targets’ in plaats van met ‘flavors’. Hoewel ik voornamelijk aan de Android-kant werk ondersteun ik ook de iOS-developers.

"Met mobile development is het vrij simpel om een technologische oplossing in iemands broekzak te stoppen"

Topnotch player

Om de uitdaging nog groter te maken, moet er ook rekening gehouden worden met de overstap naar een nieuwe player-component: “De app bestaat vooral uit luister-functies. De player is dus een heel groot component: daarmee staat of valt de app. De huidige versie van deze app gaat al 6 of 7 jaar mee. Toen waren er nog geen heel uitgebouwde players. Nu is er een contract afgesloten met Bitmovin, een player-component die ook gebruikt wordt door onder andere de BBC en RTL. Aan ons de uitdaging om die succesvol te implementeren!”.

Hoe vlieg je zoiets aan? “Door per component te kijken wat we kunnen hergebruiken en wat er opnieuw geschreven moet worden. Soms kun je dingen enorm opschonen en andere dingen bestaat nog niet, dus die moeten gebouwd worden. De eerste 2 sprints besteedt je voornamelijk aan het creëren van een algemeen plaatje van waar je naartoe wilt. Op basis daarvan kun je een inschatting maken van de roadmap: wat verander je aan de basis voor een goede start, welke componenten kun je meteen oppakken en waar gaan andere developers uit je team mee aan de slag. Zo kom je stukje voor stukje, beetje voor beetje bij je eindproduct.”

Naast Kotlin en Swift werkt Jimi met nog veel meer andere software en frameworks: “De architectuur van de app is Model-view-viewmodel. Daarnaast gebruiken de de Material Design Components-Library van Android voor de UI en de presentatie. Verder maken we gebruik van verschillende 3rd part libraries, bijvoorbeeld voor dingen als image loading in de messaging.”. 

Waarom FreshMinds

Het samenwerken met andere developers gaf voor Jimi de doorslag om de overstap te maken van ‘Big 4’-consultancybureau naar FreshMinds: “Bij mijn vorige werkgever werkte ik vaak zonder collega's van het eigen team aan een project. Ik moest mijn eigen facturen schrijven en dan zie je het uurloon dat gerekend wordt. In je hoofd reken je dan door wat je er zelf aan overhoudt. De constructie die FreshMinds biedt is veel eerlijker: “je wordt beloond voor het werk dat je doet”. Ook de leuke informele sfeer, de aandacht aan persoonlijke ontwikkeling, de uitjes en de verscheidenheid aan opdrachtgevers waar je zelf uit kunt kiezen maken FreshMinds volgens Jimi aantrekkelijk.

Wil jij net zoals Jimi ook zelf kiezen in welke opdracht jij je tanden zet? Bekijk snel onze vacatures voor mobile-developer en solliciteer direct. Tot snel!

PREVIOUS
Wil je meer weten over werken bij ons?
NEXT
PREVIOUS
PREVIOUS