Vieraskynä: Case Veikkaus – kuinka pelaaminen mobilisoidaan?

Vieraskyna

Janne Vuorenmaa. Kirjoittaja toimii Veikkauksen digitaalisten kanavien kehityspäällikkönä.

Mobiilipelaaminen on viimeisen vuoden aikana ollut Veikkauksen kehitystyön keskiössä. Veikkaus on parhaillaan kehittämässä kokonaan uutta, kosketusnäyttöisille päätelaitteille suunnattua digitaalista asiointikanavaa. Lisäksi Windows Phone-, Android-, Symbian- ja IOS-laitteille on luotu pelisovellukset. Samalla on päästy vertailemaan natiivitoteutuksen ja html5-kehittämisen eroja. Tässä artikkelissa avataan kokemuksia tähänastisesta kehitystyöstä.

Valitsimme mobiilikanavan uudistusta aloittaessamme Veikkauksen pääasialliseksi teknologiaksi html5:n (html5, CSS3, JavaScript). Uutta kanavaa lähdettiin rakentamaan web app -ajatuksella eli niin, että mobiiliverkkosivu toimii sovellusmaisesti ja käyttöliittymän logiikka toteutetaan JavaScriptillä. Palveluita lähdettiin alusta asti suunnittelemaan käyttökokemuksen ehdoilla. Pelilomakkeiden suunnittelussa pyrittiin yksinkertaisuuteen ja helppouteen ominaisuuksista tinkimättä, ja odotus- ja latausajat pyrittiin minimoimaan. Web app -tyyliin toteutettu palvelu voidaan ladata asiakkaan selaimeen kerran, jonka jälkeen tiedonsiirron tarve on minimaalinen ja palvelun käyttö on nopeaa ja miellyttävää.

Uusittu mobiilikanava ei kuitenkaan ole vielä valmis, joten asiakaspalautetta meillä ei vielä ratkaisuista ole. Käytettävyystestien tulokset ovat kuitenkin lupaavia, ja teknologiavalinnan hyödyt ovat jo joiltain osin käyneet ilmi: pystyimme hyödyntämään kanavauudistuksen käyttöliittymätoteutuksia sovellusprojektissamme.

Html5 vastaan natiivi

Android-, IOS- ja Symbian-sovellusten toteutuksessa hyödynnettiin mobiilikanavauudistuksen html5-toteutusta paketoimalla html5-käyttöliittymät Phonegap-alustalla sovellukseksi. Windows Phone -sovellus päätettiin kuitenkin tehdä natiivina. Näin päädyimme mielenkiintoiseen asetelmaan: rakentaessamme ominaisuuksiltaan koko lailla identtisiä sovelluksia kahdella eri toteutustavalla pääsimme vertailemaan teknologiavalintamme seurauksia käytännössä. Projektien vertailukelpoisuutta paransi vielä se, että sovellukset olivat saman tahon – ja osin jopa samojen henkilöiden – toteuttamia. Html5-toteutus rakennettiin ensin Androidille, jonka jälkeen se portattiin IOS-  ja Symbian-laitteille.

Windows Phone -sovelluksen toteuttamiseen natiivina vaikutti muutama tärkeä seikka: Sovellus tehtiin yhteistyössä Nokian ja Microsoftin kanssa, ja pystyimme hyödyntämään kummankin yrityksen osaamista Windows Phone -kehittämisessä. Lisäksi Windows Phonen käyttölogiikka eroaa muista puhelimista merkittävästi, joten käyttöliittymä olisi pitänyt joka tapauksessa suunnitella ja toteuttaa erikseen.

Natiivisovelluksen ja html5-sovelluksen toteuttamiset olivat kustannuksiltaan lähes yhtä suuret, mutta html5-sovelluksen porttaaminen alustalta toiselle osoittautui erittäin kustannustehokkaaksi. Etenkin siirtymä Androidilta iPhonelle oli hyvin helppoa, ja pahimmassakin tapauksessa sovelluksen porttaaminen uuteen alustaan lisäsi sovelluksen kokonaiskustannuksia vain noin 10 prosenttia.

Porttaamisen haasteet tulivat vanhempien laitteiden suorituskyvystä. Veikkauksen tapauksessa html5 + CSS + Javascript -toteutus ei tuonut juurikaan rajoitteita ominaisuuksille, mutta heikommalla suorituskyvyllä varustetut laitteet eivät selviytyneet kunnialla esimerkiksi Pitkävedon käyttöliittymästä täydellä pelilistalla. Symbian-versiosta jouduimme karsimaan merkittävästi CSS-tehosteita ja esteettisiä elementtejä, ja lopulta vähentämään pelattavissa olevien kohteiden enimmäismäärän 50:een, jotta sovellus olisi käytettävä. Natiivitoteutuksella tämä ei välttämättä olisi ollut tarpeen. Android- ja IOS-laitteilla emme tällaisia ongelmia kohdanneet.

Mitä on opittu?

Windows Phone -sovellus julkaistiin tammikuun lopussa. Android-sovellus saatiin asiakkaille vapuksi ja Symbian-sovellus kesäkuun alussa. Vastaanotto on ollut pääosin hyvin positiivista, ja sovelluksia on ladattu ahkerasti. Tätä kirjoittaessani Windows Phone ja Android -sovelluksia on ladattu lähes 30 000 puhelimeen ja Symbian-sovellus löytyy noin 10 000 puhelimesta. Koska sovelluksia myös käytetään varsin aktiivisesti, on todettava, että kysyntää oli. Olemme saaneet myös parannusehdotuksia ja palautetta puutteista, ja kehitämme sovelluksia niiden perusteella.

