Programmeren. Inhoudsopgave

Vergelijkbare documenten
1. Het Online platform

Snelstart Handleiding

De mijn Volkswagen app koppelen aan uw Volkswagen.

Datum versie: 1 Mei Technische aspecten

Miles handleiding. Koeriers. Android & ios.

utravel Quick Start Guide

TwoGo: hoe werkt het?

Voordat u gebruik kunt maken van de Mijn Volkswagen app koppelt u eerst de app aan uw Volkswagen. Volg de hierna beschreven stappen.

HANDLEIDING RESERVEREN

Welkom bij payleven. Bovenop Magneetstriplezer. Voorkant. Bluetooth-symbool. Batterij indicator. USBpoort. Aan/uit

Handleiding ITS Driver App VOM, CV, PW

AutoTransport App. Auteur: G. J. kleyn Winkel Telefoon: Datum: juni 2018 Versie: 1.0. Klwinkel.com pagina 1 van 12

Philips E-motion. Protoyping/Interactieontwerp. Kwartaal 1 jaar 3. Inhoud Onderzoek Schetsen Mockups Wireframes Flowcharts

Koppeling Nmbrs Workbee Doc nr.: SD 034 Datum: Versie: 1.1

Taxis Pitane voor iphone / ipad

ESJ Salarisadviesbureau. Handleiding. Online Salarisportal. Werknemer Login. Loonstrookviewer

UW PERSOONLIJKE MOBILITEITSASSISTENT. KORTE HANDLEIDING: BMW CONNECTED.

vliegtickets boekinsformulier voor 15 FEBRUARI 2015 groepsopdracht 2 rex hordijk alissa muffels luca verhees marek van der hoeven

5.2 Gewerkte diensten wijzigen Medewerkers Mobiele iphone & Android app Nieuwsberichten bekijken en reactie plaatsen...

Platform Regent Mobile Connect

OP AFSTAND ALLES ONDER CONTROLE. KORTE HANDLEIDING: REMOTE SERVICES.

Gebruikershandleiding Nabij Patiënt Testen. Met webapplicatie Tropaz 2.0

In deze handleiding wordt de werking van het extranet beschreven

KALB Salarisadviseurs. Handleiding Online Salarisportal. Werknemer Login Loonstrookviewer

Mijn Volkswagen app. Koppelen aan uw Volkswagen.

1.1 Het downloaden van de applicatie Om de ehealth applicatie te downloaden zoekt u in ofwel de Google Play Store of de App Store naar ehealth.

Wij beschermen mensen

Handleiding Pincode en Chauffeur Beheer BP PLUS Tankpas

HANDLEIDING. CONTENT MANAGEMENT SYSTEEM - CJG APP / versie 1. STAP 1 - Maak uw CJG aan in de App. 1. Surf naar

Release-informatie wederverkopers: TomTom WEBFLEET

CXEuro. De Gespecialiseerde Vrachtbeurs voor Koeriers en Expediteurs. / Een Virtuele Vloot Binnen Handbereik /

RESPONDER-APP. Mopas-app voor ios en Android. Gebruikershandleiding Mopas-app

Boekingssite voor Regiotaxi Noordwest-Overijssel

WESTPOINTDIGITAL MOBILE APPS DEVELOPMENT

1 Release Notes MobiliteitsNET Euphoria Software Wilhelminapark EC Tilburg

Mopas handleiding Responder App. Mopas-app voor ios en Android.

Release notes MobiScout

De eerste versie van de SoberGlass

Installatiehandleiding 2.x

Handleiding bevrachtingsapp

(-Deel pagina, scherm, beoordeling) - Account log-in Open ID (google, facebook, Yahoo, paypal) API. - Openbaar Vervoer api.openov.

M21710 Autonummer systeem per klant - klant specifieke prefix kunnen instellen

Handleiding: Whitelabel Customersite

Design Patterns V Eindopdracht

MG Car Club Regio West. Bert Ewalds

Handleiding. Online Salarisportal. Werknemer Login. Loonstrookviewer

Bouwstenen. Handleiding. In deze handleiding vindt u informatie over de 12 verschillende bouwstenen waaruit u kunt kiezen, om uw app op te bouwen.

