SlideShare a Scribd company logo
1 of 12
Why we rewrote
iBeacon handling
on Android
iBeacon is Trademark of Apple Inc!
Agenda
•Streethawk’s story for Beacons
•Choosing Radius library
•Problems with Radius SDK
•Apple’s plays it’s IP card
•Altbeacons
•Streethawk’s solution
A Quick Note on why this is relevant
“iBeacons” on iOS are pretty easy (special case of location services)
…easy if you only have 20 regions….
Beacons are harder on Android its at a lower Bluetooth level
iBeacon is Trademark of Apple Inc!
Streethawk’s need/use-case for “Beacons”
• Independent of GPS, best for indoor scenarios.
• Highly accurate location based campaigns
• Notifies when a user enters or exits beacons
region.
• Detects user’s distance from beacons
• Server/Cloud based personalisation
• For our customers needs are proximity & distance
- not to many other fancy features are needed
First we chose Radius library
• Open source library for Beacons (yay!)
• Works with all kinds of Beacons (yay!)
• Active developer community (yay!)
• Great support, lots of Q&A on Stack overflow (yay!)
Problems with Radius library
Background mode wasn’t working as
per our expectations.
Nexus 4/5 problems
Wifi signal dropped continuously.
When BLE scans occur - below the
HAL layer - unfixable
Distribution with Streethawk SDK
JAR dependency issues
Radius & Apple Legal Requirements
Radius introduce Altbeacons
Radius solution to:
iBeacon brand issues (e.g Android devices)
Library still under development
Too many Library updates (impact our SDK)
Altbeacon adoption as a “standard” is uncertain
Wifi dropping problem still exists
iBeacon is Trademark of Apple Inc!
What Why
We wrote our own parser
✓ Solved the distribution problem for
jars and aars
Same beacon detected for iOS and
Android
✓ Simple deployment and Cost of
Ownership
Nexus 4/5 Glitches solved
✓ Nexus has a huge installed base
carefully scheduling task for
scanning beacons
background/foreground different intervals
SDK compatible with other third
party beacons SDKs
e.g Bluecat Secure Mode
realistically you need to co-exist
Streethawk’s solution
The Logic
•Scan for available BLE devices
•Extract UUID,Major and Minor numbers
•Compare with list of beacons that customer has registered in
Streethawk’s console
•Notify server for the matched beacon
•Repeat the above process. Ignore beacons which were detected in
previous scans
•Notify server when beacon is no longer visible
Summary
1. Implementing Beacon parser
in Android is not as straight
forward as in iOS.
2. The old fragmentation issue is
everywhere (Nexus)
3. Risk: Will Google release
APIs for handling Beacons?
4. Will retailers place separate
Beacons for iOS and Android?
Thanks & Questions?
www: http://streethawk.com
SoundCloud: http://soundcloud.com/dj-streethawk
iTunes: http://bit.ly/MobileEngagementPodcast
Blog: http://streethawk.com/blog/
Twitter: @streethawkapp, @djinoz

More Related Content

What's hot

Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)
JJ Wu
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
ankush Ankush
 
What Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for MarketersWhat Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for Marketers
Ben Gaddis
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
Asim Rais Siddiqui
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
Bharat Gera
 
Apple The New iPad(Apple iPad 3rd generation)
Apple The New iPad(Apple iPad 3rd generation)Apple The New iPad(Apple iPad 3rd generation)
Apple The New iPad(Apple iPad 3rd generation)
JJ Wu
 

What's hot (20)

Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
 
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development  Training in MohaliStackLabs-DataDriven Labs - iPhone App Development  Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
 
Mobile Application testing- All you want to know to get started!!
Mobile Application testing- All you want to know to get started!!Mobile Application testing- All you want to know to get started!!
Mobile Application testing- All you want to know to get started!!
 
Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)
 
A seminar report on i cloud
A  seminar report on i cloudA  seminar report on i cloud
A seminar report on i cloud
 
What Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for MarketersWhat Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for Marketers
 
ios basics
ios basicsios basics
ios basics
 
iOS 9.3
iOS 9.3iOS 9.3
iOS 9.3
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
Ios development
Ios developmentIos development
Ios development
 
iOS Developer Concept introduction
iOS Developer Concept introductioniOS Developer Concept introduction
iOS Developer Concept introduction
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
 
Apple The New iPad(Apple iPad 3rd generation)
Apple The New iPad(Apple iPad 3rd generation)Apple The New iPad(Apple iPad 3rd generation)
Apple The New iPad(Apple iPad 3rd generation)
 
How & where to start iOS development?
How & where to start iOS development?How & where to start iOS development?
How & where to start iOS development?
 
