Hero
Kuva: Joonas Kauppinen
Author
Yle News Lab
6.9.2019
Kesäkoodarit: Mistä haluat saada notifikaation?
Yle News Labin kesäkoodarit kertovat uudesta sovellusprojektista, jota he ovat päässeet kehittämään viimeisten kuukausien ajan.

Me Yle News Labin kesäkoodarit aloitimme Voitto the App -projektissa työskentelyn kesäkuussa. Kun saavuimme ensimmäisenä maanantaina News Labin yhteiseen viikkokokoukseen oli selvää, että muu News Labin henkilöstö odotti jo innokkaasti lomiaan. Meillä oli kuitenkin tiedossa työntäyteinen kesä Voiton parissa. Ennen projektiin sukeltamista pääsimme tutustumaan Ylen verkkoinfrastruktuuriin, joka meidän yllätykseksemme on huippuluokkaa. Kesän aikana tuli tutuksi jatkuva integraatio Traviksessa, tuotantojärjestelmät AWS-palvelimilla ja Docker-konfiguraation viilaaminen.

Voitto the App on on Ylen uusi nopeiden kokeilujen tekemistä varten kehitetty sovellus. Voitto the Appissa käyttäjä voi tilata notifikaatteja erilaisilta toiminnoilta eli "skilleiltä". Skillien toteuttaminen on suoraviivaista ja helppoa. Voitto the App on tällä hetkellä vain Ylen sisäisessä käytössä.

Meille ei määritelty valmiiksi minkälaisia skillejä sovellukseen tulisi toteuttaa. Tehtävämme oli kokeilla, joten jo ensimmäisellä viikolla Kanban-seinämme peittyi omilla ideoillamme täytettyihin post-it-lappuihin.

Näyttökuva 2019-9-6 kello 9.33.23 Kanban-taulun done-sarake.

Sovelluksen vahva nojautuminen notifikaatteihin sai meidät varuillemme, sillä aikaisemmat kokemuksemme notifikaateista eivät olleet hyviä. Huonosti toteutetut ja tarkoituksettomat notifikaatiot aiheuttavat käyttäjässä lähinnä ärtymystä. Useiden pelien lähettämä "Hei et ole katsonut kylääsi/farmiasi/avaruusasemaasi X päivään!" -ilmoitus on malliesimerkki notifikaatiosta, joka palvelee vain sovelluksen ylläpitäjää. Tiesimme, että halusimme tehdä uudenlaisia notifikaatteja, jotka eivät toistaisi näitä vanhoja kaavoja.

Halusimme selvittää millaiset notifikaatiot ovat arvokkaita käyttäjälle. Voisiko notifikaatio itsessään tuottaa käyttäjälle hyödyllisen kokemuksen sen sijasta, että se vain kannustaa käyttäjää avaamaan sovelluksen uudestaan? Millainen tieto soveltuu notifikaatioon? Mistä minä haluaisin saada notifikaation? Näiden kysymysten pohtiminen ajoi meitä tutkimaan notifikaatioiden sisältöä ja formaatteja.

Yksi ongelmista oli se, että notifikaatioon mahtuu hyvin rajallisesti tietoa. Jotta viestintä onnistuisi rajatusta koosta huolimatta, päädyimme käyttämään ytimekästä ja selkeää tyyliä, jonka ymmärtäminen on mahdollista lyhyellä vilkaisulla.

Tehokas tapa tiivistää tietoa on esittää sitä kuvina, joten kehitimme notifikaatioihin kuvaliitteitä. Käytämme niitä etenkin säädatan visualisoimiseen. Säädatasta koostetut diagrammit ja niiden muotokieli ovat tuttuja useimmille ihmisille, joten niillä voidaan kommunikoida sääennusteita tehokkaasti. Nopea vilkaisu viikonlopun säädatasta koottuun diagrammiin antaa käyttäjälle hyvän käsityksen siitä, mitä säältä voi odottaa.

Notifikaatio katujen liukkaudesta ei lohduta pientareelle kaatunutta työmatkapyöräilijää.

Etsimme dataa skilleihin useista avoimista datalähteistä. Vaikka avointa dataa on paljon, reaaliaikaisten datalähteiden löytäminen on paljon haastavampaa. Dokumentaation puutteellisuus ja monimutkaiset formaatit tekivät vaikeaksi varmistaa, että oma koodimme toimii oikein datalähteiden poikkeustiloissa. Vaikeuksista huolimatta löysimme mielenkiintoisia datalähteita, muun muassa pääkaupunkiseudun tapahtumista, tieliikenteen häiriöistä ja jalankulkijoiden liukastumisvaroituksista.

Notifikaatio katujen liukkaudesta ei lohduta pientareelle kaatunutta työmatkapyöräilijää. Informaatio yksinään ei tee notifikaatiosta arvokasta vaan informaation tulee saapua käyttäjälle oikealla hetkellä. Notifikaation ajoittamiseen ei ole yksinkertaisia sääntöjä. Onko aika kiinteä vai sidottu johonkin tapahtumaan? Mihin aikaan käyttäjä voisi hyödyntää tätä tietoa vai onko sen ennustaminen liian haastavaa? Notifikaation ajoittamisen ongelmat vaihtelevat sovelluskohteen mukaan ja joskus on järkevintä antaa käyttäjän päättää hänelle sopivin aika.

Jos notifikaation sisältö ei ole relevantti sen vastaanottavalle käyttäjälle, se ei ole hyödyllinen. Halusimme rakentaa persoonallisia notifikaatioita jotka olisivat hyödyllisiä juuri palvelun tilanneelle käyttäjälle. Vaikka ihmisten käyttäytymistä ja toiveita voidaan mallintaa vakoilemalla, on reilumpaa ja suoraviivaisempaa vain kysyä. Voitto the Appin notifikaatioasetuksilla annetaan tarvittava kontrolli käyttäjälle, jolla he voivat räätälöidä skillit tarpeidensa mukaisiksi.

Oikein käytettynä notifikaatio on erittäin tehokas ja mielekäs tapa välittää informaatiota. Mielestämme onnistuimme toteuttamaan uudenlaisia notifikaatteja, jotka todella hyödyttävät käyttäjiä ja avaavat näkymiä tulevaisuuden mahdollisuuksille. Jäämme innolla odottamaan uutisia siitä, mihin suuntaan Voitto the App syksyn aikana kehittyy, sillä meidän on pian aika palata koulun penkille. Kesäkoodarit haluaa kiittää News Labia hyvästä ryhmähengestä ja rennosta tunnelmasta kesän aikana. Apua oli helppo pyytää mukavilta työkavereilta ja töihin oli aina kiva tulla.

Kirjoittajat Vili Lipo, Joonas Kauppinen ja Tuomas Myllymäki ovat Yle News Labin kesätöitään lopettelevia koodareita. News Labin porukkaa kiittää erinomaisesta työpanoksesta!