Sanntids-app for Kolumbus
En mobilapplikasjon for brukere av kollektivtrafikk
Kolumbus er en mobilitetsleverandør med ansvar for buss- og hurtigbåttrafikken i Rogaland fylke. I tillegg jobber de for at tog, sykkel, gange og bildeling henger sømløst sammen med buss og båt, slik at folk skal komme seg fra A til Å uten bruk av egen bil.
I 2019 utviklet Netpower en helt ny versjon av sanntids-appen til Kolumbus. IOS / Android-applikasjonen viser sanntidsinformasjon for alle ruter, men tilpasser informasjonen til behovet for hver enkelt bruker ved hjelp av maskinlæring.
Appen samler relevant informasjon fra kollektivtilbudene i Stavanger-regionen, som for eksempel ruteinformasjon for busser, tog og ferger, og varsler brukere ved avvik eller ruteendringer i sanntid. All informasjon er visualisert på et kart i sanntid.
Vi arbeider også med å samle enda flere relevante tjenester i appen, som reiseplanlegger og bysykkel, med et klart mål om å utvikle Stavanger-regionens digitale reisevenn.
Brukervennlig og universelt utformet
All informasjon er tilgjengelig i både kartvisning og listevisning. Sistnevnte oppfyller kravene til universell utforming, i form av for eksempel voice-over. Tiltakene som er utført for å møte kravene retter seg blant annet mot svaksynte, men også mot for eksempel pendlere som reiser samme rute hver dag og kun trenger rask tilgang til den aktuelle avgangstiden.
Kartvisningen gir på visuelt vis sanntidsinformasjon, avganger og ruteinformasjon (polyliner). Relevant informasjon fremheves basert på lokasjon eller utvalg. Et enkelt klikk på en buss viser til eksempel hele ruten som polygoner. Hvert stopp på ruten viser den aktuelle avgangstid. Ved klikk på en holdeplass vises avganger. Bussene som passerer holdeplassen fremheves i kart. Visninger og detaljnivå tilpasser seg zoom og navigasjonsmønsteret til brukerne for å sikre tydelig informasjon også i områder med tett avstand mellom holdeplasser og med høy avgangsfrekvens. Som en del av reiseplanleggeren er appen integrert med Entur Journey Planner API slik at den kan vise reiseforslag. For å gi søketreff på adresser brukes Entur Geocoding API, og for å gi treff på bedrifter/point-of-interest brukes GooglePlaces API og Apple MapKit.
Varsling og sanntid
Applikasjonen viser meldinger og varsler fra avvikssenteret til Kolumbus. I avvikssenteret samles avviksinformasjon fra blant annet billettsystemet, sjåførsystemet, ruteinformasjon eller gps-signaler. Dataene normaliseres til et felles utgangsformat i datahuben appen er koblet mot.
Avvikssenteret støtter også distribuering av informasjon fra Kolumbus og ut til brukerne. Varslinger og meldinger vises i et eget meldingssenter både i appen og på relevante avganger/holdeplasser basert på brukerens behov. Push-varsler sendes blant annet ut for favorittruter eller ekstraordinær informasjon (17. mai, trafikkulykker). For å levere driftsmeldinger til kunden i forbindelse med kommunikasjon via push-melding brukes Firebase Cloud Messaging.
Appen er integrert mot fluxLoop, som tillater detaljerte reisevaneundersøkelser og direkte interaksjon mot brukerne. Via såkalte bluetooth beacons identifiseres en app-bruker i bussen og tillater dermed kontekst-basert informasjon som spørreundersøkelser til et definert utvalg brukere. Pinch SDK som kjøres ved siden av appen vet når brukeren går av/på en buss, og spør spørsmål relevant for deres reise.
Datakilder
Kolumbus Sanntid er bygget for å kjøre mot Kolumbus sin eksisterende infrastruktur av egenutviklede APIer. For å hente holdeplasser, avganger, sanntidsestimater og driftsmeldinger brukes Kolumbus sitt SanntidsAPI. Dette tilbyr et REST API som lar appen bruke long polling-teknologi for å vise oppdatert informasjon. For å vise posisjonen til bussene i kartet brukes Kolumbus sitt Websocket API. Websocket APIet lar serveren strømme posisjonsdata til telefonen hvert sekund slik at appen alltid viser oppdatert informasjon. Per i dag integrerer appen med http REST APIer, Signalr/Websocket APIer, GraphQL APIer, og gRPC. Vi har også utviklet skytjenester som kommuniserer med appen via gRPC og GraphQL APIer.
Sammen med posisjonsdata fra brukerens mobil har vi utviklet en nevralnett algoritme som forteller brukeren hvilken buss de er på. I tillegg til reiseforslaget brukes Kolumbus sitt Sanntids API for å gi både sanntidsestimater og for å vise driftsmeldinger.
På vei mot en digital reisevenn
I kommende versjoner av appen vil det integreres en fullverdig turplanlegger. Versjonen er allerede i testfasen og forventes lansert høsten 2020. Den vil også støtte en såkalt reiseveileder. Reiseveilederen vil holde brukeren informert gjennom hele turen og vise f. eks. neste holdeplass eller en optimalisert rute hvis en del av turen har forsinkelser. Det brukes maskinlæringsalgoritmer som forteller brukeren om de er på riktig buss, og når de skal gå av. Appen skal selv identifisere at brukeren sitter på bussen og dermed også endre visningen til veilederen.
Ruteforslag blir visualisert i kart, sammenlignbart med visinger som en kan kjenne igjen fra Googel/Apple sine navigasjonsløsninger. Hurtigforslag for reisemål baseres på maskinlæring og anbefaler brukerne de mest sannsynlige målene basert på bl.a. reisevaner og tidspunkt. Med andre ord lærer appen seg at barna skal på fotballtrening hver tirsdag kl. 18.00 og vil da foreslå dette målet automatisk. Informasjon lagres kun på brukernes egne mobiler. På denne måten blir personvernreglene godt ivaretatt.