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).

location 1.png

Seuraavaksi määritellään alue, johon saavuttaessa Flow käynnistyy.

location 2

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.

location 3

Vaihdetaan kiinnostavan alueen läpimittaa suuremmaksi. Näin Flow lähtee varmasti käyntiin lentokentälle saavuttaessa.

location 4.png

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.

location-5.png

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.

Näyttökuva 2019-4-27 kello 8.41.12.png

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)

 

Näyttökuva 2019-4-27 kello 9.05.40.png

Baarisuunnistus PowerApps

Luodaan tyhjä PowerApps (puhelin layoutilla) ja lisätään sen tietolähteeksi (Näytä -> Tietolähteet) juuri luomamme SharePoint lista.

Näyttökuva 2019-4-27 kello 9.09.03.png

 

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).

Näyttökuva 2019-4-27 kello 9.37.30.png

Luodaan samalla kokoelma (colNextStops), joka sisältää pubit ja niiden osoitteet.

Näyttökuva 2019-4-27 kello 9.41.58.png

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.

Näyttökuva 2019-4-27 kello 9.45.32.png

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)

Näyttökuva 2019-4-27 kello 10.00.49.png

Kohteen nimi (kovakoodattu tekstikenttään) näytetään tietenkin vasta kun sinne ollaan saavuttu.

Näyttökuva 2019-4-27 kello 10.04.09.png

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.

Näyttökuva 2019-4-27 kello 10.07.34.png

Ajastimen käynnistyessä päivitetään muuttuujaan suunnistuksen päättymisajan ja nykyhetken ero.

Näyttökuva 2019-4-27 kello 10.10.27.png

Ajastin piilotetaan (visible = false) ja muuttuja (varCountdown) näytetään omassa tekstikentässä sopivasti muotoiltuna.

Näyttökuva 2019-4-27 kello 10.52.21.png

 

Viimeistellään näyttö lopuksi oman yrityksen väreihin sopivaksi.

Näyttökuva 2019-4-27 kello 11.22.05.png

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.

Näyttökuva 2019-4-28 kello 18.45.02.png

Seuraavaksi selvitetään kuka baariin on saapunut. Tämä onnistuu hakemalla Flow:n suorittajan oma profiili.

nc3a4yttc3b6kuva-2019-4-28-kello-18.59.59.png

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).

Näyttökuva 2019-4-28 kello 18.59.59

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ä.

Näyttökuva 2019-4-28 kello 19.04.27.png

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ä
    1. Käyttäjillä tulee olla Flow asennettuna mobiililaitteeseensa
    2. 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.