Ios
IosIos
Ios
 
Native vs Hybrid vs Web
Native vs Hybrid vs WebNative vs Hybrid vs Web
Native vs Hybrid vs Web
 
iPhone Programming
iPhone ProgrammingiPhone Programming
iPhone Programming
 
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
 

Viewers also liked

Cultural factors effecting ict
Cultural factors effecting ictCultural factors effecting ict
Cultural factors effecting ict
Adam Heatherington
 
Rent apartment 3 bedrooms in compound City View at Cairo Alex Road pyramids
Rent apartment 3 bedrooms in compound City View at Cairo Alex Road  pyramidsRent apartment 3 bedrooms in compound City View at Cairo Alex Road  pyramids
Rent apartment 3 bedrooms in compound City View at Cairo Alex Road pyramids
ahmed khallaf
 

Viewers also liked (17)

Vernissage Improbable Citoyen ★ Exposition d'Art Effectual
Vernissage Improbable Citoyen ★ Exposition d'Art EffectualVernissage Improbable Citoyen ★ Exposition d'Art Effectual
Vernissage Improbable Citoyen ★ Exposition d'Art Effectual
 
Zaragoza turismo-52
Zaragoza turismo-52Zaragoza turismo-52
Zaragoza turismo-52
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esb
 
Projeto Prospect Acnase
Projeto Prospect AcnaseProjeto Prospect Acnase
Projeto Prospect Acnase
 
Review articles bio inspired algorithms
Review articles bio inspired algorithmsReview articles bio inspired algorithms
Review articles bio inspired algorithms
 
You've got an App - now what? Implementing your Engagement Strategy
You've got an App - now what? Implementing your Engagement StrategyYou've got an App - now what? Implementing your Engagement Strategy
You've got an App - now what? Implementing your Engagement Strategy
 
Ccmi 30 10-13
Ccmi 30 10-13Ccmi 30 10-13
Ccmi 30 10-13
 
Sociales mio
Sociales mioSociales mio
Sociales mio
 
Your CRM is Dead: what you need to know about Mobile Marketing Automation
Your CRM is Dead: what you need to know about Mobile Marketing AutomationYour CRM is Dead: what you need to know about Mobile Marketing Automation
Your CRM is Dead: what you need to know about Mobile Marketing Automation
 
Payload and logger
Payload and loggerPayload and logger
Payload and logger
 
Ingeniería genética Presentación
Ingeniería genética PresentaciónIngeniería genética Presentación
Ingeniería genética Presentación
 
Cronograma l2 año 2015 16 2 5to a corregida
Cronograma l2  año 2015 16 2 5to a corregidaCronograma l2  año 2015 16 2 5to a corregida
Cronograma l2 año 2015 16 2 5to a corregida
 
Introduction to Rust
Introduction to RustIntroduction to Rust
Introduction to Rust
 
Cultural factors effecting ict
Cultural factors effecting ictCultural factors effecting ict
Cultural factors effecting ict
 
Communiqué de presse "La Fabrique de l'Improbable"
Communiqué de presse "La Fabrique de l'Improbable"Communiqué de presse "La Fabrique de l'Improbable"
Communiqué de presse "La Fabrique de l'Improbable"
 
Rent apartment 3 bedrooms in compound City View at Cairo Alex Road pyramids
Rent apartment 3 bedrooms in compound City View at Cairo Alex Road  pyramidsRent apartment 3 bedrooms in compound City View at Cairo Alex Road  pyramids
Rent apartment 3 bedrooms in compound City View at Cairo Alex Road pyramids
 
Постанова Кабміну про корегування соціальних нормативів споживання енергоресу...
Постанова Кабміну про корегування соціальних нормативів споживання енергоресу...Постанова Кабміну про корегування соціальних нормативів споживання енергоресу...
Постанова Кабміну про корегування соціальних нормативів споживання енергоресу...
 

Similar to Why Streethawk re-wrote ibeacon handling on Android

Io t technologies
Io t technologies Io t technologies
Io t technologies
Umesh Bhat
 
NA Developer Day - Taking your COBOL apps to Net & JVM
NA Developer Day - Taking your COBOL apps to Net & JVM NA Developer Day - Taking your COBOL apps to Net & JVM
NA Developer Day - Taking your COBOL apps to Net & JVM
Micro Focus
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
Chris Ciborowski
 

Similar to Why Streethawk re-wrote ibeacon handling on Android (20)

Mobile SDK: Considerations & Best Practices
Mobile SDK: Considerations & Best Practices Mobile SDK: Considerations & Best Practices
Mobile SDK: Considerations & Best Practices
 