Veikkauksen sovelluksen käyttöönottaneiden asiakkaiden laitekanta on yllättävän nuorta. Oletuksemme oli ”koko kansan palvelu” viitaten asiakkaiden laitteiden ominaisuuksiin, mutta raporttien perusteella tuo oletus meni alakanttiin. Veikkauksen sovelluksesta kiinnostuneiden laitteet ovat merkittävästi tuoreempia kuin yleensä saman kategorian sovelluksen lataajilla.

Suosituimpien Symbian-laitteiden suorituskyky jää valitettavan kauas siitä, mitä se on uudemmilla puhelimilla. Siitä huolimatta laitteiden omistajat ovat olleet erittäin aktiivisia sovelluksen käyttöönottajia. Vaikka käyttökokemus ei ihan ole kilpailukykyinen Android- ja IOS-puhelimiin verrattuna, sovellusta kuitenkin käytetään aktiivisesti.

Windows Phone -sovellus on ollut suosittu. Seitsemän kuukauden jälkeen voinee todeta, ettei kyse ole pelkästä alkuinnostuksesta. Sovelluksen käyttöaktiivisuus ei ole lähtenyt laskuun, vaan se on löytänyt paikkansa usean asiakkaan pelivälineenä.

Html5 osoittautui hyväksi valinnaksi sovellusten kehittämiseen. Vaikka Symbianin kanssa kohdattiin haasteita, jo kahden tuetun alustan kanssa saavutettiin selkeitä kustannusetuja. Toistaiseksi emme ole saaneet sovellustamme hyväksyttyä Applen jakelukanavaan, mutta uskomme, että syksyllä löydämme sellaisen ominaisuusvalikoiman, joka on sekä Applen hyväksyttävissä että palvelee asiakkaitamme kohtuullisesti.

Tietoa kirjoittajasta

Janne Vuorenmaa vastaa Veikkauksen digitaalisten kanavien kehittämisestä.

Tutustu Veikkauksen mobiilisovelluksiin

 

 

 

  1. Matias says:

    Mukava käytännönläheinen katsaus kiinnostavaan aiheeseen.

    Tulee mieleen pohtia, miksi iOS-versio ylipäänsä pakattiin sovellukseksi, kun App Store -jakelusta seuraa hankaluuksia uhkapelien kanssa. Jos se on toteutettu HTML-pohjaisesti eikä tarvitse natiiviominaisuuksia, eikö olisi parasta hoitaa jakelu suoraan verkon kautta?

  2. Janne Vuorenmaa says:

    Lähdimme rakentamaan mobiiliverkkopalvelua, mutta koska projekti oli senverran laajempi, päätimme tuoda uuden mobipalvelun ensin sovellusten muodossa palvelemaan asiakkaita sillä aikaa kun toteutamme täyden palvelun mobiilikanavaa. Eli sovelluskauppariippumaton palvelu on tulossa.
    Sovelluksista saatava yksi lisähyöty liittyy tähän: saamme sovellusten käyttäjiltä arvokasta palautetta jonka pystymme huomioimaan myös uudessa mobiilikanavassa.

  3. Janne Rosama says:

    Tässä vähän käyttäjäpalautetta Android-versiosta: Aivan loistava sovellus! Käytän mobiiliversiota mieluummin, kuin Veikkauksen nettisivuja.

  4. miksuh says:

    Henkilökohtasesti olen sitä mieltä, että Symbian-versio olisi kannattanut tehdä QML:llä HTML5:n sijasta. Toki se olisi tarkottanut hiukan lisätyötä eri tekniikan takia. Tosin QML :lle ja HTML5:lle on yhteistä JavaScript, eli JavaScriptillä totweutettu sovelluslogiikka olisi todennäjlisesti voitu pitää samana ainakin suurimmalta osin.

    QML:llä toteutettuna Symbian-versiosta olisi saatuu huomattavasti nopeampi ja ominaisuuksia ei olisi tarvinnut karsia muihin versioihin verrattuna.

  5. miksuh says:

    Niin ja lisähuomautuksena se, että Symbianille tehdyt Qt-sovellukset voidaan tehdä joko kokonaan QML:llä tai yhdistämällä QML-koodia ja C++:lla tehtyä Qt-koodia samaan sovellukseen. Eli niin haluttaessa voidaan osa sovelluslogiikasta tehdä Qt C++ koodina.

  6. miksuh says:

    Lisäksi QML-koodaus on suorastaan tolkuttoman helppoa. HTML5:n verrattuna QML koodi on myös erittäin selkeää. HTML5 on suoraansanoen hirveää mössöä QML:n verrattuna.

  7. miksuh says:

    Tarkistin just oman lottoni Veikkaus-sovelluksen Symbian-versiota käyttäen. Toistan sen mitä yöllä sanoin, Symbian-versio olisi todellakin kannattanut tehdä QML:llä HTML5:n sijasta. Sillon sovelluksen käyttöliittymästä olisi saatu tehtyä sulavasti toimiva, olen siitä aivan varma koska itse olen kehittänyt QML-sovelluksia Symbianille.

    Nykyinen HTML5:llä toteutettu sovellus on muuten oikein mainio, mutta käyttöliittymä hidastekee melkoisesti. Olen jokatapauksessa käyttänyt sovellusta ahkerasti.