Mange forbinder kanskje RiksTV mest med selskapet som leverer lineær-TV gjennom det digitale bakkenettet, men mye har skjedd de siste årene. Den tradisjonelle RiksTV-boksen du bruker med antenne eksisterer riktignok fortsatt, i tillegg til at RiksTV har en egenutviklet strømmeboks som kan brukes via internett.
Det er dog ikke TV-bokser, men Strim, som er det store satsningsområdet nå. Dette er en strømmetjeneste som kan brukes på alle mulige enheter – enten det er en PC, Apple TV, smart-TV, iPhone, nettbrett eller en Android-enhet.
Og satsningen har vært vellykket: På den siste EPSI-kundetilfredshet-undersøkelsen gikk Strim rett til topps – etter at Altibox hadde ligget på topp i mange år.
Vi besøkte utviklerne til RiksTV i lokalene deres på Økern i Oslo for å finne ut hvordan de lager Strim .
Fra salg til teknologi
Mens RiksTV tradisjonelt var et selskap som drev med salg og markedsføring av TV-tjenestene sine, er det nå utviklerne og teknologifolkene som dominerer. Av de rundt 130 som jobber i RiksTV er det rundt 30 konsulenter, og de aller fleste i RiksTV jobber nå med teknologi.
– Vi har blitt en teknologibedrift. Rundt 70 prosent av de ansatte jobber i tek-delen av selskapet, som inkluderer utviklere, UX-design og ledere, sier Gry A. Fjeldstad, smidig-coach i RiksTV med blant annet ansvar for ett av teamene som jobber med Strim.
«Vi har fullt fleksikontor, man kan jobbe fra hvor man vil.»
Hun forteller at de har delt opp i tverrfaglige utviklingsteam, i tillegg til at de også har egne fagteam – for eksempel for Android og iOS. Alle teamene har en smidigcoach og en produkteier som hjelper teamene.
– Vi har fullt fleksikontor, man kan jobbe fra hvor man vil. Men selv om vårt team har folk både i Bergen, Kristiansand og Danmark, og mange er hjemme, er folk stort sett på kontoret to-tre dager i uken, sier Fjeldstad.
Teamet bruker målstyringsverktøy og planlegger for perioder. Fjeldstad forteller at organisasjonen har en flat struktur der hele teamet blir involvert i hva RiksTV skal gjøre i neste periode.
– Vi jobber etter smidige arbeidsprinsipper, men er ikke fan av én bestemt metodikk som for eksempel Scrum og Kanban. Teamet utvikler arbeidsprosessene etter behov.
Fjeldstad er imidlertid klar på at du må ha retrospektiv for å få til kontinuerlig læring. Men bortsett fra det står teamene fritt til å jobbe slik det fungerer best. Det er også fullt akseptert å ikke delta på møter man selv mener man ikke trenger å være med i.
Smidig-tankegangen innebærer at RiksTV leverer små oppdateringer til kundene ofte for å teste om brukerne liker det eller ikke.
– Vi releaser til produksjon mange ganger om dagen, sier Fjeldstad.
Kyss hjemmekontoret farvel i 2023
Raskere å finne noe å se på
Strim er langt fra alene i strømmemarkedet, og møter konkurranse fra løsninger som Viaplay og TV 2 Play. I tillegg prøver selskaper som for eksempel Telenors T-We, Telia og Altibox å samle både lineære TV-kanaler og ulike strømmetjenester som HBO, Netflix, Viaplay og TV 2 Play i sine egne tjenester.
Fra sommeren 2021 ble Strim heleid av TV 2, og ettersom TV2 har sin TV 2 Play-tjeneste blir de i praksis både en konkurrent og en samarbeidspartner for Strim.
– Hva er det egentlig som gjør at Strim skiller seg ut i jungelen av tjenester?
– Mange bruker mer tid på å finne innholdet, enn å faktisk se det. Det er det vi skal hjelpe dem med, sier Fjeldstad.
I motsetning til en strømmetjeneste som for eksempel Netflix, samler Strim innhold fra veldig mange. Det betyr at én TV-serie eller film kan ligge mange ulike steder, for eksempel både i Netflix eller HBO og i ukesarkivet til én eller flere lineære TV-kanaler.
Det gjør det svært krevende å bygge en tjeneste det er lett å finne frem i, men teamet mener likevel de har klart det.
«Mens Netflix har under 20.000 titler, har vi mer enn 200.000 vi må samle metadata fra.»
– Mens Netflix har under 20.000 titler, har vi mer enn 200.000 vi må samle metadata fra. Dermed er det ganske komplekst å kunne vise dette til kundene på en god måte, sier Niclas Amundsen, produkteier i Strim.
Maria Hoftun Gjestad er UX-designer i RiksTV, og forteller at hun og teamet bruker mye tid på å finne den beste måten å presentere innholdet for brukerne på.
– Når vi har det samme innholdet fra flere leverandører, viser vi dette som ett kort, i stedet for flere kort ved siden av hverandre. Først når du går inn på et kort for en serie eller film, kan du se de ulike tilbyderne, sier Gjestad.
Vises i den beste rekkefølgen
De ulike tilbyderne av en film eller TV-serie vises i den rekkefølgen Strim mener gir mest nytte for kunden. Hvis for eksempel Viaplay har én sesong mer av en serie enn andre, vises Viaplay først.
– Det er også en viss grad av personalisering, slik at hvis du har begynt å se en serie hos én bestemt tilbyder, så er det det som vises først, sier Amundsen.
Siden RiksTV også er en TV-leverandør, kan innhold fra de lineære TV-kanalene de tilbyr (og ukesarkiv) spilles av direkte i Strim.
Ligger innholdet hos en tredjepart, for eksempel HBO eller TV 2 Play, åpnes avspilling i strømmeleverandørens egen avspillingsapp. Dette er markert i appen, slik at det skal være intuitivt.
– Alle lineærkanalene avspilles på vår plattform, og også Nordisk Film+ og SkyShowtime, sier Amundsen.
Derfor skrota utviklerne i Posten hybrid-app: – Mange var ikke fornøyd
Native-apper som gjelder
Strim-appen skal finnes på alle de mest vanlige enhetene som kundene bruker, enten de ønsker å se innholdet via en app på smart-TV-en, på Apple TV, mobiltelefon, nettbrett, PC eller Chromecast. Men for Strim er det kun native apper som gjelder.
– Vi har prøvd kryssplattform-apper, men det ga bedre ytelse og var lettere å vedlikeholde native-apper, sier Niclas Amundsen.
«For å kunne gi brukerne den opplevelsen de fortjener, er det kun native utvikling som gjelder.»
Som eksempel nevner han at de i sin tid prøvde React Native, men at dette fungerte altfor dårlig på iOS og at appen derfor aldri ble gitt ut.
– På Android opplevde vi for mange feil, og appen var også altfor tung på svake mobiler. Da byttet vi til Kotlin, sier Amundsen.
iOS-utvikler Jørgen Syvertsen legger til:
– For å kunne gi brukerne den opplevelsen de fortjener, er det kun native utvikling som gjelder. Det er det som virker. Vi har så høye krav til brukeropplevelse og ytelse at vi er nødt til å gå den veien, sier Syvertsen.
Amundsen tror hybrid-apper kan fungere der man trenger en enkel applikasjon, men når det er snakk om for eksempel video og der appen må være lynrask også på svake enheter, er native-apper det beste.
Teknologistacken til Strim på frontend er oppsummert:
- Kotlin for Android-apper
- Swift for iOS (iPhone, iPad, Apple TV)
- Tizen-app lages i React (utviklingen av denne er outsourcet)
- React-app med Vite som byggeverktøy for nettleserversjonen
Strim bruker også Next.js og Sanity til å lage selve "salgssiden" som kommer opp når noen taster inn strim.no – altså før man starter opp selve strømmetjenesten.
Unngår dobbeltarbeid
Native-apper betyr naturlig nok mange kodebaser å vedlikeholde, og at man må ha utviklere med spesialkompetanse innenfor hvert økosystem. Utviklingsteamet har prøvd å tenke smart for at ikke utviklerne på de ulike plattformene skal måttet gjøre en masse dobbeltarbeid.
– Vi lager et deskeverktøy som konfigurerer hvordan appene skal presentere innholdet, slik at man slipper å lage det samme for hver plattform, sier Amundsen.
Dette leveres så ut via API-er som de ulike appene konsumerer.
– Et eget team vi kaller "deske-teamet" sitter og kuraterer innhold og setter opp ting som skal gå automatisk. Vi har for eksempel maskinlæring og AI som kan levere "fordi du så på, så liker du kanskje...", og lignende funksjonalitet.
Hva som fungerer og ikke fungerer, testes nøye – og det er ikke uvanlig at utviklerne samles foran en av de mange TV-ene i lokalene for å diskutere.
«Det hender utviklerne river seg i håret når brukerne ikke gjør det de hadde sett for seg at de skulle gjøre.»
I tillegg er ett av rommene innredet som en stue der RiksTV inviterer inn tilfeldige brukere som får lov til å leke seg med ny funksjonalitet, samtidig som utviklerne følger med fra et annet rom.
– Slik testing på virkelige brukere er nyttig. Det hender utviklerne river seg i håret når brukerne ikke gjør det de hadde sett for seg at de skulle gjøre, sier Fjeldstad.
Styrer mest mulig fra backend
Hele backenden til Strim – altså alt som har med API-er å gjøre – kjører i Kubernetes-clustere hos Amazon, og er baserert på C# og .Net.
Lagring og avspilling av innholdet RiksTV selv håndterer går via en tredjepart, NEP, som holder til i samme lokaler som RiksTV. De håndterer lagring "on prem" av filmer og serier, og strømmer innholdet ut til RiksTV-kundene og Strim-appene via CDN-er.
For å redusere arbeidet med de ulike native-appene har Strim valgt å la mer og mer av det som vises i appene (frontend) styres fra backend.
Det betyr at mens man tidligere måtte kompilere en ny versjon av en app når det var endringer, kan endringene nå gjøres fra backend.
– Det som er litt spesielt hos oss, er at UX jobber like mye med backend som med frontend. Det skal være likt på alle flater, og vi har mange flater. Da har vi prøvd å finne ut hvordan vi kan få mye av grensesnittet ferdigmassert fra backend. Så er det tynne klienter som bare tegner det ut, sier backendutvikler Bjørn Tveter.
Det er nyttig at utviklere for ulike plattformer, og for både backend og frontend, jobber sammen, mener UX-designer Maria Hoftun Gjestad.
– Jeg synes det er veldig verdifullt å få inn mange perspektiver, og at alle er med på å diskutere hvordan noe skal løses, sier Gjestad.
Design gjøres i Figma, og Strim har laget et komponentbibliotek/designsystem for mobil og TV og de ulike flatene.
I tillegg har de også et system som beskriver hvordan alle de ulike delene av appene skal se ut, hvilke begreper som skal brukes, detaljer som hvordan tidsangivelser skal vises i en app, og til og med hvordan farger, variabelnavn og andre ting skal navngis og defineres.
Ved å standardisere på denne måten skal det bli raskere og enklere for nye utviklere å komme inn på teamet.
Kaffe-fokus
Gry Fjeldstad forteller at RiksTV og Strim har prøvd å gjøre mye for at både utviklere og andre ansatte skal trives. Det er freshe møterom som alle er innredet i ulike stiler, og det er en masse forskjellige sosiale møtearenaer.
– Også er mange av utviklerne veldig opptatt av god kaffe, så derfor har vi både vanlige kaffeautomater, kaffetraktere og Nespresso-maskiner, sier Fjeldstad.
Hun sier de likevel merker at det er stor rift om de dyktigste utviklerne i IT-bransjen, og til tider kan det være vanskelig å få tak i folk.
– Det går litt i bølgedaler. Men vi prøver å snakke om måten vi jobber på, at du som utvikler hos oss blir involvert i hele prosessen, og at vi har en flat struktur der alle ansatte er med på å bestemme hva vi skal gjøre.