Concept document Kitesurf Spot Elyse Teerink November 15, Conceptdocument Informatie Architectuur

Handleiding. NDFF-invoer. voor alle NDFF-portalen en Telmee

Mijn Volkswagen app.

Handleiding mobiele apparaten, Genzõ & beheerdersfunctie. Aan de slag met Genzõ!

Handleiding Monteur online inlog

HANDLEIDING. CONTENT MANAGEMENT SYSTEEM - CJG APP / versie 2. STAP 1 - Maak uw CJG aan in de App. 1. Surf naar

Hoi Nieuwe Gebruiker van Buurauto!

Vervolgens zal je worden gevraagd om jouw account aan te vullen met jouw contactgegevens en foto s van jouw rijbewijs.

Gebruikershandleiding Responder App. Mopas-app voor ios en Android.

Elektronisch Meldsysteem Incidentmanagement ("EMI")

INTRO PRESENTATIE BUMBAL

Je kunt nu inloggen in je eigen medewerker gegevens in Talent & Salaris (web), verder te noemen TSS.

Declareren via ProActive

Release notes MobiScout

ReValidate! Een serious game voor polsrevalidatie. Patiënt ID:

7.7 BEHEER VAN DE BROCHURES

Welkom bij Digicel Online Top Up

PhPlist Gebruikers Handleiding

Ontwerpen van een niet-web beleving

igarage en Carsys Koppeling, importeren en exporteren Versie 1.4 Juni 2017

Gebruikershandleiding voor toegang tot Gasport

MCBDirect Corporate Aanmelden met een Soft Token

Bachelorproef. Analyseverslag Glen Van Haver

INTERACTIE. In de Appendix vindt u de wireframes.

iphone app - Roll Call

SnelStart. Stappenplan. SBR btw-aangifte met SnelStart 12. Datum: Versie: 0.5 Status: Definitief Auteur: Selfservice

Internet Video Deurbel. SNELSTART Gebruikersopties Handleiding voor de App

H A N D L E I D I N G E L V 1 5

Aan de slag met Mijn Stolp+KAB Online

PORTFOLIO MEDIA PROFTAAK INTERACTIEF DESIGN PAPER PROTOTYPING PROTOTYPING HTML5/CSS3 BRANDING CLICKABLE PROTOTYPE

FOTO S EN VIDEO S MAKEN

LET OP! Uw gegevens worden pas zichtbaar in het dashboard nadat u op de App bent ingelogd en verbinding heeft gemaakt met internet.

HANDLEIDING. TRAVEL & EXPENSES Gebruik declaratiesysteem auto-, OV- en overige kosten- WEB

Voorblad Inhoudsopgave Inhoud

Handleiding inloggen Enovation Comvio SBC Windows

Handleiding Safetycare Alarm app

Inhoud. 1 Handleidingen OPENSyndic - Cloud Computer Company

Samen sterker 4875 GOOD THRU

Handleiding GVV-web medewerker Locatie

Inloggen in AccountView online voor Mac OS 30 april 2015 versie 9.1 en hoger

App tutorial. De snelste route naar de top met FMP360 online!

ANDROID ALGEMEEN VERSIE BEHEER

HANDLEIDING. Online portal. Versie: 1.11

Handleiding

Handleiding controle Portal

Handleiding Opstarten InSite. Eerste keer inloggen op InSite In en uitloggen InSite Wachtwoord wijzigen Wachtwoord vergeten

Optimalisatieplatform

Handleiding My GPS Tracking Portal

Werkinstructie voor het online boeken van een vlucht inclusief het online boeken van hotel.

1 Release notes Cabman BCT RC1.3. Release notes Cabman BCT RC1.3

Handleiding installatie TROPAZ - APP voor Android (mobiele apparaten)

Handleiding Sens MyAir Gateway

Transcriptie:

Programmeren Inhoudsopgave Beginpunt 2 Implementatie Karhoo 3 ETA & Prijs principe 4 Implementatie prijsberekening en gegevens database 4 Het versturen, ontvangen en beantwoorden van ritaanvragen. 7 Weergeven van alle taxi s op de kaart 9 Chauffeurs met meerdere auto s 11 1

