Creator Surfcheck brengt water in kaart
Wat zouden mobiele besturingssystemen zonder ze zijn: apps! Honderden zijn er te vinden voor vrijwel elk doel dat je in gedachten hebt. Enkele van deze apps hebben we te danken aan de creator van deze week: Martijn de Meulder, appmaker in hart en nieren. We vragen hem naar zijn ervaringen met het ontwikkelen en marketen van ruim 60 actieve applicaties.
Surfer overdag, appgoeroe na zonsondergang
Het maken van apps was niet Martijns eerste passie. Tijdens zijn opleidingen Landmeetkunde en Journalistiek was hij regelmatig te vinden aan het strand met een surfplank onder zijn arm, smachtend naar de juiste weersomstandigheden. Om niet urenlang op de juiste golf te wachten, besloot hij in 2004 een PHP-script te schrijven dat actuele Noordzeegegevens vanuit Rijkswaterstaat uitleest. Dit project sloeg zo goed aan onder zijn medesurfers, dat het vijf jaar later uitgroeide tot zijn allereerste Android-app: Surfcheck.
Hij had gelijk de smaak te pakken en stortte zich ook in de wereld van programmeren voor iOS en Windows Phone. Onder de naam Surfcheck heeft hij inmiddels tientallen apps uitgebracht voor het bijhouden van het weer, verkeer en watergegevens. Een van zijn laatste en grootste projecten is Waterkaart Nederland. Hierin heeft hij veel informatie uit zijn andere apps samengevoegd om zo de meest complete waterkaart van Nederland te maken. De app is gebaseerd op het kaartmateriaal van het Nederlandse Kadaster en bevat meer dan honderdduizend nautische objecten die op de kaart worden getoond. Denk hierbij aan livewaterstanden, getijcurves, het actuele zeeweer, diepteprofielen, zwemwaterkwaliteit en gegevens van KNRM-stations.
Waterkaart Nederland op de mobiel
Het maken van zo’n complete app ging natuurlijk niet zonder slag of stoot. Martijn deelt zijn ervaringen: 'De gegevens over boeien, hun topmarkeringen, vaste markeringen en lichten staan in verschillende databronnen opgeslagen. Om alle informatie op een zinnige manier in één database met elkaar te combineren, is het nodige denkwerk vereist. En daarna moet je ook zorgen dat de juiste iconen op de kaart verschijnen. Dat heeft ontzettend veel tijd gekost, zowel in de opzet als het debuggen.
Daarnaast heb ik de nodige tijd verloren in het verkrijgen van diepteprofielen. Dit is geen open data en daarom moest ik aankloppen bij verschillende afdelingen van de Dienst der Hydrografie en Rijkswaterstaat om deze gegevens te verkrijgen. Uiteindelijk was dit geen technisch, maar meer een logistiek obstakel. Hoe pak je zoiets aan? Hoe stel je de juiste vraag aan de juiste overheidsdienst? Gelukkig zijn alle gegevens inmiddels binnen en ben ik op dit moment bezig met de visualisatie ervan.
Het werk in uitvoering is nu al te bekijken op de website van Waterkaart. Kijk vooral eens in het gebied rondom Den Helder, daar zie je zowat alle kenmerken die de app te bieden heeft. Spectaculair!’
‘Appviezen’
Het programmeren van tientallen apps voor drie besturingssystemen brengt de nodige wijze lessen met zich mee. We vragen Martijn dan ook naar tips voor de startende developer. Martijn adviseert: ‘Netjes werken hè! Het advies van Robèrt van Beckhoven tijdens Heel Holland Bakt geldt niet alleen voor het bakken van taarten. Tijdens het programmeren van grote projecten als een applicatie is het essentieel dat je secuur te werk gaat en je emoties niet de overhand laat nemen. Natuurlijk gaat het soms allemaal wat langzamer en mis je bepaalde kennis, maar laat je code niet het slachtoffer worden van je frustraties. Kleine doordachte stapjes zijn vaak beter dan spontaan kunst- en vliegwerk.
Naast geduld speelt testen misschien wel een even belangrijke rol. Ik heb bijvoorbeeld regelmatig een ander toestel op zak waarmee ik door al mijn apps loop. Een goede applicatie kan je nou eenmaal niet van één resolutie of besturingssysteemversie af laten hangen. Als er na een release onverhoopt op een vaak goedkoop en onbekend toestel toch iets niet lekker loopt, krijg ik dat gelukkig heel snel te horen van gebruikers en kan ik een bug doorgaans alsnog verhelpen. Ik probeer elke bug-melder persoonlijk te bedanken, dat is wel zo netjes.
Martijn de Meulder voert verbeteringen door
Ook als je nog niet aan het ontwikkelen van een eigen app toe bent en nog midden in het leren van een programmeertaal zit, is geduld een schone zaak en moet je het testen van geleerde code niet vergeten. Je kan niet verwachten dat er wat goeds van komt als je door de syntax en codevoorbeelden heenvliegt zonder er serieus de tijd voor te nemen. Hoe simpel een voorbeeld ook lijkt, werk het eens uit zonder de hulp van een boek of video.
Houd ook in het achterhoofd dat er altijd bepaalde randzaken zijn die niet in programmeertutorials terugkomen en waar je pas in de praktijk mee te maken krijgt. Denk aan het uitdenken van een goed concept, de manier waarop je jouw programmeerproblemen aanpakt en de verspreiding van een app na lancering. Uiteindelijk is het programmeren maar de helft van het bouwen van een goede app, bijna de sluitpost zelfs. Maar het is helemaal niet erg dat je niet gelijk alle kennis in huis hebt. Coden is vooral ook ontdekken, al dan niet met een beetje hulp van mede-coders op platformen als Stack Overflow.’
Survival of the fittest
Een punt dat Martijn graag niet achterwege laat is het beeld dat je met apps gelijk kan cashen, vooral herkenbaar bij startende app-developers. Alhoewel er zeker succesverhalen van indie-developers te vinden zijn, geldt voor de meeste gevallen eerder het tegenovergestelde. Martijn licht toe: ‘De concurrentie is enorm. Kijk maar eens naar de meest gedownloade weerapps in Nederland bijvoorbeeld. Veertien van de twintig zijn van Chinese, Oost-Europese, Amerikaanse of Indiase afkomst. De concurrentie komt dus van alle kanten, terwijl de apps inhoudelijk niet eens van goede kwaliteit zijn. De flinke downloadcijfers zijn vooral te danken aan de looks en store-optimalisatie. En ook al lijkt dit soms oneerlijk, het blijkt aan te slaan en je zal er als indie-developer ook aan moeten geloven. Gelukkig is er online genoeg informatie te vinden over dit vak apart.’
Waterkaart Nederland in de praktijk
Naast app store optimization haalt Martijn niches en specialisatie aan als middelen in de survival of the fittest. Persoonlijk ziet hij voor indie-developers de meeste kansen in apps die een bepaalde nichedoelgroep aanspreken. De marketinginspanning en -kosten voor zulke apps zijn vele malen lager dan bij de meer algemene apps en dus ook realistischer. Nadelig is dat je een kleiner volume aan installaties kan verwachten, maar dat probleem valt volgens Martijn goed op te vangen door middel van specialisatie.
‘Ik heb me met mijn apps vooral proberen te richten op het aanleveren van zo compleet mogelijke software voor mijn doelgroepen, met alle data die voor hen van belang is. Dit is voor een gemiddelde gebruiker misschien net iets te veel van het goede, maar voor mijn niche is het een goudmijn. Daar maak ik het verschil. En voor dat verschil kan ik dan net even iets meer rekenen, wat weer compenseert met het kleinere aantal installaties.
Daarnaast wordt de marketing er ook een stuk makkelijker op. Een publicatie regelen bij Tweakers met de zoveelste weerapp is nou eenmaal moeilijker dan een publicatie scoren in een erkend surfblad met een surfapp. Hetzelfde geldt voor zaken als een Adwords- of SEO-campagnes. Een nichedoelgroep is efficiënter en goedkoper te targetten.
Overigens heb je niet altijd externen nodig om je apps te promoten. Voor mij heeft cross-app promotion tot nu toe bijzonder goed gewerkt. In de ene app laat ik gedeeltelijke data zien uit één van mijn andere apps. Indien gebruikers dit nuttig vinden, kunnen ze gelijk de andere app installeren om de volledige data in te zien.’
Alle relevante informatie op je tablet of mobiel
Een TomTom voor water
Nu de complete visualisatie van Waterkaart in zicht komt, staat Martijn al klaar om zijn volgende toâÂÂdopunt aan te pakken. Met zijn app heeft hij nu een enorme verzameling van (actuele en real-time) open data over de vaarwegen van Nederland. Met deze gegevens is het mogelijk om uit te rekenen hoe lang het duurt en welke route het meest geschikt is om van A naar B te komen.
‘De grootste uitdaging die er voor Waterkaart ligt is het uitwerken van een routeringsysteem. Hoe kun je een route over water bepalen? En als je dan een route hebt, welke vaargeulen zijn geschikt voor je schip? Dat uitwerken is een enorme klus waarvoor ik op dit moment zelf de kennis niet in huis heb. Die kennis is wel benodigd om het ultieme doel van de Waterkaart te bereiken, varen in Nederland efficiënter en veiliger maken. Ik ben dan ook ontzettend blij dat TransIP me niet alleen mijn verhaal laat doen, maar mij ook op weg gaat helpen in de wereld van algoritmen en de andere benodigde technieken voor routebepaling. De eerste stap van onze samenwerking is al gezet. Het TransIP-kantoor staat opgeslagen in mijn TomTom!’
Heb jij net als Martijn een bijzonder verhaal en sta je te springen om dat met de wereld te delen? Laat het dan achter in onze Knowledge Base en kijk wat andere TransIP’ers ervan vinden!
Op zoek naar andere creatorstories voor nog meer inspiratie? Bekijk dan alle inzendingen in dit overzicht.