Kuvaus

Interaktiivinen alusta

Interaktiivinen alusta – Ääni vapaudelle mobiilisovellus

Interaktiivinen alusta oli ratkaisu jolla joukko aktiivisia kansalaisia päätti lähteä ajamaan muutosta suomalaiseen politiikkaan syksyllä 2018. Tavoitteena oli toteuttaa Suomeen uudenlaista kampanjointimuotoa, jossa yksilöt ja heidän kanssaan käydyt keskustelut ovat pääosassa. Näissä keskusteluissa kansalaisia sitoutetaan mukaan kampanjaan ja varmistetaan äänioikeuden käyttäminen.”

Kampanjoinnin helpottamiseksi, johtamisjärjestelmäksi valikoitui NationBuilder, joka tarjoaa kampanjoille mahdollisuuden viestiä suoraan rekisterissä oleville henkilöille, rakentaa aktivoivat verkkosivut ja seurata järjestämismallin mukaisesti tukijoiden tekoja. Se, mitä NationBuilder ei suoraan tarjoa, on nykyaikainen tapa liittyä mukaan kansanliikkeeseen mobiililaitteen avulla.

Oddy Tech ehdotti suunnitelmamme pohjalta ratkaisuksi sovellusta. Sen kautta saisimme viestitettyä sovelluksen käyttäjille, käyttäjät pystyisivät tekemään tukijahankintaa ja kampanja saisi johtamisjärjestelmään tietoa. Kerätyn tiedon avulla Vapaiden valtakunta -kampanjaa pystytään johtamaan suunnitellusti ja tavoitteellisesti. Lopputuloksena oli Android- ja iOs-järjestelmille luotu Ääni vapaudelle -sovellus.

”Voisi uskoa, että harvemmin sovelluskehittäjille annetaan niin tarkkaa kuvausta tarvittavasta sovelluksesta, kuin mitä me Oddylle annoimme. Tämä loi erilaisia haasteita yhteiselle kehittämiselle mutta yhteydenpito Oddyn kanssa oli toimivaa ja ripeää. Lopputuloksesta voimme olla kaikki ylpeitä – kyseessä on historian ensimmäinen suomalainen kampanjasovellus, joka toiminnallaan tukee vahvasti käytössä olevaa järjestämisen toimintamallia.” – Antti Mäki, Työväen Sivistysliitto TSL ry:n digitaalisten palvelujen vastaava

Ääni vapaudelle -sovellus toimii kentällä erinomaisesti ja palaute on ollut positiivista. Kun aiemmin ollaan totuttu papereiden pyörittämiseen, voidaan nyt todeta, että kampanjointia ollaan tuotu aimo harppauksella nykyaikaan. Kampanjan aktiivit haastavat yhteisöissään tukijoita mukaan kampanjaan ja sovelluksen kautta tiedot rekisteröityvät vaivatta käyttämäämme henkilörekisteriin.

Tulokset

Mobiilisovelluksen tarkemmat tulokset ja analytiikka julkaistaan myöhemmin keväällä 2019.

Kirjoitus hetkellä (8.2.2019) asennuksia Android laitteille on 1040 kappaletta ja iOS laitteilla 229 kappaletta.

Toteutuksen kulku ja tekninen kuvaus

Kampanjan mobiilisovellusta alettiin suunnittelemaan ja tekemään Oddy Techin prosessien mukaisesti. Koska kyseessä on kampanja joka on käynnissä vain tietyn ajan on nopea aikataulu tärkeää kuitenkaan unohtamatta kestävää, ketterää ja tietoturvallista ohjelmistokehitystä. Oman haasteensa myös tähän antoi pian ovella kolkutteleva joulupukki joka Suomalaisessa työyhteisössä yleensä tarkoittaa pyhäpäiviä eli katkoja.

Halusimmekin sitouttaa hankkeeseen yhden aktiivisen projektivastaavan asiakkaan puolelta jolta saisimme nopeasti vastauksia tarvittaviin kysymyksiin projektin edetessä. Onneksi tälläinen saatiinkin.

Kaikkien alkuvalmistelujen jälkeen päästiin nopeasti kehittämään sovellusta ja sovellus asiakkaamme nähtäväksi reilusti ennen pyhiä. Tämä kaikki ketterän ohjelmistokehityksen ja asiakkaan aktiivisuuden ansiosta.

1. Toiminnallisuuksien kartoitus (Määrittelypalaveri)