Beginpunt Voor ik begon aan het semester was ik al aan de slag gegaan met mijn taxi app. Ik heb gelijk de keuze gemaakt om met 2 apps te werken. Zo hebben de gebruiker en de chauffeur een andere app, zo kan iedere app perfect aansluiten op de doelgroep. De chauffeurs app zag er na smart mobile, zo uit: Zoals te zien, is er nog weinig uitgewerkt en is er ook nog geen echt design toegepast. De chauffeurs app werd tot dit moment ook alleen gebruikt om te zorgen dat de chauffeur een rit request kon accepteren. Wel is er in het tweede scherm ruimte over gelaten onder aan voor nieuwe elementen. De gebruikersapp was na smart mobile ook niet zo top er moest nog veel gebeuren. Alhoewel ik op sommige punten de app wel al wat moderner heb gemaakt. Zo heb ik de inlog UI aangepast en kun je vanuit de app zo maar een willekeurige taxi bestellen als test van de functionaliteit. 2

Implementatie Karhoo Uit mijn onderzoek kwam naar voren dat ik en de app gebruikers erg onder de indruk waren van de manier waarop Karhoo de beschikbare taxi s liet zien. Nadat ik had getest of de gebruikers het ook in mijn app fijn vonden om te gebruiken, heb ik het op mijn eigen manier nagemaakt. Je ziet hier dat ik met de locatieservice van apple, de huidige locatie inclusief adres laat zien. Verder berekent de service hoe ver welke taxi van mijn locatie af is. Als je nu op de knop boek taxi zou drukken, kun je niet een taxi kiezen maar wordt er een willekeurige taxi aangeroepen, dit is nog omdat het een ouder prototype is. 3

ETA & Prijs principe De gebruiker van de app is meestal op zoek naar: 1. De taxi die het snelst op locatie is. 2. De goedkoopste taxi naar bestemming. Om mijn app ideaal te maken voor mijn doelgroep heb ik ervoor gekozen om net zoals Karhoo, een keuze tussen ETA (Estimated Time of Arrival) en prijs te maken. Hiernaast zie je hoe ik dit heb ingericht. Wanneer je op prijs drukt, komt er een pop-up die vertelt dat je voor een prijsindicatie ook een bestemming nodig hebt. Implementatie prijsberekening en gegevens database Wanneer je een bestemming invoert, wordt er netjes berekend hoeveel kilometer de reis is en hoeveel minuten het duurt tot je op de bestemming bent. Dit wordt voor de gebruiker en chauffeur omgerekend in een prijs en een route die hierlangs wordt getoond. De prijs wordt berekent vanuit een starttarief, tarief per kilometer en een tarief per minuut. Er staat ook netjes bij, wat voor type voertuig het is en wat de aankomsttijd van de taxi is op jou locatie. De technieken van de route en de locatie service maken gebruik van enkele softwarebibliotheken van Apple. Zo maakt de app veel gebruik van CLGeoCoder() en CLLocationManager(). Verder worden er FOR-loops gebruikt om voor iedere taxi locatie een ETA te kunnen berekenen. Omdat dergelijke request asynchroon zijn en dus soms later aankomen als dat een funtie is aangeroepen, wordt er ook veel gebruik gemaakt van zogenaamde Closures, die zorgen ervoor dat de data op het juiste moment bij de functie aankomen. 4

Dit is de functie die de berekening doet wat de ETA tijden zijn per chauffeur. Het mechanisme wat de route trekt over de map, is gemaakt met een overlay. (Z.o.z) 5

Zie hier de code met aantekeningen: 6

Het versturen, ontvangen en beantwoorden van ritaanvragen. Wanneer de gebruiker zijn keuze heeft gemaakt, gaat de app verder. Er wordt eerst nog een korte bevestiging gevraagd om zeker van de boeking te zijn. Wanneer de laatste bevestiging is gedaan komt er een melding bij de gebruiker die laat zien dat het proces in werking is gezet. Wanneer de ritaanvraag in de database wordt gezet, krijgt de chauffeur een melding. De chauffeur kan kiezen of hij deze rit wilt rijden en nadat hij deze accepteert wordt het gelijk in de database gezet. 7

Het enige wat nog niet lukt me de requests, is om de gebruiker hierna een alert terug te geven dat de rit ook is geaccepteerd. Indien de rit wordt afgewezen zou de gebruiker een alert moeten krijgen die vraagt om verder te zoeken. Door een softwarematig probleem kom ik hier nog even niet verder, maar een groot probleem is het niet. De techniek die achter de aanvraag listener wordt mij geleverd door Firebase zelf. Ze hebben in hun API een observeevent functie gebouwd. Je kunt zelf kiezen wat je wilt, ik ging in dit geval voor de.childadded functie bij het binnen krijgen van requests. Deze kijkt erna of er iets nieuws wordt toegevoegd bij de ritaanvragen. De.childchanged functie kijkt erna of de aanvraag is geaccepteerd of niet, er wordt namelijk een waarde veranderd(changed) onder de status parameter. Hieronder zie je de functie die, wanneer er iets wordt toegevoegd, de data inleest en omzet in een bericht. Dit bericht kan de chauffeur accepteren of afwijzen. Na het accepteren of afwijzen wordt de onderstaande functie gebruikt, om in de database aan te geven wat het antwoord van de chauffeur is. 8

Weergeven van alle taxi s op de kaart Om de gebruiker een mooi overzicht te geven was het mijn plan, om de locatie van de chauffeurs, die via de chauffeurs app wordt geüpdatet, op de kaart te zetten. Zo kun je gelijk goed zien waar er iemand in de buurt is. Dit is meer voor het type doelgroep die graag alles zelf uitzoekt. Het hoeft niet, maar ik wil deze manier wel openhouden. Eerst keek ik naar de database vol coördinaten van taxi s, die ziet er zo uit: Dit is een chauffeur, met ID 01. Deze informatie wordt uit de database gehaald met de volgende functie: 9

Hierna moet de informatie ook op de kaart worden gezet, dit gebeurt in de ViewController zelf door de functie: placeallcabplacemarks. Deze pakt uit de array alle locaties en zet deze neer op de map. Hieronder zie je het resultaat van alle taxi s in de buurt De plaatjes van de taxi zelf, worden in een functie van apple als taxi afbeelding gekoppeld aan een placemark. Normaal is het een rode pin die als afbeelding, maar nu heb ik dat dus verandert naar een taxi afbeelding. 10

Chauffeurs met meerdere auto s In eerste instantie was ik eigenlijk niet van plan om dit concept aan te pakken, of eerder gezegd ik had er nog niet aan gedacht. Maar door een video die ik had bekeken op youtube over een taxi app, besefte ik me dat dit een issue kon worden bij mijn app. Ik heb contact opgenomen met een bevriende groep chauffeurs en hen de vraag gesteld hoe ze tegen dit onderwerp aan keken. Het antwoord was dat het hun beter leek om een keuze in te bouwen indien je meerdere auto s hebt. Dit is aantrekkelijker voor de chauffeurs omdat de app hierdoor alles biedt wat ze nodig hebben. Nadat ik dit had onderzocht ben ik aan de slag gegaan om een dergelijk systeem in te bouwen. Ik begon bij de database, daar heb ik zelf wat nieuwe data ingebracht, wat in een later stadium ook door de chauffeur zelf gedaan kan worden. Zie database: Hier zie je 1 chauffeur, de eerste code is zijn persoonlijke ID dit is alleen voor het programmeren belangrijk verder niet. Bij Vehicles zie je 2 auto s, deze worden uiteindelijk door de chauffeur zelf ingevoerd, hierna kan hij in het overzicht kiezen welke auto hij wilt gebruiken. 11

Wanneer een vehicle wordt gekozen, komt de chauffeur op de map waar hij online kan gaan. In de toekomst komt hier een heatmap met drukke gebieden in de buurt waar de chauffeur veel werk kan krijgen. Hieronder is het overzicht, met de gekozen BMW te zien. De apps zijn erg recent pas gemaakt als hoe ze nu zijn, daarom zitten er ook nog geen menu s in. Het is puur de functionaliteit die ik op heb gezet i.c.m. een backend die de authenticatie en database managment op zich neemt. 12