57

Flare: an overview

Embed Size (px)

Citation preview

Flare APIs Overview Andrew Zamler-Carhart, Technical Leader

•  What is Flare? •  Use cases

•  Technical info

•  Code example

•  Resources

Agenda

What is Flare?

“Flare allows users with mobile devices to discover and interact with things in an environment. It combines multiple location technologies with a realtime communications architecture, to enable new kinds of user interactions.”

Interaction modes •  When the user enters an environment, their device can show the location of

nearby things

•  When they come near to a thing, they can interact with it by:

•  getting information about its current state

•  changing its state

•  performing actions

Use cases

Potential markets •  Retail

•  Museums

•  Advertising

•  Industrial

•  Public transport

•  and more!

Technical Info

Flare server •  Open source

•  Implemented in Node.js and MongoDB

•  You can run it yourself

Location technologies •  Bluetooth beacons (iBeacon, AltBeacon, Eddystone)

•  Wi-Fi + Cisco CMX (coming soon)

•  technology agnostic, can work with other kinds of sensors

Flare model •  Environment: a geographic location with a grid

•  Zone: a rectangular division of an environment

•  Thing: something interesting to the user

•  Device: a user’s tablet, phone or watch

Flare API •  REST: create, read, update, delete Flare objects

•  Socket.IO: realtime commands and notifications

Socket.IO commands •  Subscribe

•  Unsubscribe

•  Get data value

•  Set data value

•  Get position

•  Set position

•  Perform action

Socket.IO notifications •  Data changed

•  Position changed

•  Device enters zone

•  Device exits zone

•  Device near to a thing

•  Device far from a thing

•  Handle action

Types of client •  User apps on tablet, phone and watch

•  Interactive displays

•  Connected things

•  Admin tools

•  Import scripts

•  Logging scripts

Sample code •  JavaScript

•  Swift (iOS and Mac)

•  Java (Android)

•  Python

Sample apps •  Trilateral: shows map of environment on phone (iOS, Android, Android Wear)

•  Reflector: interactive digital signage (web)

•  Explorer: create and modify Flare objects (web, Mac)

•  Lights: control connected lights (Mac)

Tutorials •  Importing data (JavaScript, Swift, Python)

•  Location (Swift, Java)

•  Socket.IO (JavaScript, Swift, Java)

Code example

Just a little Swift + JavaScript

And the other way

Resources

Links •  Documentation on DevNet: https://developer.cisco.com/site/flare

•  Source code on GitHub: https://github.com/CiscoDevNet/flare

•  Video on YouTube: https://youtu.be/HKBnqo9QlEk

•  Sandbox: http://flaresandbox.cisco.com:8181

•  Hackathon: http://hackathon.cisco.com/event/PIRL-Hackathon-2015

Thank you