My minor
Picture for Advice article

Advice

Fitphone

Voor het ontwikkelen van de Fitphone app heb ik de overige developers geadviseerd om Storybooks te gebruiken bij de ontwikkeling van components. Storybook is een library voor het ontwikkelen en testen van componenten in isolatie. Ik merkte tijdens de ontwikkeling dat de components rechtstreeks in de UI getest werden. Dit zorgde voor een irritante ervaring voor de reviewer van een merge request. De reviewer van zo’n merge request kon niet snel zien of een component juist gemaakt was.

Op mijn werk heb ik kennis gemaakt met Storybooks wat goed werkt voor het testen en ontwikkelen van componenten. Ik heb eerst onderzoek gedaan of Storybook ook gebruikt kan worden voor React Native. Ik heb vervolgens een prototype ontwikkeld en in de app geintegreerd. Voor de overige developers was het onduidelijk wat een Storybook precies was dus heb ik een tutorial gegeven voor de groep. De slides van de presentatie zijn te vinden via [http](deze link).

Vervolgens is iedereen aan de slag gegaan met Storybooks wat er voor heeft gezorgd dat de UI componenten gedocumenteerd worden. Mocht de app doorontwikkeld worden kan deze documentatie overgedragen worden.

Hybrid

Voordat Coen en ik zijn begonnen aan de realisatie, hebben wij eerst onderzoek gedaan naar welk hybrid framework het meest geschikt is voor onze app. De resultaten van dit onderzoek zijn terug te vinden via deze canvas link. Ons app idee is een walkie-talkie clone voor op de smartphone. De walkie-talkie heeft een aantal hardware specifieke eisen zoals het gebruik van de microfoon en de speakers. Wij hebben deze eisen meegenomen in ons onderzoek en zijn vervolgens prototypes uit gaan bouwen voor de volgende frameworks:

  • React Native
  • Flutter
  • Ionic
  • NativeScript

Wij hebben uiteindelijk gekozen voor React Native. De keuze viel tussen React Native en Flutter omdat deze twee frameworks erg populair zijn, een goed ecosysteem hebben en beide zeer performant zijn. Ook hebben wij gekeken naar de developer experience, die wij beide bij React Native net iets fijner vinden omdat het zo veel weg heeft van React. Dit is een groot pluspunt voor mij aangezien ik met mijn huidige React kennis een snelle start kan maken met hybrid app development. Twee vliegen in één klap. 🦟👏🏻

Het onderzoek is beoordeeld door Marcel waar hij de volgende feedback op had:

  • Gebruik vooraf opgestelde criteria en vragen ipv Pro's en Con's en kom dan daar op terug bij je onderzoeksresultaten.
  • Maak gebruik van triangulatie voor je onderzoeksvragen
  • Er waren nog geen hoofd- en deelvragen beschreven

Deze feedback hebben wij verwerkt en opnieuw laten controleren waarop Marcel de volgende feedback gaf:

Jullie hebben de feedback goed verwerkt in een geupdatet document dat we zojuist hebben besproken.

Android

Tijdens het ontwikkelen van onze "Red light, green light" hebben wij meerdere sensoren getest die bij onze use case kunnen passen:

  • Gyroscope
  • Accelerometer
  • Motion detector
  • Step counter

Voor ons concept dachten wij dat de step counter de juiste sensor was voor het detecteren van voetstappen. Tijdens het testen bleek al snel dat de step counter bedoelt is voor lange afstanden, aangezien de stappen niet meteen geregistreerd werden maar na tientallen stappen. Een oplossing voor dit probleem was het switchen van 'actie' voor het detecteren van beweging. Als nieuwe actie hebben wij gekozen voor het shaken van de mobiel, hiervoor hebben wij de accelerator sensor gebruikt. De step counter is dus meer bedoelt voor het tellen van stappen over lange afstanden. De accelerator kan gebruikt worden om de x, y en z waarde uit te lezen van de mobiel, wat in ons geval een shake detecteert.

Freaky friday

Ik heb een NS monitor in de basis uitgewerkt maar dat is niet waar dit project stopt. Ik ben van plan de volgende features toe te voegen:

  • Philips Hue integratie. Ik denk hierbij aan het tonen van een rood licht wanneer er een vertraging is op mijn traject,
  • Een scherm waar het huidige weer op te zien is en vervolgens roteerd tussen de monitor en het weer.
  • Het ophalen van NS disruptions (in het geval dat een trein langer uitvalt)
  • FullscreenOS installeren zodat de raspberry fullscreen een browser opstart bij een boot. In dit geval kan ik FullscreenOS zo instellen dat de React applicatie opgestart wordt.
Picture of Roy Appeldoorn

By Roy Appeldoorn