Nylig skilte Ruter ut hele utviklingsavdelingen sin til et nytt statseid selskap som skal selge IT-tjenester til andre kollektivselskaper i Norge.
Det nye selskapet har fått navnet TET Digital, og holder til sammen med Ruter midt i Oslo sentrum, et steinkast fra Oslos kollektivknutepunkt Jernbanetorget.
Blir iOS-sjef i det nye Ruter-selskapet
Vi har besøkt TET for å høre om hvordan utviklerne der jobber og hva de lager.
– Vi må utnytte fellesskapets midler best mulig for å lage gode løsninger, og overbevise folk om å la bilen stå, forteller Morten Rennesund i TET Digital til kode24.
Han forteller at TET Digital har som ambisjon å være det ledende stedet for innovasjon og produktutvikling for norsk for norske offentlige eide kollektivselskaper. Selskapet er organisert slik at det kan eies i fellesskap av kollektivselskapene, som typisk er eid av fylkeskommunene. På den måten kan kollektivselskapene kjøpe tjenester direkte fra TET Digital.
Vil ha flere inhouse-utviklere
Totalt består TET Digital av 270 ansatte, hvorav 180 er innleide konsulenter. Nå som det nye selskapet er i gang, er imidlertid målet å redusere konsulentandelen en del.
– Men vi kommer alltid til å ha konsulenter, sier daglig leder Endre Sundsdal.
Det er rundt 40 utviklingsteam i TET Digital, som jobber med alt fra Ruter-appen til analyse av data fra et stort antall sensorer og andre datakilder. Et ganske imponerende prosjekt som vi skal komme tilbake til.
Ett av hovedområdene som skal prioriteres i 2024 er å etablere fellesløsninger som kan brukes av flest mulig kollektivselskaper.
I dag er det utviklet en masse løsninger som først og fremst er laget for Ruter. Disse skal videreutvikles for å fjerne tekniske barrierer slik at de kan brukes av andre.
– Blir dere en konkurrent til Entur?
– Nei, jeg var med på å starte Entur og var teknologidirektør der. Vi har som ambisjon å støtte Entur slik at de lykkes i sitt nasjonale oppdrag. Men på noen områder har vi overlapp, sier Sundsdal.
Morten Rennesund forteller at Entur og TET Digital har et samarbeid, og at grunnlagsdataene som Entur samler og bruker i sine løsninger er hentet inn fra kjøretøyene av TET Digital.
– De dataene vi har sendt til Entur bruker vi i neste omgang til reiseplanlegging i våre egne løsninger, forklarer Rennesund.
Entur takler 1.000 kall i sekundet med åpen kildekode
20.000 meldinger i sekundet
Det er et temmelig stort og komplisert maskineri som gjør det mulig å vise sanntids informasjon om hvor alle busser, trikker, båter og t-banevogner befinner seg, beregne kapasitet og planlegge.
For å få til alt dette brukes en masse sensorer i kjøretøyene.
I en buss kan det for eksempel sitte sensorer som ikke bare gir informasjon om GPS-posisjon og fart, men også ting som veitemperatur, vindusviskerstatus, ladestatus, om dører er åpne eller ikke, og mye mer.
Det er til og med sensorer i dørene som teller passasjerer, slik at TET Digital har full kontroll på om det er nok kapasitet – eller om det kanskje må settes inn ekstrabusser. Sensorene kan faktisk også gi informasjon om antall barn og voksne ved å måle høyden på de som kommer ombord.
Ruter vet med andre ord når det kommer en lokal regnskur, om det er glatt, om bussen er full, eller om det har oppstått noen trafikale problemer ett eller annet sted.
Hvert kjøretøy har en digital tvilling der alt av data fra kjøretøyets sensorer og utstyr er normalisert til felles formater.
Alle disse dataene fra kjøretøyene sendes via MQTT-protokollen. Hvis kjøretøyene alltid er online kan man beregne når kjøretøyene vil være på ulike stoppesteder, og om det blir forsinkelser.
– Det går circa 20.000 meldinger i sekundet inn og ut fra alle kjøretøyene som er med på ADT, sier Monika Zidonyte i TET Digital.
ADT står for "Avtale om Digital Tjenester", og er helt sentralt for alt det TET Digital gjør.
– Avtalen beskriver krav til utveksling av data som kjører på oppdrag for kollektivselskaper. Det gjør det mulig med smidig utvikling i hele kontraktslengden, slik at vi ikke må låse løsningen i 10 år, forteller Zidonyte.
Flytter 2 petabyte i måneden
Utviklerne i TET Digital jobber som nevnt med en masse ulike områder.
Vi i kode24 har tidligere skrevet om hvordan Ruter kan bruke AI og kvantedatamaskiner til å forutse hvilke steder det er størst sannsynlighet for at noen reiser uten å kjøpe billett.
De løsningene vi vanlige forbrukere vanligvis møter på, er imidlertid reiseinformasjon via skjermer på holdeplassene, og selvfølgelig Ruter-appen. I tillegg har mange kjøretøy også betalingsterminaler med løsninger laget av TET.
Silje Hennum er teknologileder i TET Digital og forteller at de store mengdene data som flyter rundt i systemene kan utgjøre så mye som 2 petabyte i måneden. Sentralt i det hele står en dataplattform bygget på Snowflake.
– Og så er vi store på Kafka. Vi har en hendelsesdrevet arkitektur. Reisen er en strøm av hendelser, forteller Hennum.
Gjennom datanalyse kan man så gi oppdatert informasjon ut til brukerne – enten det er på holdeplassen eller i en app som Ruter-appen.
Sverger til native-utvikling
Hennum forteller at TET Digital jobber mest i Kotlin-/Java-verdenen for backendløsningene, selv om de fortsatt har noe eldre kode basert på .NET. Alt sammen kjører på AWS.
For web-løsningene går det i React.
Ruter-appen er laget som native-apper, med Kotlin og Jetpack Compose på Android og Swift og Swift UI for iOS.
– Vi holder på å skrive om fra UI Kit til Swift UI nå.
Hun mener det er såpass mange som bruker appen at de kan ta seg råd til å bygge native-apper fremfor kryssplattform – fordi det gir merverdi for dem.
– Har dere vurdert kryssplattformløsninger?
– Vi går for native-apper og får en del fordeler ut av det. For selv om du bruker kryssplattform, så trenger du en del ting fra native likevel, sier Hennum.