Ieder blogpost zou moeten beginnen met een catchy liedje als introductie. Niet schrikken als we jullie ooit eens rickrollen (did you click it?! :D).

De titel voor deze blogpost zou dan 100% zeker moeten starten met de gouden oude van Wham die je vrolijk wekt omdat je moet gaan: Wake me up before you go-go!

Vorig academiejaar ontwikkelde 2EA student Koen Schauwaert een pareltje van een app, Wakification. Het begon allemaal als een opdracht binnen Mobile Development, maar van zodra Koen de smaak te pakken had ontwikkelde hij de opdracht door tot een full-blown app die ook in de playstore terug te vinden is (zie onderaan de post voor meer info).

Omdat het saai is de app zelf voor te stellen gaan we dit laten doen door de ontwikkelaar ervan zelf. Klik dus razendsnel op de ‘read more/meer lezen’ hieronder om te ontdekken hoe de app tot stand kwam en wat Wakification voor jou kan betekenen…en geloof ons, je zal hem kunnen gebruiken!

 

Aan u het woord Koen:

“Waar ik aan het eind van het eerste leerjaar nog niet het idee dat ik echt iets kon ontwikkelen met de kennis die ik had, veranderde dit volledig aan het begin van het tweede leerjaar. Na een zomervakantie gespendeerd te hebben met HMTL, CSS en JavaScript – websites ontwikkelen – maakte ik eind september voor het eerst kennis met Android en de taal Java.

Na wat “simpele” opdrachten in Android Studio – het programma waarin ik voor Android heb leren ontwikkelen – om de taal, syntax en het programma beter te leren kennen, werd het tijd voor een volwaardige app. Deze moest aan het einde van het semester worden gepresenteerd, in de vorm van een wedstrijd.

Dit mocht in tweetallen en samen met een klasgenoot zijn we begonnen aan een app om het huidige weer te laten zien, maar ik verloor mijn interesse hierin al gauw. Ik wist dat wanneer we dit samen zouden maken, we allebei voor de helft Java zouden kennen. En omdat ik zeer gecharmeerd was (en ben) van het Android besturingssysteem, heb ik besloten om er ook een eigen app naast te ontwikkelen. Ik wilde deze programmeertaal echt zelf onder de knie krijgen. Na lang nadenken over een alternatieve app, ben ik op het volgende idee gekomen: een app die de gebruiker wakker maakt op basis van GPS. Zo zou ik mijn halte niet meer missen, wanneer ik in de bus wil slapen.

Zo’n acht maanden later was daar de eerste, publiekelijk beschikbare, bèta versie van ‘Wakification’.

De allereerste versie van ‘Wakification’

Ik ben begonnen met het uitzoeken hoe Android iemands locatie op kan vragen en dit kan laten zien op een kaart. Ook moest er een eindbestemming ingevoerd kunnen worden en de afstand ertussen moest ook berekend worden.

De gebruikers eigen locatie op de kaart, moest eens in de zoveel tijd worden geüpdatet, liefst vaker naarmate de gebruiker dichterbij zijn/haar eindbestemming zou komen.

Bij het bereiken van de eindbestemming, moest er een alarm afgaan. Voor het inschakelen van zo’n alarm, zijn punten (Wakeys) nodig, die je verzamelt door advertenties te kijken. Dit zou de inkomstenbron van mijn gratis app worden.

Deze eerste versie is voor de klas gepresenteerd en heeft de meeste stemmen behaald. Door deze positieve uitpak, ben ik met veel enthousiasme in mijn eigen tijd verder gegaan. De app was namelijk nog lang niet af, want hij werkte niet in de achtergrond wanneer het scherm van je telefoon uit staat. En dat is wel de bedoeling.

Op naar de volgende versie

Android heeft een methode genaamd WakeLock om de telefoon uit z’n slaap te halen om iets uit te voeren. WakeLock mag niet constant ingeschakeld staan, omdat dit teveel batterij verbruikt. Naarmate je dichterbij de eindbestemming komt, wordt de WakeLock vaker aangesproken voor een betrouwbaar wakker-wordt resultaat.