Hankkeen toteutus aloitettiin määrittelypalaverilla johon osallistui projektijohto molemmilta osapuolilta. Määrittelypalaverissa määriteltiin ja suunniteltiin tarvittavat ominaisuudet sekä käytiin läpi niiden tarkoitus.

Käymme määrittelypalavereissa läpi aina tietyt asiat, jotta pääsemme samalle aaltopituudelle mahdollisessa hankkeessa.

2. MVP vaatimusmäärittely (Palvelukuvaus)

Määrittelypalaverin jälkeen tehtiin jokaisesta läpikäydystä ominaisuudesta palvelukuvaus. Oddy Tech:n palvelukuvauksesta käy ilmi, mitä tekniikoita käytetään ja miten ominaisuudet tullaan toteuttamaan.

Tässä vaiheessa on asiakkaallamme mahdollisuus perääntyä hankkeessa tai muuttaa ja lisätä ominaisuuksia haluamansa mukaan MVP toteutukseen. Koska käytämme ketteriä ohjelmistokehitysmenetelmiä, on aina mahdollista lisätä uusia ominaisuuksia ja toiminnallisuuksia myös myöhemmin projektissa. Kuten tässäkin hankkeessa, tarpeita tuli käyttäjäpalautteen mukana heti ensimmäisen virallisen julkaisun jälkeen, jolloin pystyimme nopeasti reagoimaan ja toteuttamaan nämä keskeyttämättä sovittujen ominaisuuksien kehitystä.

3. Prototyyppi (Visuaalinen proto)

Mobiilisovelluksesta tehtiin palvelukuvauksen prototyyppi kehitysprosessimme mukaisesti. Prototyyppi toimi demottavana alustana, ilman toiminnallisia ominaisuuksia, mutta kuitenkin niin, että siitä selviää mitä tapahtuu mitäkin nappia painamalla.

Tämä antaa molemmille osapuolille vielä paremman näkemyksen siitä, mitä ollaan tekemässä ja poistaa heti alussa mahdolliset väärinymmärrykset.

Prototyyppi toteutettiin yhdessä Oddy Inc:n kanssa.

Kaikki ylläolevat on kuvattu prosessissamme.

suunnitteluprosessi

4. Tekninen toteutus

Kun prototyyppi oli hyväksytty ja käyty vielä kertaalleen läpi asiakkaan ja kehittäjätiimin kanssa alkoi tekninen toteutus, josta enemmän kuvattu myöhemmin

5. Julkaisu

Ketterän ohjelmistokehityksen ansiosta kaikkia suunniteltuja ominaisuuksia ei ensimmäiseen 1.0 versioon edes haaveiltu. Ensimmäisessä versiossa julkaistiin sovelluskauppoihin vain tärkeimmät, hyödyllisimmät ja tarvittavat ominaisuudet. Pystyimme jatkamaan muiden ominaisuuksien tekemistä taustalla. Koska kyseessä oli kampanjaan liittyvä mobiilisovellus ja kampanjat kestävät aina vain rajoitetun ajan oli sovellus saatava ulos mahdollisimman nopeasti.

Mobiilisovelluksesta tehtiin yhteensä 3 virallista versiojulkaisua, joista ensimmäinen tapahtui 6.5 viikkoa projektin kehitystyön aloituksesta.

Tekninen kuvaus ratkaisusta

Prototyypin pohjalta alettiin alustamaan rinnakkain niin mobiilisovellusta kuin rajapintasiltaa.

Hankkeessa rakennettiin hybridisovellus jolloin yhdellä työllä (ja koodikannalla) saatiin sekä iOS (iPhone, iPad) että Android versiot Googlen Play Store ja Applen App Store sovelluskauppoihin.

Hybridisovellus toteutettiin käyttäen React Native ohjelmistokehystä, jolla saadaan molemmat versiot tehtyä yhdellä koodilla. Toki aina näissä on haasteensa, koska molemmat käyttöjärjestelmät ovat täysin erilaisia ja vaativat erilaiset asetukset sekä tietyt käytänteet.

Mobiilisovelluksesta löytyy mm. seuraavat ominaisuudet:

  • Rekisteröityminen ja tukijaksi liittyminen
  • Kirjautuminen ja salasanan palautus
  • Aikajana, johon kampanjan viestit tulevat
  • Sovellusviestit (push -viestit)
  • Tukijoiden kerääminen työpaikalla tai tapahtumassa
  • Yksittäisen tukijan lisääminen
  • Työelämäkysely
  • Soittelu ominaisuus
  • Omien tietojen ja salasanan vaihto

