blog

Hoe Flutter ons parkeerprobleem op gaat lossen

Als onderdeel van Handpicked Agencies, ervaren alle labels op kantoor hetzelfde probleem: onze (kleine) parkeerplaats staat altijd vol. En hoewel we in deze bijzondere tijd zoveel mogelijk thuiswerken, willen we voorbereid zijn wanneer collega’s weer op kantoor gaan werken. 

Een aantal jaar geleden begonnen we massaal met het inparkeren van onze collega’s. Niet zo fijn voor degenen die ergens heen willen gaan en erachter komen dat hun auto is ingeparkeerd. Een Google Spreadsheet met kentekens leek de oplossing voor het probleem. Zo kon je collega’s op de hoogte brengen, mocht je ze ingeparkeerd hebben. Dat werkte redelijk voor een lange tijd. Maar niet iedereen hield de sheet netjes bij of stuurde mensen een berichtje. Het was ook niet altijd even makkelijk: uitstappen, kentekens onthouden, eenmaal aan je bureau de sheet op Google Drive openen, kentekens zoeken en vervolgens je collega’s een bericht sturen. Je vergat daarbij nog wel eens een getal of letter op weg naar je werkplek, waardoor je weer terug naar de parkeerplaats kon... 

Dat moet makkelijker kunnen, toch? Waarschijnlijk denk je, waarom breiden jullie de parkeerplaats niet uit? Helaas, daar hebben we geen ruimte voor. Maar als digital agency dachten we natuurlijk meteen aan een digitale oplossing: een app ontwikkelen. Het idee bleek enorm succesvol te zijn en daarom besloten we de app uit te breiden. En met onze nieuwsgierigheid naar nieuwe technieken besloten we de nieuwe versie van de app te ontwikkelen in Flutter.   

Wat is Flutter?

Flutter is ontwikkeld door Google om vanuit één codebase twee native gecompileerde apps te kunnen ontwikkelen. Simpelweg betekent dit dat je eenmaal een app ‘schrijft’, die door Flutter wordt omgezet tot een native iOS én Android app. Dat vermindert de ontwikkeltijd van een app aanzienlijk en daarmee ook de investeringskosten. En ook belangrijk: Bijna iedereen kan de app gebruiken, omdat deze werkt op de twee grootste typen besturingssystemen.

Waarom ontwikkelen we dan niet alles in Flutter?

Daar is een simpele verklaring voor. Niet alle ideeën zijn namelijk geschikt om in Flutter uit te werken. Op het eerste gezicht zou je denken dat Flutter een prima oplossing is voor alle projecten waarbij een app wordt ontwikkeld. De praktijk leert ons dat voor de apps die wij ontwikkelen, we nog vaak een native oplossing nodig hebben. Bijvoorbeeld voor apps die communiceren met andere apparaten door middel van bluetooth, of apps die gebruik maken van augmented reality (AR). De ondersteuning voor het implementeren van deze functionaliteiten is helaas nog minimaal in Flutter. De implementatie van bluetooth in een app is uitdagend en vaak complex. Het communiceren door middel van bluetooth is mogelijk met Flutter, maar vereist het gebruik van open source packages. Dat betekent dat ze worden onderhouden door de community en we dus afhankelijk zijn van anderen. Het is mogelijk, maar gebruik is ‘op eigen risico’. Dat past niet bij de mate van kwaliteit waarmee wij apps beschikbaar stellen voor de eindgebruiker. Daarnaast is de gebruikerservaring van native apps vaak nog steeds beter in vergelijking met apps die ontwikkeld zijn met Flutter of andere frameworks.

Natuurlijk gebruiken we niet in elke app bluetooth of AR. Voor de uitwerking van minder complexe ideeën, kan Flutter daarom een goed alternatief zijn ten opzichte van native ontwikkeling. Echter maken we die keuze per app, omdat we op voorhand al rekening houden met de toekomstplannen van de klant. Welke functionaliteiten dient de app in de eerste fase te bevatten en welke functionaliteiten staan er op de backlog? De keuze is dus niet voor iedere app zo vanzelfsprekend als men denkt.
 

Voor welke apps is Flutter dan wel geschikt?

Bijvoorbeeld voor onze parkeerapp: Handpicked Parking. Bedoeld om alle parkeerfrustraties bij het kantoor weg te nemen. Het idee is, net als de uitwerking, simpel. De app bevat een lijst met kentekens en voertuiginformatie van alle medewerkers binnen Handpicked Agencies. Kom je ‘s ochtends op kantoor aan en is er geen plek meer? Geen nood, dan parkeer je gewoon iemand in. Stap uit je auto, neem een foto van het kenteken van de auto die je hebt ingeparkeerd en verstuur via de app een bericht naar je collega. Op basis van je foto zoekt de app naar het kenteken en de gegevens van de eigenaar van de auto. Dat doet de app niet zelf, daarvoor maakt het gebruik van de OpenALPR (Automatic License Plate Recognition) service. Naast het maken van een foto, kun je natuurlijk ook handmatig zoeken op kenteken of naam. Voor apps à la Handpicked Parking, is Flutter dus een goede keuze. Simpele apps, die niet te groot zijn en in functionaliteit niet te ingewikkeld.

Is mijn app geschikt voor Flutter?

Dat zoeken we graag samen met je uit! Aan de hand van gewenste functionaliteiten, komen we samen al snel tot een goede keuze. Wil je hier eens met ons over brainstormen? Neem gerust contact op.