Automatizált parkolás lokáció alapon

Egy nörd megoldás 

február 17, 2015

Még az Agyvihar podcast 15. epizódjában beszéltünk arról, miként automatizáltam a telefonomon a mobil parkolás elindítását. Aztán a 16. epizódban kiderült, hogy kicsit ágyúval lőttem verébre, de nézzük is, miről van szó.

A Workflow app

Sokak várták már és végre megérkezett a Worflow nevű alkalmazás iOS-re, mely az OS X Automator szolgáltatásához hasonlít (amivel a pdf-ek mp3-má történő felolvasós átalakítását is végzem), csak a kvázi scripteket a mobiltelefonon futtatja.

Sokak kreativitását megmozgatta ez az alkalmazás és jobbnál jobb “workflow”-k jelennek meg, természetesen a haszontalan “osszuk meg a képet instagramon” jellegűek mellett.

Éppen ezért nagy kihívás volt számomra valami igazán hasznosra használni ezt az alkalmazást, amiben amúgy továbbra is nagy jövőt látok. Elkezdtem átgondolni, hogy melyek azok a folyamatok, melyeket tudnék az iOS munkafolyamatomban automatizálni. Nem könnyű, illetve ilyenkor jön rá az ember, hogy mennyire is “pótcselekvésekre” használja a mini-számítógépet, amit naponta a kezében tart.

Launch Center Pro app

A Launch Center Pro (LCP), ahogyan a neve is utal rá, egy launcher alkalmazás, melyhez szintén kell egy kis kreativitás, hogy igazán hasznossá tegyük. Részletes ismertetésbe itt sem mennék bele, sok mindent tud, amit a Workflow nem, viszont sok mindent nem tud, amit a Workflow igen. Így adódott a lehetőség, hozzuk össze a kettőt.

A parkolás problémája

Mivel négy megyében dolgozom és a kórházak előtti utcák általában fizető parkolóhelyek, napi szinten kell használnom a mobilparkolást. Szerencsére egyre több hely került bele a szolgáltatási körbe, így gyakorlatilag minden “munkahelyem” esetére meg tudom csinálni az automatizálást.

Workflow STOPDe miről is van szó pontosan? Egy parkolási zónába érkezve gyakran elfeljtettem, hogy ott pontosan melyik telefonszámra is kell az sms-t küldeni. Oké, a fizetőautomatákon rajta van, de körülményes volt oda menni, lenézni, elküldeni stb…

STOP SMSA Workflow alkalmazás segítségével kreáltam minden egyes parkolási zónámra két scriptet, egy START és egy STOP címkével. A START az autóm rendszámát tartalmazza, mint az SMS szövege, míg a STOP a “STOP” szöveget.

Az egész előnye az, hogy az adott zónában kiválasztott worflow kikeresi magától a telefonszámot, amire a megfelelő szó küldését előkészíti, nekem csak a “send” gombra kell nyomnom.

Mindez persze így még nem elég, mert ez így eddig csak félautomata. Így hát azon kezdtem el gondolkozni, hogyan lehet lokáció alapon automatikusan aktiválni a workflow-t. És itt jön képbe a Launch Center Pro.

Location trigger, geofence

URL sémaA Workflow alkalmazás egyelőre nem tud lokáció alapon triggert fogadni, viszont az egyes scriptek exportálhatóak: akár a home screenre, akár pedig a Launch Center Pro-ba (ami tulajdonképpen egy komlex home screenként is felfogható). URL sémák segítségével a LCP-ból elindítható a Workflow script.

GeofenceA LCP azonban tud egy olyat, hogy location trigger: megadható neki, hogy egy adott zónába érkezve – vagy elhagyva azt – elindítsa az adott LCP actiont, ami jelen esetben egy hivatkozás a Workflow scriptre (és ez itt az ágyúval verébre lövés, de erről később).

Füred zónaEzzel a megoldással automatizálható az egész folyamat, hiszen ha megérkezek a zónába, egyből elindul a LCP action, ami megjelenít egy notifikációt. Itt szükséges interakció a felhasználó részéről, egy slide elegendő.

NotifikációEkkor aktiválom tulajdonképpen az adott lokációra jellemző LCP actiont, ami elindítja a Workflow scriptet. Mire találok parkolóhelyet, már kész az SMS az autóm rendszámával a megfelelő parkolási zóna telefonszámára, csak a “send” gombra kell nyomnom, és kész.

A módszer ugyanúgy működik zónába érkezéskor és zónából távozáskor is, természetesen a releváns scriptet elindítva.

A módszer talán egyetlen hátránya, hogy – igaz, csak egyszer – meg kell csinálni minden egyes zónára a START és STOP LCP actionöket.. Workflow script azonban elegendő 1-1 db, hiszen paraméterezhető .

Aztán jött Wyctim

És közölte velem az Agyvihar 16. epizódjában, hogy amit csináltam, azt egy alkalmazással az LCP-val is meg tudom oldani. A kulcs a System Actions->In-App Messaging->Send Message with Body. Korábban ezt én nem fedeztem fel, csak a sima Send Message to Contact megoldással próbálkoztam, ami – mivel nem lehetett megadni az üzenet tartalmát – nem volt alkalmas.

LCP ActionökMajd ráveszem magam és átírom az actionöket, de egyelőre marad ez a hibrid megoldás, hiszen tökéletesen bevált. Ja, és már mentett meg parkolási bírságtól: ránéztem a telefonra és láttam a notifikációt, hogy indítsam el a parkolást.