Create React Native App vs Expo vs Manually
Create React Native App vs Expo vs ManuallyCreate React Native App vs Expo vs Manually
Create React Native App vs Expo vs Manually
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Geo tech masterclass_beacons_oct
Geo tech masterclass_beacons_octGeo tech masterclass_beacons_oct
Geo tech masterclass_beacons_oct
 
Io t technologies
Io t technologies Io t technologies
Io t technologies
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
NA Developer Day - Taking your COBOL apps to Net & JVM
NA Developer Day - Taking your COBOL apps to Net & JVM NA Developer Day - Taking your COBOL apps to Net & JVM
NA Developer Day - Taking your COBOL apps to Net & JVM
 
IoTSummit: Create iot devices connected or on the edge using ai and ml
IoTSummit: Create iot devices connected or on the edge using ai and mlIoTSummit: Create iot devices connected or on the edge using ai and ml
IoTSummit: Create iot devices connected or on the edge using ai and ml
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
Azure iot edge and AI enabling the intelligent edge
Azure iot edge and AI  enabling the intelligent edgeAzure iot edge and AI  enabling the intelligent edge
Azure iot edge and AI enabling the intelligent edge
 
Elements of Connected Products
Elements of Connected ProductsElements of Connected Products
Elements of Connected Products
 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
 
IBeacons and Eddystone
IBeacons and EddystoneIBeacons and Eddystone
IBeacons and Eddystone
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
 
Session 01 - Introduction to Java
Session 01 - Introduction to JavaSession 01 - Introduction to Java
Session 01 - Introduction to Java
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
 
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
 

More from David Jones

Talk on Products for Founders Institute - July 2014
Talk on Products for Founders Institute - July 2014Talk on Products for Founders Institute - July 2014
Talk on Products for Founders Institute - July 2014
David Jones
 
Product Market Fit - lessons from the hampster wheel
Product Market Fit - lessons from the hampster wheelProduct Market Fit - lessons from the hampster wheel
Product Market Fit - lessons from the hampster wheel
David Jones
 

More from David Jones (20)

Pointzi Android Developers Talk - June17
Pointzi Android Developers Talk - June17Pointzi Android Developers Talk - June17
Pointzi Android Developers Talk - June17
 
Automate Mobile Growth Hacking - 6 Easy Organic Tactics you should do
Automate Mobile Growth Hacking - 6 Easy Organic Tactics you should doAutomate Mobile Growth Hacking - 6 Easy Organic Tactics you should do
Automate Mobile Growth Hacking - 6 Easy Organic Tactics you should do
 
Mobile Engagement Automation - a Darwinian Guide to Customer Relationships
Mobile Engagement Automation - a Darwinian Guide to Customer RelationshipsMobile Engagement Automation - a Darwinian Guide to Customer Relationships
Mobile Engagement Automation - a Darwinian Guide to Customer Relationships
 
Talk on Products for Founders Institute - July 2014
Talk on Products for Founders Institute - July 2014Talk on Products for Founders Institute - July 2014
Talk on Products for Founders Institute - July 2014
 
Get Users Back Into Your App! - Retention and Engagement
Get Users Back Into Your App! - Retention and EngagementGet Users Back Into Your App! - Retention and Engagement
Get Users Back Into Your App! - Retention and Engagement
 
Product Market Fit - lessons from the hampster wheel
Product Market Fit - lessons from the hampster wheelProduct Market Fit - lessons from the hampster wheel
Product Market Fit - lessons from the hampster wheel
 
Product/Market Fit Twists and Turns
Product/Market Fit  Twists and TurnsProduct/Market Fit  Twists and Turns
Product/Market Fit Twists and Turns
 