Kuulostaa yksinkertaiselta, eikö totta? Sitähän se ei aivan ole, joten olemme hieman avanneet alla mitä kaikkea näiden tekemiseen tarvittiin.

Tietoturva on aina tärkeää ja vielä tärkeämpää kun kerätään henkilötietoja. Henkilötietojen keräys on nykyisen tietosuojalain mukainen. Esimerkiksi GDPR tuli heti alussa ottaa huomioon, kuten kaikissa hankkeissamme. Näissä perustarpeet ovat, kuten nykypäivänä aina, että tieto kulkee salattuna paikasta A paikkaan B ja tarvittaessa takaisin paikkaan A.

Uskallammekin avata teknisen ratkaisumme hieman laajemmin kuin yleisesti, koska luotamme ammattitaitoomme ja käyttämiemme sovellusten tietoturvaratkaisuihin.

Lisäksi tähänkin projektiin kuului itse kehityksen lisäksi projektinhallintaa, testausta natiivilaitteilla sekä koneellisesti, sovelluksen julkaisu eri kauppoihin ja tietysti suuri määrä kuvankäsittelyä.

Rajapinnat

Nation Builder

Vapaiden valtakunta -kampanjan verkkosivusto on rakennettu Nation Builder -sovelluksen päälle. Nation Builder tarjoaa valmiit ominaisuudet hallita suuria kampanjoita ja tietoa. Samaisesta sovelluksesta löytyy myös yksinkertainen julkaisujärjestelmä, jolla voidaan tehdä nopeastikin kampanjasivustoja.

Rakensimme ensimmäistä kertaa rajapinnan mobiilisovelluksen ja Nation Builderin välille. Mobiilisovelluksessa kerättävät tiedot kulkevat kaksisuuntaisesti näiden välillä. Kirjautunut henkilö voi päivittää tietojaan joko Nation Builderin tarjoamassa käyttöliittymässä tai suoraan mobiilisovelluksessa.

Kampanjasta kerätty tieto viedään tietoturvallisesti rakentamamme rajapintasillan kautta Nation Builder sovellukseen, missä se jatkokäsitellään ja kampanjan struktuuri pysyy näin hallinnassa.

Facebook

Facebook rajapinta rakennettiin hakemaan Vapaiden valtakunta  –Facebook sivun postaukset. Facebookista haetut viestit näytettiin sovelluksen aikajananäkymässä sekä jokaisesta viestistä lähetettiin sovelluksen käyttäjälle push -viesti (sovellusviesti).

Nexmo

Käytimme Nexmon tarjoamaa Voice API rajapintaa mobiilisovelluksessa tarjottavaan soitto-ominaisuuteen. Soitto-ominaisuus oli rajattu tietylle käyttäjäryhmälle. Soitto kampanjan tukijoille tapahtui rajapinnan ansiosta täysin anonyymisti.

Google Firebase Cloud Messaging, FCM

Google Firebase tarjosi nopean tavan lähettää push -viestit (sovellusviestit) eri laitteille. Mobiilisovelluksessa oli tuki sekä iOS että Android puhelimien sovellusviesteille.

Rajapintasilta

Kaikki ylläolevat rajapinnat integroitiin rajapintasillan avulla mobiilisovellukseen. Silta hoiti kaiken tiedonkäsittelyn ja lähetti sen tarvittaviin palveluihin. Rajapintasilta toimi tarpeen mukaan kaksisuuntaisesti, jolloin tietoja voitiin päivittää myös tämän kautta.

Käytetyt teknologiat

Tietokannat

  • MariaDB

Ohjelmistokehykset ja kirjastot

  • Laravel
  • React
  • React Native

Käytetyt ohjelmisto- ja scriptikielet

  • PHP
  • JavaScript / EcmaScript
  • HTML5, SCSS

Palvelimet

  • Google Compute Platform

Statistiikkaa

Projektiin osallistujien määrä Oddy Tech:ltä: 5 henkilöä.
Projektiin osallistujien määrä Oddy Tech:n tyttäreltä Oddy Inc:ltä: 2 henkilöä.

Yhteensä, 7 henkilöä.

Mobiilisovelluksen kehitykseen käytetty määrä projektista: 50%

Rajapintasillan kehitykseen käytetty määrä projektista: 30%

Muuhun hankkeeseen liittyviin toimiin käytetty määrä projektista: 20%

Tutustu toteutuksiimme