Flow:n hyödyntämismahdollisuudet kasvoivat jälleen merkittävästi, kun julkaistiin käyttäjän sijaintiin pohjautuva käynnistin (trigger) .
Mihin tätä uutta käynnistintä voi hyödyntää?
Vaikka mihin. Käydään tällä kertaa läpi kaksi toteutusta, joita ei aiemmin voinut tehdä. Ainakaan näin helposti.
Esimerkki 1 – Uusi matkustusohje
Kuvitteellisen organisaation työntekijät tekevät paljon työmatkoja ulkomaille. Eivät kaikki työntekijät, mutta noin 15% henkilöstöstä. Organisaatio päättää muuttaa matkustuspolitiikkaa siten, että kaikkien työntekijöiden tulee tehdä matkustusilmoitus ennen lähtöä maasta.
Mutta miten tämä viestittäisiin henkilöstölle?
- Uutinen intrassa -> ihmiset lukee huonosti
- Kaikille sähköpostia -> ihmiset lukee huonosti
Mitä jos muutoksesta voisi tiedottaa ainoastaan niitä henkilöitä, jotka ovat oikeasti matkustamassa?
Näin me teemme. Tiedotamme muutoksesta ainoastaan henkilöitä, jotka saapuvat lentokentälle.
Luodaan uusi Flow ja valitaan käynnistimeksi sijainnin (location) alta löytyvä ”Kun siirryn alueelle tai poistun sieltä” (When I enter or exit an area).
Seuraavaksi määritellään alue, johon saavuttaessa Flow käynnistyy.
Alueen valinta on tehty todella helpoksi. Voit hakea oikean paikan osoitteella, koordinaateilla ja tämän jälkeen hienosäätää sijaintia kartalla käsin. Zoomaamalla säädetään alueen läpimittaa.
Haetaan osoitehaulla Helsinki-Vantaan lentokenttä ja siirrytään sinne.
Vaihdetaan kiinnostavan alueen läpimittaa suuremmaksi. Näin Flow lähtee varmasti käyntiin lentokentälle saavuttaessa.
Nyt tiedämme työntekijän saapuneen lentokentälle. Voimme lähettää hänelle tiedon muuttuneesta matkustusohjeesta.
Tehdään se sekä ilmoituksella Flow-sovellukseen (Send me a mobile notification), että sähköpostilla.
Ilmoituksen lähetys on suoraviivaista.
Mutta se sähköposti. Mistä tiedämme kenelle se lähetetään? Kuka Flow:n on laukaissut?
Käytetään Hae minun profiilini (Get my profile) -toimintoa, jolla saamme selville käyttäjän sähköpostiosoitteen.
Tämän jälkeen sähköpostin lähettäminen on helppoa.
Lopputulos (ilmoitus + sähköposti) näyttää tältä.
Esimerkki 2 – Baarisuunnistus
Tehdään vapun kunniaksi vielä toinen esimerkki. Tyky-päivän baarisuunnistus. Idea on se perinteinen.
- Startti klo 17
- Tavoitteena käydä neljässä määrätyssä baarissa
- Baareissa odottaa aina tehtävä
- Kaikki ovat voittajia
Mitään paperilappuja ei tietenkään tulostella, vaan kaikki toteutetaan sähköisesti.
Aloitetaan.
Tiedot talteen SharePoint-listalle
Luodaan suunnistusta varten SharePoint-lista. Sen sarakkeet ovat.
- Suunnistajan sähköposti (competitor)
- Seuraava baari (Next pub)
- Jokaisesta kisan baarista
- onko käyty kyllä/ei (Pub x)
- milloin baariin on saavuttu (Pub arrival time)
Baarisuunnistus PowerApps
Luodaan tyhjä PowerApps (puhelin layoutilla) ja lisätään sen tietolähteeksi (Näytä -> Tietolähteet) juuri luomamme SharePoint lista.
PowerAppsin käynnistyessä (App -> OnStart) tarkistetaan löytyykö suunnistaja SharePoint-listalta. Mikäli ei löydy, lisätään hänet sinne oletusarvoilla (= yhdessäkään baarissa ei ole käyty).
Samalla asetetaan henkilön suunnistuksen tämänhetkiset tiedot muuttujaan (colCurrentUserRow).
Luodaan samalla kokoelma (colNextStops), joka sisältää pubit ja niiden osoitteet.
Sovelluksessa on ainoastaan yksi näyttö. Lisätään siihen muutama kiinteä otsikko sekä tekstikenttä, jossa näytetään seuraavan pysäkin osoite.
SharePoint-listalla on tallennettuna tieto, mikä on suunnistajan seuraava kohde (next stop). Haemme sitä vastaavan osoitteen colNextStops muuttujasta.
LookUp(colNextStops,NextStop = First(colCurrentUserRow).'Next stop').GuideText
Näin sovelluksemme osaa aina näyttää suunnistajalle seuraavan baarin osoitteen.
Lisätään jokaista baaria kohden hymynaama. Mikäli baarissa ei ole käyty on naama surullinen. Käynnin jälkeen ikoniksi vaihdetaan hymyilevä versio.
Icon: If(First(colCurrentUserRow).'Pub 1', Icon.EmojiSmile, Icon.EmojiSad)
Kohteen nimi (kovakoodattu tekstikenttään) näytetään tietenkin vasta kun sinne ollaan saavuttu.
Suunnistuksella on aikaraja. Lisätään näytölle kello, joka kertoo montako tuntia, minuuttia ja sekuntia kisaa on jäljellä.
Tätä varten tehdään ajastin, joka käynnistyy automaattisesti uudelleen 100 millisekunnin välein.
Ajastimen käynnistyessä päivitetään muuttuujaan suunnistuksen päättymisajan ja nykyhetken ero.
Ajastin piilotetaan (visible = false) ja muuttuja (varCountdown) näytetään omassa tekstikentässä sopivasti muotoiltuna.
Viimeistellään näyttö lopuksi oman yrityksen väreihin sopivaksi.
PowerApps on valmis. Vielä pitää päivittää suunnistajien tiedot heidän saapuessa baariin.
Rastille saapuminen – Flow
Luodaan Flow, joka käynnistyy henkilön saapuessa alueelle. Määritellään alueeksi baarikierroksen ensimmäinen rasti, joka on Helsingin Kalliossa.
Seuraavaksi selvitetään kuka baariin on saapunut. Tämä onnistuu hakemalla Flow:n suorittajan oma profiili.
Sitten haetaan SharePoint-listalta kilpailijaa vastaava rivi. Tämä taas onnistuu hakemalla listan kaikki kohteet ja suodattamalla hakua Title-kenttään tallennetun sähköpostiosoitteen avulla (kyllä, posti = email).
Lopuksi päivitämme kilpailijan tietoihin hänen saapuneen ensimmäiselle rastille. Lisätään varmuuden vuoksi myös saapumisaika, jos siitä tulee jälkeenpäin epäselvyyttä.
Jokaista suunnistuksen baaria kohden tulee tehdä vastaava Flow.
Valmista!
Yhteenveto
Sijaintitiedon hyödyntäminen on houkutteleva ajatus. Pidä kuitenkin mielessä seuraavat.
- Flow käynnistyy yhdestä sijainnista. Jos haluat rakentaa automaatioita esimerkiksi toimipaikalle saapumiseen liittyen, tulee jokaista toimipaikkaa kohden rakentaa oma Flow.
- Flow:n käynnistyminen perustuu käyttäjän mobiililaitteen sijaintiin. Käytännössä
- Käyttäjillä tulee olla Flow asennettuna mobiililaitteeseensa
- Käyttäjien tulee antaa Flow:lle lupa käyttää laitteen sijaintitietoa. Myös silloin kun Flow-sovellus ei ole käynnissä. Tämä haiskahtaa ohjelmalta joka kuluttaa nopeasti puhelimen akkua -> käyttäjät eivät välttämättä tähän suostu.
- Flow tuntuu käynnistyvän pienellä viiveellä. Tämä rajaa tiettyjä käyttöskenarioita ulos.
Puutteistaan huolimatta tämä on mahtava ominaisuus, jolle uskon löytyvän käyttöä. Muutakin kuin baarisuunnistus.