39
Context is king: microlocation, iBeacon and Estimote @giorgionatili #mobiletea #nese 1

I beacon mobile_tea

Embed Size (px)

Citation preview

Context is king: microlocation, iBeacon and Estimote

@giorgionatili #mobiletea #nese 1

About Me

- Technical Leader and Agile Coach

- Front-end Developer (test first!)

- Mobile Developer (Hybrid, iOS and Android)

- Technology Enthusiast

- GsD since 2001

- Mentor @ AirPair.com

@giorgionatili #mobiletea #nese 2

3@giorgionatili #mobiletea #nese

Forgive Please my Accent!

Introduction

How do beacons work?Awesome stuff done with beacons

+ Is there more to it?

3

1

2

@giorgionatili #mobiletea #nese 4

Welcome to the age of contextual computing!

5

Are smartphones really as smart as we need them to be?

@giorgionatili #mobiletea #nese 6

No! What they lack is real-world context.

7

8@giorgionatili #mobiletea #nese

Don’t be Confused!

What is iBeacon?

Apple’s protocol for communication over Bluetooth Smart (BT 4.0). Used to provide mobile apps with local context.

@giorgionatili #mobiletea #nese 9

What really is iBeacon?

@giorgionatili #mobiletea #nese 10

- A new technology that extends iOS Location Services

- An app can estimate your proximity to an iBeacon

- It’s a business service from Apple

11@giorgionatili #mobiletea #nese

How does it solve the problem?

- Honestly, which problem?

- Before iBeacon: walk in, like something, buy it, etc.

- After iBeacon: walk in, phone vibrate, swipe, accept terms, reject spam, open app, swipe (it’s always needed), find a price, #!#%%@, probably buy, etc.

12@giorgionatili #mobiletea #nese

Let’s start to deal with real problems!

- Build an audio guide for visitors in a museum

- Build an analytic system to collect information about people flow in a shop

- Build a monitoring system to avoid a children can leave the school without the teachers are aware

- Build a system to control lights and save energy

- Help your drone flying using the beacons signals to give directions to a flight controller

What does Estimote do?

Estimote builds a platform on top of iBeacon to empower developers with the best tools for creating context-aware apps.

@giorgionatili #mobiletea #nese 13

Bluetooth Smart-enabled device (iPhone 4S and higher, Android 4.3 and higher) with a relevant app installed.

Technical requirements

iOS 8 for getting your app icon visible on the iPhone lock screen.

@giorgionatili #mobiletea #nese 14

How do beacons work?

@giorgionatili #mobiletea #nese 15

16

I am a developer, what I have to do to start?

Sign up and start to manage your Devices

@giorgionatili #mobiletea #nese 17

Download the SDK and Demos

@giorgionatili #mobiletea #nese 18

- iOS SDK https://github.com/Estimote/iOS-SDK

- Demos tiny.cc/beacons

Cocoa Pods

@giorgionatili #mobiletea #nese 19

CocoaPods is the dependency manager for Swift and Objective-C Cocoa projects. It has thousands of libraries and can help you scale your projects elegantly.

$ sudo gem install cocoapods $ pod setup $ pod install

20@giorgionatili #mobiletea #nese

Manage Multiple Ruby Versions

$ curl -sSL https://get.rvm.io | bash -s stable $ source ~/.rvm/scripts/rvm

Beacons broadcast their ID and Measured Power in regular intervals. ID consists of three parts: UUID (128 bits), Major (16 bits), Minor (16 bits). Measured Power is a value used by smartphones to calculate proximity.

How do beacons work?

UUID Major Minor

@giorgionatili #mobiletea #nese 21

What is a beacon region?

All beacons in Esti Museum: B9407F30-F5F8-466E-AFF9-25556B57FE6D : * : * All beacons in the North Wing: B9407F30-F5F8-466E-AFF9-25556B57FE6D : 1 : * THE beacon in the North Wing, at the Exhibit A: B9407F30-F5F8-466E-AFF9-25556B57FE6D : 1 : 1

@giorgionatili #mobiletea #nese 22

Detect movementin and out of a region

Region monitoring: what is it?

@giorgionatili #mobiletea #nese 23

Region monitoring: how does it work?

ESTBeaconManager startMonitoringForRegion:

Permissions requestAlwaysAuthorization

NSLocationAlwaysUsageDescription

Delegates beaconManager:didEnterRegion: beaconManager:didExitRegion:

@giorgionatili #mobiletea #nese 24

Beacon ranging: what is it?

ImmediateNearFar

0.5m3m70m

25

Beacon ranging: how does it work?

ESTBeaconManager startRangingBeaconsInRegion: !

Delegates beaconManager:didRangBeacons:inRegion:

!

Permissions requestWhenInUseAuthorization

NSLocationWhenInUseUsageDescription

@giorgionatili #mobiletea #nese 26

High-level feature that allows for enhancing apps with context of time.

What are triggers?

@giorgionatili #mobiletea #nese 27

How do triggers work?

ESTProximityRule trigger actions based on in or outside range of nearables

ESTMotionRule trigger actions based on whether a nearable is in motion or not

ESTOrientationRule trigger actions when a nearable is in a specific orientation

@giorgionatili #mobiletea #nese 28

Examples

ESTTrigger *forgotBagTrigger = [[ESTTrigger alloc] initWithRules:@[isMorningRule, insideCarRule, noBagRule] identifier:@"forgotBagTrigger"]; [self.triggerManager startMonitoringForTrigger:forgotBagTrigger];

Obj-C

let forgotBagTrigger = ESTTrigger( rules: [isMorningRule, insideCarRule, noBagRule] identifier: "forgotBag") triggerManager.startMonitoringForTrigger(forgotBagTrigger)

Swift

@giorgionatili #mobiletea #nese 29

30@giorgionatili #mobiletea #nese

How Objective-C looks like now?

Integrating your beacon-enabled apps with a cloud backend gives it superpowers!

How do I get even more context?

@giorgionatili #mobiletea #nese 31

32

Let’s take a look to some case studies…

Order food and pay with an app and have it delivered to your table. No queues, no checks, no hassle! !

http://downtownapp.co

33

Smart office and workplace analytics. Never worry about booking a room again. !

https://robinpowered.com

34

Smart app-launcher aware of local context. Life made easier. !

http://contrast.co/launch-center-pro/

35

36

Explore the code and run a demo!

Cool! How do I get started?

Build your app: developer.estimote.com !

SDK: github.com/estimote !

Example apps: tiny.cc/beacons !

Estimote Community Portal: https://community.estimote.com

37

Is there more to it?

38

39