Du måste aktivera javascript för att sverigesradio.se ska fungera korrekt och för att kunna lyssna på ljud. Har du problem med vår sajt så finns hjälp på http://kundo.se/org/sverigesradio/
ShipIt Day

Are you talking to me? Ett hack på Amazon Echo

Publicerat fredag 25 november 2016 kl 14.56
Magnus, Tobias och Jonas tar emot första priset i höstens ShipIt Day.
1 av 2
Magnus, Tobias och Jonas tar emot första priset i höstens ShipIt Day Foto: Karolina Wihed-Nystrand
Systemskiss som vi använde oss av under hackdayn Foto: Magnus Suneson
2 av 2
Systemskiss som vi använde oss av under hackdayn Foto: Magnus Suneson

Två gånger om året arrangerar SVT, Sveriges Radio och UR gemensamma ShipIt days. Detta innebär att utvecklingsavdelningar från respektive bolag under 24 timmar försöker ta fram en färdig produkt, gärna inom ramen för public service uppdrag. Detta är ett uppskattat avbrott i vardagen eftersom vi utvecklare får en chans att tänka ”outside the box” och ger oss en ökad förståelse och kunskap om de andra bolagens digitala produkter och arbetssätt.

Under namnet Team Echo valde Tobias, Jonas och jag att ta fasta på radions styrka som ett av de få medier man kan konsumera samtidigt som man gör något annat t.ex. diskar, målar, kör bil. Problemet vi ville lösa är när användaren vill byta kanal eller lyssna på ett annat program så måste hen avbryta det hen gör för att byta kanal/program på sin mobil, dator eller radioapparat. Ett problem som blivit lösbart i och med den senaste trenden med digitala assistenter som Amazon Echo, Google Home och Apples Siri.

Vi valde att koppla ihop Sveriges Radios öppna API med Amazon Echo så att man via röstkommandon kan starta och lyssna på någon av våra 40 kanaler eller 400 program.

Ingen av oss hade tidigare arbetat med Amazons produkter så vi började med att bläddra igenom dokumentationen och titta på videoklipp om hur man får Echo-enheten att lära sig ett nytt ”skill”. Begreppet skill är nyckeln när det gäller utveckling för denna produkt. För att Echo-enheten ska kunna utföra en specifik uppgift måste man lära den genom att skapa ett nytt skill. I vårt fall bestod detta av att spela upp Sveriges Radios kanaler och program. När man skapat ett skill bryter man sen ner det till konkreta funktioner som kallas intents, exempel på det är spela, pausa, m.fl. Dessa intents skickas via Amazon till vår endpoint där vi tolkar dem och skickar tillbaka de instruktioner vi vill att enheten ska utföra.

Som vanligt när man jobbar med nya produkter så är det både uppförsbackar och nerförsbackar. Vi spenderade flera timmar med att felsöka vår kod eftersom Amazons testverktyg inte visade förväntat resultat, tillslut hittade vi i deras forum att testverktyget inte stödjer ljudinstruktioner såsom att spela ljud mm. När vi kommit över det hindret fick vi snabbt upp farten med att lära Echo-enheten att kommunicera med vårt API.

Viktigt att tänka på är att all trafik måste ske över HTTPS, något vi fick problem med när vi ville visa upp avsnittsbilder från Sveriges Radio. Det visade sig att även om vi laddar dessa över HTTPS så hade vi inte rätt CORS-attribut vilket tog lång tid att hitta och som inte stod i dokumentationen.

Amazon Echo har inte stöd för svenska vilket gör att det svårt att göra en riktigt bra tjänst där svenska språket är en vital del av innehållet. Det var väldigt roligt att jobba med Alexa och trenden med digitala assistenter är bara i startgroparna och vi kommer framöver antagligen få se en uppsjö av nya användningsområden.

Grunden i vår journalistik är trovärdighet och opartiskhet. Sveriges Radio är oberoende i förhållande till politiska, religiösa, ekonomiska, offentliga och privata särintressen.
Har du frågor eller förslag gällande våra webbtjänster?

Kontakta gärna Sveriges Radios supportforum där vi besvarar dina frågor vardagar kl. 9-17.

Du hittar dina sparade avsnitt i menyn under "Min lista".