assert(CPA < LTV) - the most important line of code (AKA Startup Metrics ...
assert(CPA < LTV)  - the most important line of code (AKA Startup Metrics ...assert(CPA < LTV)  - the most important line of code (AKA Startup Metrics ...
assert(CPA < LTV) - the most important line of code (AKA Startup Metrics ...
 
StreetHawk for ISV SpeakEasy
StreetHawk for ISV SpeakEasyStreetHawk for ISV SpeakEasy
StreetHawk for ISV SpeakEasy
 
Product/Market Fit - Twists and Turns
Product/Market Fit - Twists and TurnsProduct/Market Fit - Twists and Turns
Product/Market Fit - Twists and Turns
 
Setting up for Global Success
Setting up  for Global SuccessSetting up  for Global Success
Setting up for Global Success
 
assert(CPA < LTV) - the most important line of code
assert(CPA < LTV)  - the most important line of code assert(CPA < LTV)  - the most important line of code
assert(CPA < LTV) - the most important line of code
 
Startup Metrics for Convicts
Startup Metrics for ConvictsStartup Metrics for Convicts
Startup Metrics for Convicts
 
The Rise and Rise of Web Fraud
The Rise and Rise of Web FraudThe Rise and Rise of Web Fraud
The Rise and Rise of Web Fraud
 
Skate to where the puck will be - cliche or axiom?
Skate to where the puck will be - cliche or axiom?Skate to where the puck will be - cliche or axiom?
Skate to where the puck will be - cliche or axiom?
 
Techy Things lawyers need to know
Techy Things lawyers need to knowTechy Things lawyers need to know
Techy Things lawyers need to know
 
Your clouds must be transparent - an intro to Cloud Security Alliance
Your clouds must be transparent - an intro to Cloud Security AllianceYour clouds must be transparent - an intro to Cloud Security Alliance
Your clouds must be transparent - an intro to Cloud Security Alliance
 
The Cathedral and the Bazaar - musings on iPhone and Android
The Cathedral and the Bazaar - musings on iPhone and AndroidThe Cathedral and the Bazaar - musings on iPhone and Android
The Cathedral and the Bazaar - musings on iPhone and Android
 
Some experiences from early-stage Australian startups
Some experiences from early-stage Australian startupsSome experiences from early-stage Australian startups
Some experiences from early-stage Australian startups
 
Dj Growthtown Feb09
Dj Growthtown Feb09Dj Growthtown Feb09
Dj Growthtown Feb09
 

Recently uploaded

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (7)

Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pureBromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 

Why Streethawk re-wrote ibeacon handling on Android

  • 1. Why we rewrote iBeacon handling on Android iBeacon is Trademark of Apple Inc!
  • 2. Agenda •Streethawk’s story for Beacons •Choosing Radius library •Problems with Radius SDK •Apple’s plays it’s IP card •Altbeacons •Streethawk’s solution
  • 3. A Quick Note on why this is relevant “iBeacons” on iOS are pretty easy (special case of location services) …easy if you only have 20 regions…. Beacons are harder on Android its at a lower Bluetooth level iBeacon is Trademark of Apple Inc!
  • 4. Streethawk’s need/use-case for “Beacons” • Independent of GPS, best for indoor scenarios. • Highly accurate location based campaigns • Notifies when a user enters or exits beacons region. • Detects user’s distance from beacons • Server/Cloud based personalisation • For our customers needs are proximity & distance - not to many other fancy features are needed
  • 5. First we chose Radius library • Open source library for Beacons (yay!) • Works with all kinds of Beacons (yay!) • Active developer community (yay!) • Great support, lots of Q&A on Stack overflow (yay!)
  • 6. Problems with Radius library Background mode wasn’t working as per our expectations. Nexus 4/5 problems Wifi signal dropped continuously. When BLE scans occur - below the HAL layer - unfixable Distribution with Streethawk SDK JAR dependency issues
  • 7. Radius & Apple Legal Requirements
  • 8. Radius introduce Altbeacons Radius solution to: iBeacon brand issues (e.g Android devices) Library still under development Too many Library updates (impact our SDK) Altbeacon adoption as a “standard” is uncertain Wifi dropping problem still exists iBeacon is Trademark of Apple Inc!
  • 9. What Why We wrote our own parser ✓ Solved the distribution problem for jars and aars Same beacon detected for iOS and Android ✓ Simple deployment and Cost of Ownership Nexus 4/5 Glitches solved ✓ Nexus has a huge installed base carefully scheduling task for scanning beacons background/foreground different intervals SDK compatible with other third party beacons SDKs e.g Bluecat Secure Mode realistically you need to co-exist Streethawk’s solution
  • 10. The Logic •Scan for available BLE devices •Extract UUID,Major and Minor numbers •Compare with list of beacons that customer has registered in Streethawk’s console •Notify server for the matched beacon •Repeat the above process. Ignore beacons which were detected in previous scans •Notify server when beacon is no longer visible
  • 11. Summary 1. Implementing Beacon parser in Android is not as straight forward as in iOS. 2. The old fragmentation issue is everywhere (Nexus) 3. Risk: Will Google release APIs for handling Beacons? 4. Will retailers place separate Beacons for iOS and Android?
  • 12. Thanks & Questions? www: http://streethawk.com SoundCloud: http://soundcloud.com/dj-streethawk iTunes: http://bit.ly/MobileEngagementPodcast Blog: http://streethawk.com/blog/ Twitter: @streethawkapp, @djinoz