Ook moest het gemakkelijk zijn een locatie in te tikken, zonder steeds over de kaart te moeten vegen, opzoek naar je eindbestemming. Het zou ook handig zijn, mocht je een locatie kunnen opslaan. En  het zou helemaal mooi zijn, mochten de Wakeys ingezet kunnen worden om thema’s te kopen.Zo gezegd, zo gedaan. Een nieuwe versie kwam uit met thema’s, opgeslagen locaties, een zoekfunctie en een goed werkende WakeLock. De app liep alleen met regelmaat vast en de lay-out zat me niet helemaal lekker: teveel knopjes.

Links: de standaard lay-out.
Midden & Rechts: de instellingen met haar thema-opties.

 

 

Over een andere boeg

Doordat ik hier veel in mijn vrije tijd en vaak in de late avonduren mee bezig was, bleef deze app in mijn hoofd rondspoken, zodra ik wilde gaan slapen. Tijdens zo’n late-night-pieker sessie kreeg ik een ingeving om mijn app volledig aan te passen, vooral op gebied van gebruikersgemak.

Ik ben me gaan verdiepen in UX (User Experience) binnen Android en heb de gehele lay-out omgegooid. Als gebruiker moet je namelijk bij opstarten direct in de lijst met opgeslagen locaties komen – veel gebruikers zullen steeds op dezelfde punten wakker gemaakt willen worden. Mocht er toch een nieuwe locatie moeten worden toegevoegd, dan kan de gebruiker probleemloos naar de kaart om een nieuwe locatie op te slaan.

In de bovenstaande versies kon de gebruiker de grootte van de cirkel bepalen waarin hij/zij wakker gemaakt wordt – dit heb ik weggehaald, aangezien een kleinere cirkel sneller overgeslagen wordt, wanneer deze niet goed zou worden berekend. Daarnaast maakt het de lay-out onoverzichtelijk.

De thema’s en andere instellingen wilde ik in een zogenaamde Settings Activity stoppen, wat er voor zorgt dat de app nog meer aan de Android UX eisen voldoet.

Verder kan er enkel gekozen worden tussen een licht of donker thema met daarbij verschillende accentkleuren om de boel wat op te vrolijken en te personaliseren.

Deze versie is uiteindelijk eind mei als bèta gelanceerd in de Google Play Store, onder mijn in april opgerichte bedrijf ‘Overnight Projects’.

Opgeven?

Vanuit mijn klas en vrienden en familie rondom, heb ik veel feedback gekregen. Zo kwam ik er achter dat de app prima werkte mijn eigen telefoon, maar dat de werking compleet veranderd op een ander toestel.

Links: een oudere Samsung telefoon met Android 4.4. en een lage DPI;
Midden: een nieuwere Nexus 5X telefoon met Android 7.0 en een hoge DPI;
Rechts: de kaart die niet wilde laden.

De moed zakte me toen in de schoenen. Moet ik nu echt voor elke telefoon een andere versie schrijven? Gelukkig zijn hier trucjes voor en kan ik grote apparaten, zoals tablets, uitsluiten om mijn app te downloaden. Daarnaast moest de API van mijn kaart opengesteld worden voor release en niet enkel voor debugging (testen). Je moet het maar weten.

Examens versus ‘Wakification’

De timing leek perfect, aangezien de examens halverwege juni zouden starten – not. Door mijn tijd zo goed mogelijk te verdelen, ben ik deze examenperiode doorgekomen met slechts twee herkansingen (één ervan was van het semester ervoor).

Het enige dat mij nu nog resteerde was het maken van een duidelijke tutorial en het uitbrengen van een ‘Wakification PRO’ versie, zodat de app volledig bruikbaar is zonder advertenties te moeten kijken.

Deze twee variaties heb ik onlangs gepubliceerd.

Benieuwd naar hoe Wakification er nu uit ziet? Download ‘m zou ik zeggen!

Er staan nog wel een aantal features in mijn todo lijst:

  • Ondersteuning voor Android Wear;
  • Ondersteuning voor Pebble (heb er zelf een, vandaar).

Op de hoogte blijven van deze app en alles wat de toekomst mij nog te bieden heeft? Like ‘Overnight Projects’ Facebookpagina op www.facebook.com/overnightprojects.nl

Koen