getting started with ibeacons and aem

22
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 22-24 SEPTEMBER 2014 Getting Started with iBeacons and AEM Bartek Soin, Adobe Global Shared Services

Upload: bartek-soin

Post on 07-Jun-2015

198 views

Category:

Technology


3 download

DESCRIPTION

A quick introduction to iBeacons and some AEM extensions for iBeacons support.

TRANSCRIPT

Page 1: Getting started with iBeacons and AEM

APACHE SLING & FRIENDS TECH MEETUP BERLIN, 22-24 SEPTEMBER 2014

Getting Started with iBeacons and AEM Bartek Soin, Adobe Global Shared Services

Page 2: Getting started with iBeacons and AEM

§  What is this iBeacon thing?

§  How do I use it with AEM?

Page 3: Getting started with iBeacons and AEM

adaptTo() 2014 3

What is this iBeacon thing?

Page 4: Getting started with iBeacons and AEM

adaptTo() 2014 4

§  iBeacon is a tiny computer §  Uses Bluetooth Smart (BLE)

to broadcast its ID §  No  pairing  required  

§  Signal is picked up by different receivers §  Smartphone, Tablet, Google Glass...

© Estimote

Page 5: Getting started with iBeacons and AEM

adaptTo() 2014 5

§  Application handles events §  Even in the background and

when the device is locked §  Dedicated app allows you to

configure your beacons

© Estimote

Page 6: Getting started with iBeacons and AEM

adaptTo() 2014 6

© Estimote Source: Wikipedia

Page 7: Getting started with iBeacons and AEM

adaptTo() 2014 7

§  iBeacon broadcasts its UUID + major + minor

§  RSSI used to calculate distance

§  3 major zones: §  Far §  Near §  Immediate

© Estimote

Page 8: Getting started with iBeacons and AEM

adaptTo() 2014 8

© Estimote

Page 9: Getting started with iBeacons and AEM

Applications

adaptTo() 2014 9

Promotions & automatic payment

Retail stores, cafes...

Automatic check-in Airports, hotels, hospitals...

Location-based information

Airports, stadiums, museums, city guides...

Home automation Lights, locks, garage doors...

Page 10: Getting started with iBeacons and AEM

Pitfalls and shortcomings

adaptTo() 2014 10

§  Bluetooth and location services have to be enabled §  Bluetooth waves are easily blocked §  Low accuracy and not very stable

§  Rather unusable for positioning (trilateration) §  Battery drain in older phones §  Can be spoofed, applications need to handle

security

Page 11: Getting started with iBeacons and AEM

adaptTo() 2014 11

How do I use it in AEM?

Page 12: Getting started with iBeacons and AEM

adaptTo() 2014 12

§  Mostly with Mobile Apps in AEM 6.0 §  Ideas based on our POC-s for customers in

hotel and media industry

Page 13: Getting started with iBeacons and AEM

Authoring and simulation

adaptTo() 2014 13

§  Custom Client Context store §  Segments based on beacon proximity §  Components to use in targeted experiences

Page 14: Getting started with iBeacons and AEM

Runtime

adaptTo() 2014 14

§  Necessary PhoneGap plugins §  Extension to Target component – support for

targeted experiences in mobile apps §  Adobe Mobile Services

§  AEM Targeting (in progress)

Page 15: Getting started with iBeacons and AEM

Client Context store

adaptTo() 2014 15

§  Similar to geolocation §  Configurable beacons:

east-entrance,-30,40,orange,42041/42808

§  Stores the distances in microlocation/distance-* properties

Page 16: Getting started with iBeacons and AEM

Client Context store

adaptTo() 2014 16

§  microlocation.jsp

<div class="cq-cc-store">

<div class="cq-cc-content">

<c:forEach var="beacon" items="${properties.beacons}"> <!-- output beacon divs -->

</c:forEach> <span class="user drag"></span>

</div>

<div class="cq-cc-clear"></div>

</div>

Page 17: Getting started with iBeacons and AEM

Client Context store

adaptTo() 2014 17

§  script. js

user.drag(function(ev, dd) {

$('.microlocation .beacon').each(function(index, element) {

store.setProperty('distance-' + beaconLabel, t.getDistance(user, beacon));

});

});

getDistance: function(user, beacon) { return Math.round(Math.sqrt(x * x + y * y));

}

Page 18: Getting started with iBeacons and AEM

Building segments

adaptTo() 2014 18

§  Use the Beacon Proximity component:

§  ... or a script: parseInt(ClientContext.get('microlocation/distance-east-entrance')) < 85

Page 19: Getting started with iBeacons and AEM

Additional components – local notification

adaptTo() 2014 19

PhoneGap Local Notification plugin wrapped in AEM component localNotifier.addNotification({ alertBody: 'Hello World!’ });  

Page 20: Getting started with iBeacons and AEM

adaptTo() 2014 20

Demo

Page 21: Getting started with iBeacons and AEM

Summary

adaptTo() 2014 21

§  iBeacons are all the hype now, don’t miss it §  AEM package:

§  Still in development §  Relies on the Estimote SDK §  Let me know if you’d like to use it

Page 22: Getting started with iBeacons and AEM

adaptTo() 2014 22

Thanks! [email protected]