Hva om du kunne slippe å måtte pante én og én flaske og vente på pantelappen, og bare gå rett inn i butikken etter at du har tømt posen med tomflasker inn i panteautomaten?
Det er nettopp en slik løsning ingeniørene og utviklerne hos Tomra jobber med nå. Nå tester Tomra et konsept hvor du kan få pantelappen på mobilen, og ikke lenger behøve å vente til automaten er ferdig.
– Kundene ønsker å komme til maskinen, levere flaskene og gå, sier Rune Hamnvik, seniorutvikler i Tomra.
Vi besøkte Tomra i Asker for å høre om selskapets nye panteautomat, Tomra R2, og ikke minst få innblikk i koden bak panteautomaten. Her går det i mye C og C++, kan vi avsløre.
Selskapet har fra før av en panteautomat – R1 – der du også kan tømme alle flaskene inn i et hull. Men mens R1 krever ganske mye plass, skal R2 kunne brukes også i mindre butikker.
Trenger ikke vente
Hamnvik er "software lead" på Tomras såkalte Revolver-prosjekt, som er prosjektet som jobber med å utvikle den nye Tomra R2-automaten. Mens R1 allerede kan brukes i over 600 butikker i 16 land, er R2 foreløpig bare under testing i seks ulike land – inkludert et par butikker i Norge.
Endelig lansering er i september.
Hamnvik forteller at en av nyvinningene i R2 er det som kalles "Drop and go", samt "digital voucher", som er under utvikling nå.
Slik virker Drop & Go:
- Bruk mobilen til å skanne en QR-kode på skjermen til panteautomaten
- Tøm alle flaskene dine i et stort hull i automaten
- Du kan nå forlate maskinen og gå inn i butikken for å handle
- Når maskinen er ferdig, får du pantelappen på mobilen
– Det maskinen ikke vil ta imot og gi pant for, blir sendt til bakrommet. Kunden kan velge å ikke få tilbake de flaskene maskinen ikke vil ha, men heller la butikken ta seg av dem, forklarer Hamnvik.
Det er opp til butikkene selv om de ønsker å håndtere flasker det ikke er pant for, men hvis butikkene vil det så slipper du altså å måtte drasse med deg flasker og bokser uten pant tilbake hjem igjen.
Knytter pantesesjonen til mobiltelefonen
Hamnvik forklarer hvordan løsningen med pantelapp på mobilen – "digital voucher" – fungerer:
– I QR-koden som vises på skjermen på automaten ligger det en URL som tar deg til en webside. Når du kommer til websiden går det en beskjed til pantemaskinen med informasjon som knytter mobiltelefonen din til kundesesjonen.
– Digital Voucher er foreløpig kun en enkel webapp. For å tilby sanntidsfunksjonalitet i Digital Voucher, bruker vi Firebase Firestore. Brukerne logger seg inn anonymt ved hjelp av Firebase Authentication for anonyme brukere, sier Hamnvik.
Tomra har også utviklet mobilapper for Android og iOS, myTOMRA, som gir brukerne en "digital voucher" inne i en app i stedet for bare via en nettside. Denne appen er foreløpig bare tilgjengelig i Australia og noen deler av USA.
– Hvilke digitale tjenester, som eksempelvis myTOMRA-appen, butikkene ønsker å tilby sine kunder bestemmes helt og holdent av dem selv. Fra Tomras side kan appen integreres med alle våre panteautomater.
Noen større butikker ønsker å integrere panteløsninger i sine egne kundeapper, til det har Tomra et eget "Digital Payout API".
Fem team
All programvare og maskinvare til pantemaskinene utvikles hos Tomra i Asker, der de som lager maskinvaren jobber tett på programvareutviklerne.
Hamnvik forteller at det er to programvareavdelinger, én som lager programvaren til pantemaskinen og en som lager skyløsningen. Begge avdelingene har over 20 utviklere, og i Hamnviks avdeling er det fem funksjonelle team:
- Plattform: Jobber med utvikling av operativsystemet til pantemaskinene og skriver maskinvaredrivere og annen "lavnivå"-funksjonalitet.
- Infrastruktur: Lager felleskomponenter, for eksempel komponenter som håndterer konfigurasjon av maskinene.
- Transport: Jobber med det som har med "flaskeflyten" og sortering av flasker å gjøre.
- Recognition: Gjenkjenning og klassifisering av flasker.
- Maskinkontroll: Overordnet "brukerreise". Alt fra brukergrensesnitt til når luker i panteautomaten skal åpne seg, hva som skal skje underveis når man panter flasker, og så videre.
Teamene jobber på ulike måter, noen bruker sprint, andre Kanban – to ulike smidige metodikker.
– Typisk er det ett eller flere team som leverer software til et prosjekt, men i et prosjekt som dette har alle teamene vært involvert. Her er det jo ny hardware, vi trenger drivere, vi har nye motorer, nye sorterere – så alle har vært involvert, sier Hamnvik.
Koder i C++
Alle som har pantet flasker før, er vant til at panteautomatene av og til nekter å ta imot flasker. Det kan være både fordi du prøver å pante en flaske eller boks det ikke er pant på, men kan også komme av at du putter inn flaske for fort, får "fingrene i lesesonen" eller andre ting.
De nye panteautomatene skal håndtere at du bare tømmer alle flaskene i automaten og forlater den. Derfor må den aldri stoppe opp eller forvente at du er i nærheten og kan gjøre en operasjon på nytt, eller for den saks skyld trykke på beskjeder på skjermen.
Tomra har derfor jobbet mye med det som befinner seg på bakrommet, bak automaten kundene i butikken ser. Ettersom R2-maskinen skulle ta mye mindre plass enn R1, måtte ingeniørene i Tomra tenke nytt rundt veldig mye.
Selv om flaskene havner hulter til bulter når de tømmes inn i automaten, må maskineriet inne i panteautomaten sørge for at de kommer pent og pyntelig på rekke og rad før de går igjennom en ring med kameraer og sensorer som leser av strekkoder og flaskeform – Tomra kaller den for "OneRing".
Alt dette må skje svært raskt, og det er derfor sensorer som kan følge med på flaskene hele veien gjennom automaten. Og alt sammen styres selvfølgelig av programvare.
– Det er mye som er bygget opp over tid, og en del legacy-systemer som er skrevet i C. Men ny funksjonalitet er skrevet i C++ og Qt.
Qt er et kryssplattformrammeverk som brukes for å lage grafiske brukergrensesnitt. Løsningen ble i sin tid utviklet av norske Trolltech, og leveres nå av finske Qt Group.
Alt sammen kjører på en skreddersydd Linux-løsning basert på The Yocto Project.
– Det er en del mikroservices, selvstendige komponenter som har har et ansvarsområde. Så kommuniserer disse komponentene via DBus.
Hamnvik synes det har vært spennende å være med på et prosjekt som har krevd så tett samarbeid mellom så mange ulike avdelinger.
– Det er ganske kult at vi har alt her og gjør alt her, og at vi jobber så tett både i softwaregruppen – men også på tvers av andre faggrupper.
Bli med inn hos Komplett: - Skal være gøy
Under kan du se noen bilder fra vårt besøk hos Tomra: