Bottleball
“Onderzoeksverslag MovingMonsters” Uitgevoerd door Arno Classens
[email protected]
1
1. Inhoudsopgave
Wat? Bladzijde 1. Introductie 3 2. Methodologie 4 3. Resultaten 3.1 Oriëntatie 5 3.2 Expert interview 6 3.3 Prototypen 6 4. Conclusies 7 6. Aanbevelingen 8
2
1. Introductie Tegenwoordig is er een probleem dat kinderen steeds minder bewegen. Ze zitten thuis achter verschillende game-consoles gekluisterd en komen daar nog maar zelden van af. Denk bijvoorbeeld aan een playstation, xbox maar ook aan mobiele devices zoals smartphones, tablets en ga zo maar door. De digitale wereld zorgt ervoor dat kinderen steeds minder bewegen, en beweging is juist belangrijk voor een gezonde ontwikkeling van kinderen. Maar hoe groot is dit probleem nu echt? Het probleem is uitermate groot, maar liefst 80% van de kinderen beweegt onvoldoende.
Deze game speelt dus in op beweging, maar ook op sociale contacten. Je kunt het spel namelijk met vriendjes spelen waardoor er een competitie in komt. En je wilt toch niet onderaan staan in de ranglijst met je vriendjes. Er zit dus maar een ding op eigenlijk, en dat is veel bewegen, en veel gebieden ontdekken. Het doel van dit onderzoeksverslag is om een reëel beeld te scheppen van de verschillende technische mogelijkheden. Met welke systemen kunnen we de game realiseren, wat zijn de voor- en nadelen van de systemen en wat is de beste keuze.
Nu zijn we gaan kijken hoe we dit probleem konden oplossen en hebben hiervoor een concept bedacht, namelijk een game voor de smartphone. Nu zul je meteen denken, de digitale wereld zorgt er toch voor dat de kinderen minder bewegen. Ons antwoord daarop is simpel; Dat klopt namelijk maar wij gaan hierin voor verandering zorgen. Onze game stimuleert kinderen om te bewegen. In onze game ‘MovingMonsters’ speelt beweging een belangrijke rol, hoe meer jij beweegt hoe meer je kan in het spel. Beweging wordt in het spel namelijk omgezet naar ‘energypoints’, een valuta waarmee je moet betalen in het spel. Je kunt verschillende werelden gaan ontdekken, Om een deel van een wereld vrij te spelen, moet je betalen met de energypoints. Zodra deze op zijn kun je dus weer energypoints verdienen door te bewegen. In de wereld zitten monsters verstopt die je moet verzamelen. 3
2. Methodologie Omdat het hier gaat om een technisch onderzoek zijn de methodes die worden toegepast beperkt tot 3 methodes, hieronder zie je de methodes en ook beschreven wat er per methode wordt bedoeld. Ik heb ervoor gekozen om kwalitatief onderzoek te doen, het gaat dus niet om de hoeveelheid bevindingen, maar meer om de inhoud van de bevindingen. De onderstaande onderzoekstechnieken die ik ga toepassen zijn: Deskresearch Op internet zijn er al veel voorbeelden te vinden, ik ga deze methode inzetten om te bekijken op welke manieren het mogelijk is. Hiervan worden verschillende voorbeelden gezocht waarin het duidelijk wordt of het mogelijk is, of juist niet. Er wordt gekeken of de methodes kunnen voldoen aan de minimale eisen van onze app. - Database connectie, is het mogelijk om een connectie te maken met een database om de vooruitgang van de gebruiker in op te slaan. - Stappenteller integratie, is het mogelijk om een stappenteller te integreren om de beweging van de gebruiker bij te houden - Is het mogelijk om de app daadwerkelijk te installeren op een smartphone. Expert interviews Zijn er experts op het gebied van de gevonden technieken, en wat zeggen zij over de mogelijkheden en beperkingen? Prototypen Het zelf uitproberen van de verschillende technieken, is het mogelijk en wat zijn de knelpunten van de verschillende technieken?
4
3. Resultaten 3.1 Oriëntatie Ik ben me eerst gaan oriënteren op de huidige markt, wat zijn de meest gangbare manieren om een app te programmeren en ben op onderstaande 3 mogelijkheden uitgekomen. Web-app Een web-app is een een website die geoptimaliseerd is voor een mobiel. Je kunt dit realiseren met verschillende codeertalen, zowel HTML,CSS en javascript. Als PHP. Met PHP is het ook meteen mogelijk om een databaseconnectie te maken zodat je gegevens kunt opslaan. De web-app is te bereiken via de browser van een smartphone, maar als het goed gedaan wordt ook van een laptop of PC. Het voordeel hiervan is dat je geen losstaande site en/of app hoeft te ontwikkelen. Met een web-app heb je geen toegang tot de functionaliteiten van een mobiel. Je bent dus afhankelijk van andere apps of plugins van het internet. Het is niet mogelijk om gegevens van een mobiel op te vragen, zoals de contactenlijst van een persoon. Phonegap PhoneGap is een platform waarop je een app kunt realiseren door middel van HTML, CSS en Javascript. PhoneGap kan deze app omzetten in de benodigde bestanden voor verschillende platforms. De platforms die PhoneGap ondersteunt minimaal de 3 belangrijkste devices: iOS, Android en Windows Phone. De basis-app die je realiseert kun je exporteren naar de verschillende platforms. Deze geëxporteerde apps kun je dan indienen bij de app-stores van ieder platform. Zo zijn ze te downloaden voor het ‘grote publiek’. Daarnaast zijn er verschillende plugins voor PhoneGap te installeren. Denk bijvoorbeeld aan een camera-plugin, accelerometer, contacten, push-notificaties. Eigenlijk alle benodigdheden voor een app. Native apps Native apps houdt in dat je een app realiseert voor een bepaald platform, bijvoorbeeld voor Android. Ieder platform heeft zijn eigen codeertaal en moet in een bepaalde omgeving worden gerealiseerd. De apps moeten afzonderlijk voor ieder platform worden gerealiseerd. De programmeertaal voor iOS is Swift of Objective-C. Voor Android programmeer je met de taal Java. Met een native app heb je toegang tot alle functionaliteiten van de mobiel, ook heb je toegang tot het netwerk waarmee je een connectie kan maken met een database.
5
3.2 Expert interview Ik ben me eerst gaan oriënteren op de huidige markt, wat zijn de meest gangbare manieren om een app te proMet de gevonden methodes ben ik naar een bedrijf gegaan dat veel systemen realiseert voor grotere bedrijven. Ik heb bij hem de vraag neergelegd wat zijn ervaringen zijn met de verschillende systemen. Wat zijn uw ervaringen met web-apps? Ik ben zeer te spreken over web-apps. Er komt bij mij vaak de vraag of ik een app kan realiseren. Mijn eerste vraag terug is dan, waarom wilt u een app? Vaak is het antwoord dan, dat is handig vanaf mobiel, of anderen hebben het ook. Mijn antwoord terug is dan vaak waarom ze geen web-app willen, vaak zijn de functionaliteiten niet complex, waardoor dit af te handelen is met een formulier. Een ander groot voordeel wat ik aan mijn klanten meegeef is dat een website die zowel op mobiel als een laptop goed werkt veel gebruiksvriendelijker is. Als ik daarnaast aangeef dat een web-app veel goedkoper is, is de keuze voor de klant vaak snel gemaakt. Door mijn ervaring met standaard webtalen als HTML5, CSS3 en PHP in combinatie met jQuery is het vaak eenvoudig om een web-app te maken, zonder lastige code die nodig is om een echte app te realiseren. Wat zijn uw ervaringen met PhoneGap? PhoneGap is voor mij een onbekend fenomeen. Ik heb er verschillende informatie overgelezen, maar heb mezelf hier nog niet in verdiept. Dit komt tevens ook omdat ik vaak geen functionaliteiten van een telefoon nodig heb. De klanten waar ik voor werk zijn vaak systemen met gebruikersinput en hiervan worden verslagen of rapporten opgemaakt. Dit kan vaak al worden opgelost door verschillende formulieren. Wat zijn uw ervaringen met native apps? Ik vind native apps er altijd heel gelikt uitzien. Ik heb dit zelf nooit geprogrammeerd omdat ik er kortweg geen tijd voor heb. De leertijd om te programmeren voor de verschillende devices is voor mij te hoog. Ik ben dan te lang bezig met de opdracht, wat ook hoge kosten met zich meebrengt. Ik heb eenmalig een native app opgeleverd, hiervoor was ik een samenwerking aangegaan met een partner. Het voordeel van een native app is dat je het helemaal geschikt kunt maken voor het device. Het ziet er dan heel gelikt uit, het voelt daarnaast net iets fijner aan als een web-app omdat het er gewoonweg voor gemaakt is.
3.3 Prototypen Prototypes geven een reëel beeld van wat er allemaal met gedaan kan worden. Is het lastig om erin te stappen, is het behapbaar en is het begrijpbaar. Dit zijn elementen die duidelijk worden door middel van prototypes. Eerste prototype (web-app) Om te testen of de game duidelijk en leuk is voor kinderen hebben we een globale opzet gemaakt. Er is hierbij nog niet echt gekeken naar opmaak en/of structuur. Er is vooral gekeken naar functionaliteiten. Hoe moet het gaan werken. Dit eerste prototype is gerealiseerd met html/css en javascript. Door ajax-calls is het mogelijk om ervoor te zorgen dat de pagina niet telkens opnieuw geladen hoeft te worden, waardoor het spel soepel loopt. Deze web-app heeft als nadeel dat er niet gebruik gemaakt kan worden van de interne stappenteller, en ook niet van contactgegevens van de telefoon. Dit is het nadeel voor als we met dit prototype verder willen gaan . Native apps Bij onze groepsleden hebben we 3 studenten zitten die een innovatie route hebben gehad waarbij native apps geprogrammeerd werden. De innovatieroute was Smart Mobile. De innovatieroute Android, is door alle 3 de studenten gevolgd. Hier heeft ieder een app ontwikkelt voor Android, de bevindingen hiervan waren dat het best lastig is om een redelijke app te realiseren. De benodigdheden voor onze app vindt iedereen lastig uit te werken in Androd. De innovatieroute iOS is eenmalig gevolgd, ook hiervan was de bevinding dat het lastig programmeren is. De leercurve is hoog, vooral voor een app met de functionaliteiten die we voor ogen hebben. Tweede prototype Het tweede prototype is gerealiseerd in PhoneGap, de web-app van ons eerste prototype is als basisgenomen. Op het begin was het lastig om de database connectie goed in te stellen. Nadat deze succesvol was ingesteld, ging het best aardig. Ook het aanspreken van bestaande plugins ging eenvoudig. Het is dus een goede aanvulling op de web-app van ons eerste prototype.
6
4. Conclusies Hieronder zie je de conclusies die er per technologie zijn bevonden. Zowel voordelen als nadelen. Web-app Voordelen
Nadelen
+ Eenvoudig te realiseren + Werkt op alle devices + Eenmalig coderen, niet apart voor ieder device
- Geen toegang tot functies device
PhoneGap Voordelen
Nadelen
- Ziet een verschil met een native app in gebruik + Redelijk eenvoudig te realiseren + Plugins voor aanroeping van device-functionaliteiten + Eenmalig coderen, niet apart voor ieder device
Native apps Voordelen
Nadelen
+ Fijne werking op device + Toegang tot functies van device
- Apart programmeren voor ieder device
7
5. Aanbevelingen 3.1 Oriëntatie Ik beveel PhoneGap aan als te gebruiken techniek. PhoneGap heeft veel voordelen ten opzichte van de andere bevindingen (web-app en native apps). Op het gebied van tijd is PhoneGap het handigste, het komt het dichtste bij onze wensen (een app). Je hebt de functionaliteiten van het device, kunt hem publiceren in de app-stores zonder het meermalig te moeten coderen (handig voor onze tijdslimiet van de iteratie). Antwoord op de vragen die vooraf zijn gesteld zijn ook allemaal positief in te vullen voor PhoneGap. Database connectie, is het mogelijk om een connectie te maken met een database om de vooruitgang van de gebruiker in op te slaan. Het is met PhoneGap mogelijk om een connectie te maken met een databse. Hoewel je in PhoneGap alleen kunt werken met HTML/CSS en javascript kun je wel gebruik maken van PHP bestanden op een server. Je linkt hiernaartoe door middel van een ajax call in javascript Stappenteller integratie, is het mogelijk om een stappenteller te integreren om de beweging van de gebruiker bij te houden Het is mogelijk om met de accelerometer van een device beweging te meten. Verder zijn er ook plugins te vinden die het kunnen regelen. Is het mogelijk om de app daadwerkelijk te installeren op een smartphone. Met PhoneGap is het mogelijk om de app te exporteren naar de juiste formaten voor de verschillende platforms. Deze app kun je vervolgens indienen. Als deze geaccepteerd wordt verschijnt hij in de app-store van het betreffende platform.
8