- Dette har aldri blitt gjort før, så det var ingen som hadde noen fasit på hvordan applikasjonen skulle ende opp, sier Anders Skrøvseth Haugen til kode24.
- Det gjorde at vi måtte prøve og feile litt, og til slutt ende på den løsningen vi mente var den beste.
Haugen, Edvin Grytnes og Theebthan Jeyakumaran har laget en virtuell stoppeknapp til bussen, som en del av en bacheloroppgave ved Universitetet i Stavanger de leverte tidligere i år.
Ifølge trioen er hovedfunksjonen å kunne stoppe bussen fra mobilen, når du venter på bussholdeplassen. Dette ville gi passasjerene større kontroll over hvilken buss som stopper ved busstoppet. På denne måten unngår du at bussen du egentlig skulle på kjører videre uten deg som passasjer.
Prototypen utvikla de i samarbeid med Kolumbus, som er det offentlige kollektivselskapet i Rogaland, og gjør at brukeren kan velge en bussholdeplass og buss, som hen ønsker skal stoppe ved holdeplassen.
Kolumbus har siden utvikla løsningen videre, og lanserte nylig funksjonen i appen sin.
Endte opp med Flutter
Samarbeidet mellom studentene og Kolumbus ble til etter et møte, hvor kollektivselskapet la fram ideen som en del av et større prosjekt med en avansert ruteplanlegger.
Studentene hadde i utgangspunktet tenkt å lage appen på web-teknologi, slik som React eller andre JavaScript-rammeverk.
- Vi hadde også blitt foreslått å vurdere Flutter, siden det er et nytt og lovende rammeverk for kryssplatform-apputvikling. Det virket veldig interessant, men ingen av oss hadde kjennskap til det. Så første del av prosjektet gikk til å bli kjent med Flutter, sier Grytnes til kode24.
Deretter var det diskusjoner blant gruppa og veilederen sammen med Kolumbus for å danne seg et bilde av hvordan appen skulle se ut og hvilken funksjonalitet den skulle ha.
- Videre var det ukentlige møter med veileder og møter med Kolumbus de fleste uker for å kontinuerlig vurdere hvilken retning vi skulle ta videre, sier Grytnes.
Måtte bli kjent med nye språk
De endte opp med å bruke Flutter i språket Dart, kart med bussholdeplassene fra Google maps og data fra Kolumbus sitt offentlige API.
- Hva var de største utfordringene?
- Vi hadde drevet med en del programmeringsspråk i løpet av studiet, men nå skulle vi lære og bli kjent med et ganske nytt programmeringsspråk på egenhånd, sier Jeyakumaran til kode24.
Han legger til at prosjektet også var ganske nytt og ferskt.
- Så det å komme i gang og forstå prinsippene var en stor utfordring i starten, sier Jeyakumaran.
Sånn veit Ruter-appen hvor mange folk det er på bussen du skal ta i morgen
Godt samarbeid med Kolumbus
Trioen forteller at samarbeidet med Kolumbus fungerte veldig bra.
- De var hyggelige og komponentene folk, som alltid kom med gode tips og råd for prosjektet. Vi kunne når som helst spørre om hjelp, og si ifra hvis det var noe. Vi fikk tildelt en kontaktperson, som var ganske motiverende og støttende gjennom prosjektet, sier Jeyakumaran.
Ifølge Grytnes fikk de sitte på et møterom hos Kolumbus hver uke for å jobbe og diskutere med Kolumbus sine utviklere.
- De var også gode diskusjonspartnere slik at vi fikk nye tanker rundt hvordan resultatet av appen skulle bli, sier han.
«Tørr å utfordre deg selv på nye fagfelt som du ikke er kjent med.»
Tørr å still spørsmål
Grytnes legger til at han ikke vet hvor mye av koden Kolumbus har brukt videre, men viser til at en del av oppgaven var mer teoretisk, der de kom med tanker rundt hvilke busser man har lov til å stoppe, og hvor langt fram i tid man kan sende signal om å stoppe en buss.
- Mye av dette ble implementert i en enkel variant som et slags "proof of concept", men det vil sikkert være mer avansert i en ferdig versjon, sier Grytnes.
- Har dere noen tips til andre utviklere?
- Ikke vær redd for å stille spørsmål. Tørr å utfordre deg selv på nye fagfelt som du ikke er kjent med, sier Haugen.
Theebthan sier at du bør ta imot mulighetene du får.
- Vær tålmodig, og bruk tid på å både prøve og feile. Man er heller aldri ferdig utlært, så man trenger ikke være en ekspert etter man er ferdig med en utdanning. En god arbeidsgiver vil gi deg tid til å utvikle deg selv videre, sier Grytnes.