Ultrahackissa marraskuussa törmäsin Bt.tn porukkaan, joka oli tuonut muutamia nappeja näytille ja keskusteltavaksi. Muistin nähneeni tästä napista jotain juttua somessa twitter virrassa, mutta koskaan ei ollut aikaa siihen perehtyä. Ei sitä aikaa ollut Ultrahackissakaan, kun aika meni tiimejä mentoroidessa ja oman esityksen vetämiseen. Sentäs sain sovittua jatkokuviot siellä bt.tn edustajien kanssa. Nyt sitten sain yhden napin käsiini ja päätin sitä hieman tutkailla ja katsella.
“Copy-paste” testit
Ensimmäiset testit oli aika suoraviivaisia ja “copy-paste” tyylisiä. Nappien toimintalogiikan ohjaus tapahtuu web käyttöliittymän kautta eikä siellä oikeasti mitään tarvitse koodata.
Palvelu toimii hyvin pitkälti niin että nappiin kytketään joku haluttu toiminta tai useita. Pistin napin painalluksen lähettämään twiitin ja siinä mukana aiemmin ottamani kuvan napista.
Seuraavaksi kokeilin sitä että napin painallus lähettää sähköpostia minulle. Kokeilin myös palvelun sisäistä SMS viestin lähettämistä vaimon kännykkään. Sen jälkeen tutkailinkin jo Zapier kytkentää. Bttn mahdollistaa muun muassa IFTTT ja Zapier kytköksen Twitterin ja Twilion lisäksi. Konsepti on helppo omaksua. Kynnys käyttöönotossa on olematon.
API löytyy
Näiden kokeiden jälkeen aloin tutkimaan alustaa vähän enemmän ja törmäsin API -sivustoon. Nappien kytkös ja sen takana oleva logiikka on kovin yksinkertainen sisältäen tyypillisesi webhook kautta toimintojen laajentamisen.
Jokaisen napin tietoihin pääsee käsiksi REST API:n kautta. Oletuksena osaan pyynnöistä vaaditaan API key, jonka voi generoida hallintasivustolla. Perustiedot (Laitetunniste, Lyhyt tunniste) saa oletuksena ilman API keytä, mutta enemmänkin voi käyttäjä itse määrittää kerrottavan. Tässä esimerkki REST kutsu perustietoihin minun napista: https://api.bt.tn/2014-06/10117/info joka palauttaa:
{"bid":10117,"address":["0866771028675832"]}
API asetukset
Vääntelin vähän hanikoita ja huomasin, että jos yllä olevan kuvan mukaisissa asetuksissa vääntää “no” -> “yes” niin API ei vaadi tunnistusta, eli tieto on avointa. Se mitä esim perustietoihin (https://api.bt.tn/2014-06/10117/info) tuli muutaman klikkauksen jälkeen näytti tältä:
Vastaavasti tapahtumalaskuri tuotti dataa:
Varsin kompakti palvelu ja jäin miettimään mihin tätä käyttäisi sitten :) Luulisin että tässä voisi olla eväitä esim peruskoulun “koodausopetukseen”, eli simppeli setup jonka kautta opettaa ensimmäisiä askeleita virtuaalisen ja fyysisen maailman yhdistämisessä sekä logiikan parissa. Taidan yllyttää paria luotto-opettajaa tekemään vähän ajatustyötä.