SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
IO13 Deep Dive - Location API
Technical deep dive
What’s new in Location API
Amrit Sanjeev
Bangalore Android User Group
What’s on the agenda today ?
Let go and find where our users are 
 

1Before the
new API 


2New APIs


3How is it
implmented
Before the new API
Things to keep in mind before you create your world using LBS
1
Some interesting stats 

• people	
  where	
  
aware	
  of	
  LBS	
  63%	
  
• report	
  having	
  
used	
  LBS	
  52%	
  
• thought	
  it	
  was	
  
valuable	
  94%	
  
• expressed	
  
concerns	
  	
  52%	
  
•  32% use it every month
•  10% use it every day


•  18% tell others their location
	
  
•  Expose location without consent 84%
•  Identity theft 84%
•  Loss of privacy 84%
	
  
LBS : Aspects to work on 
LBS
Control 
(Legal)
Trust
(Social)
Privacy
(Ethical)
Security
(Technolog
ical)
Complexity: What devs needed to work with
Trend : Changes in the type of application
Task	
  	
   Contextual	
  
Complexity : Sensor usage
2 Introduction to new APIs
Shiny new toys
Obstacles in LBS adoption
Fused Location provider
Geofencing
Acitvity monitoring
API : Fused Location Provider
Power
Accuracy 
Coverage
API : Fused Location Provider
Before	
   AEer	
  
•  Simplified API
•  3 main aspects than was worked on 
•  Speed 
•  Accuracy 
•  Coverge
Major Changes
Abstracts the use and
switching between
different hardware
based on availability .
Simpler API and
workflow
Better battery
performance 
Better average
accuracy 
Support for both
listeners and pending
intents
Workflow – with listeners
•  Create a instance of location client 
locationClient = new LocationClient();!
!
•  Call connect on it 
locationClient.connect();!
!
•  Get the last location if required by your logic 
Location loc = locationClient.getLastLocation();!
!
•  Create a location request 
LocationRequest request = new LocationRequest();!
request.setInterval(5000);!
request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);!
•  Request of location updates passing the request and listener 
locationClient.requestLocationUpdates(request, listener);!
Workflow – with pending intent
•  Create a pending intent 
PendingIntent pIntent = PendingIntent.getService(…);!
•  Request of location updates passing the
request and listener 
locationClient.requestLocationUpdates(request, listener);!
!
•  Write code to handle the intent 
Public void onHandleIntent(Intent intent);!
!
Priority Modes
GeoFencing – What and why
Virtual fence around a
area that can be defined
to get updates of users
entering and exiting 
Register 100 geofences in
one app 
Simple api for adding and
removing geofences
Adjusts location updates
based on user’s proximity
to the geofence and user’s
activity (still, walking,
driving, and so on).
Roughly 2/3 power saving
compared to proximity
alert
Workflow 
•  Create a instance of location client 
locationClient = new LocationClient();!
•  In onConnected() callback , create a geofence object
Geofence.Builder gBuilder = new Geofence.Builder();!
gBuilder.setTransitionType(…);!
gBuilder.setCircularRegion(lat, long , radius);!
gBuilder.setExpirationDuration(duration);!
GeoFence gFence =gBuilder.build();!
!
•  Add geofences to the locationclient 
locationClient.addGeoFences(List<GeoFences> ,
Pending Intent ,… );!
Advantages
•  Reduces power usage
•  System calls the pending intent to wake your
application .
•  Entry or exit areas
Activity Recognition
•  Sensor data to find the type of action the user
is performing
Workflow 

•  Create an activity recognition client 
ActivityRecognitionClient aClient = new
ActivityRecognitionClient(…);!
•  Connect the client 
aClient.connect();!
!
•  Request for activity updates
aClient.requestActivityUpdates(interval , callbackIntent)!
!
•  Use onHandleIntent to get the calllback and extract
the activity type .
ActivityRecognitionResult result =
ActivityRecognitionResult.extractResult(intent);!
DetectedActivity act = result.getMostProbableActivity();!
!
!
3 How is it implemeted ?
The internals
Distribution channel 

Google play
services channel
Backward
Compactible to
Froyo
Enhance APIs for
indoor mapping 
Auto update and
faster release cycles
for new features 
Improve accuracy
using new tech like
BT4.0 and 802.11v
Q&A
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev

Contenu connexe

Similaire à June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev

Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesNick Landry
 
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICSIEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICSaswin tbbc
 
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...Laurent de Bernede
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors APIeleksdev
 
Mobile applications chapter 6
Mobile applications chapter 6Mobile applications chapter 6
Mobile applications chapter 6Akib B. Momin
 
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...DataScienceConferenc1
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps APIGoogle Cloud Platform - Japan
 
Android location based services
Android location based servicesAndroid location based services
Android location based servicesaswath babu
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB
 
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroDevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroGaurav "GP" Pal
 
Opportunities and Challenges in Open Source AR in 2018
Opportunities and Challenges in Open Source AR in 2018Opportunities and Challenges in Open Source AR in 2018
Opportunities and Challenges in Open Source AR in 2018philip_lamb
 
Location Based Services - An Overview
Location Based Services - An Overview Location Based Services - An Overview
Location Based Services - An Overview amsanjeev
 
WordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrationslukepilon
 
Mobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchMobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchJanusz Chudzynski
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineAndreas Grabner
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on AndroidJomar Tigcal
 
orioncontextbroker-20180615
orioncontextbroker-20180615orioncontextbroker-20180615
orioncontextbroker-20180615Fermin Galan
 
Fire Eagle presentation for IIT Delhi Hack U event
Fire Eagle presentation for IIT Delhi Hack U eventFire Eagle presentation for IIT Delhi Hack U event
Fire Eagle presentation for IIT Delhi Hack U eventarnab.nandi
 

Similaire à June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev (20)

Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location Services
 
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICSIEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
 
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
 
Mobile applications chapter 6
Mobile applications chapter 6Mobile applications chapter 6
Mobile applications chapter 6
 
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API
 
Android location based services
Android location based servicesAndroid location based services
Android location based services
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroDevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
 
Opportunities and Challenges in Open Source AR in 2018
Opportunities and Challenges in Open Source AR in 2018Opportunities and Challenges in Open Source AR in 2018
Opportunities and Challenges in Open Source AR in 2018
 
Location Based Services - An Overview
Location Based Services - An Overview Location Based Services - An Overview
Location Based Services - An Overview
 
WordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrations
 
Mobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchMobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple Watch
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
W3 c geolocation api
W3 c geolocation apiW3 c geolocation api
W3 c geolocation api
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on Android
 
orioncontextbroker-20180615
orioncontextbroker-20180615orioncontextbroker-20180615
orioncontextbroker-20180615
 
Fire Eagle presentation for IIT Delhi Hack U event
Fire Eagle presentation for IIT Delhi Hack U eventFire Eagle presentation for IIT Delhi Hack U event
Fire Eagle presentation for IIT Delhi Hack U event
 

Plus de BlrDroid

Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit SanjeevPost I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit SanjeevBlrDroid
 
June 2014 - Android wear
June 2014 - Android wearJune 2014 - Android wear
June 2014 - Android wearBlrDroid
 
June 2014 - IPC in android
June 2014 - IPC in androidJune 2014 - IPC in android
June 2014 - IPC in androidBlrDroid
 
June 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on AndroidJune 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on AndroidBlrDroid
 
Challenges in writing roboelectric tests
Challenges in writing roboelectric tests Challenges in writing roboelectric tests
Challenges in writing roboelectric tests BlrDroid
 
How to leverage cloud for QA process
How to leverage cloud for QA processHow to leverage cloud for QA process
How to leverage cloud for QA processBlrDroid
 
Usability Testing Made Easy
Usability Testing Made EasyUsability Testing Made Easy
Usability Testing Made EasyBlrDroid
 
How Mobile Developers Could Leverage On Big Data and Data Points to understan...
How Mobile Developers Could Leverage On Big Data and Data Points to understan...How Mobile Developers Could Leverage On Big Data and Data Points to understan...
How Mobile Developers Could Leverage On Big Data and Data Points to understan...BlrDroid
 
Internals of AsyncTask
Internals of AsyncTask Internals of AsyncTask
Internals of AsyncTask BlrDroid
 
Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues BlrDroid
 
March 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionMarch 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionBlrDroid
 
March 2014 Meetup Baug Android and Google App Engine
March 2014 Meetup Baug Android and Google App EngineMarch 2014 Meetup Baug Android and Google App Engine
March 2014 Meetup Baug Android and Google App EngineBlrDroid
 
Android Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android ApplicationsAndroid Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android ApplicationsBlrDroid
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript BlrDroid
 
Dexetra Labs - Building Apps that can get featured
Dexetra Labs - Building Apps that can get featuredDexetra Labs - Building Apps that can get featured
Dexetra Labs - Building Apps that can get featuredBlrDroid
 
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal KabraJuly 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal KabraBlrDroid
 
July2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar somaJuly2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar somaBlrDroid
 
June2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & SenthilJune2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & SenthilBlrDroid
 
IO13 : What it means to the users
IO13 : What it means to the usersIO13 : What it means to the users
IO13 : What it means to the usersBlrDroid
 

Plus de BlrDroid (20)

Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit SanjeevPost I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
 
June 2014 - Android wear
June 2014 - Android wearJune 2014 - Android wear
June 2014 - Android wear
 
June 2014 - IPC in android
June 2014 - IPC in androidJune 2014 - IPC in android
June 2014 - IPC in android
 
June 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on AndroidJune 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on Android
 
Challenges in writing roboelectric tests
Challenges in writing roboelectric tests Challenges in writing roboelectric tests
Challenges in writing roboelectric tests
 
How to leverage cloud for QA process
How to leverage cloud for QA processHow to leverage cloud for QA process
How to leverage cloud for QA process
 
Usability Testing Made Easy
Usability Testing Made EasyUsability Testing Made Easy
Usability Testing Made Easy
 
How Mobile Developers Could Leverage On Big Data and Data Points to understan...
How Mobile Developers Could Leverage On Big Data and Data Points to understan...How Mobile Developers Could Leverage On Big Data and Data Points to understan...
How Mobile Developers Could Leverage On Big Data and Data Points to understan...
 
Internals of AsyncTask
Internals of AsyncTask Internals of AsyncTask
Internals of AsyncTask
 
Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues
 
March 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionMarch 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech Session
 
March 2014 Meetup Baug Android and Google App Engine
March 2014 Meetup Baug Android and Google App EngineMarch 2014 Meetup Baug Android and Google App Engine
March 2014 Meetup Baug Android and Google App Engine
 
Android Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android ApplicationsAndroid Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android Applications
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript
 
Dexetra Labs - Building Apps that can get featured
Dexetra Labs - Building Apps that can get featuredDexetra Labs - Building Apps that can get featured
Dexetra Labs - Building Apps that can get featured
 
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal KabraJuly 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
 
July2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar somaJuly2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar soma
 
June2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & SenthilJune2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & Senthil
 
IO13 Recap
IO13 RecapIO13 Recap
IO13 Recap
 
IO13 : What it means to the users
IO13 : What it means to the usersIO13 : What it means to the users
IO13 : What it means to the users
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev

  • 1. IO13 Deep Dive - Location API Technical deep dive What’s new in Location API Amrit Sanjeev Bangalore Android User Group
  • 2. What’s on the agenda today ? Let go and find where our users are  1Before the new API 2New APIs 3How is it implmented
  • 3. Before the new API Things to keep in mind before you create your world using LBS 1
  • 4. Some interesting stats • people  where   aware  of  LBS  63%   • report  having   used  LBS  52%   • thought  it  was   valuable  94%   • expressed   concerns    52%   •  32% use it every month •  10% use it every day •  18% tell others their location   •  Expose location without consent 84% •  Identity theft 84% •  Loss of privacy 84%  
  • 5. LBS : Aspects to work on LBS Control (Legal) Trust (Social) Privacy (Ethical) Security (Technolog ical)
  • 6. Complexity: What devs needed to work with
  • 7. Trend : Changes in the type of application Task     Contextual  
  • 9. 2 Introduction to new APIs Shiny new toys
  • 10. Obstacles in LBS adoption Fused Location provider Geofencing Acitvity monitoring
  • 11. API : Fused Location Provider Power Accuracy Coverage
  • 12. API : Fused Location Provider Before   AEer   •  Simplified API •  3 main aspects than was worked on •  Speed •  Accuracy •  Coverge
  • 13. Major Changes Abstracts the use and switching between different hardware based on availability . Simpler API and workflow Better battery performance Better average accuracy Support for both listeners and pending intents
  • 14. Workflow – with listeners •  Create a instance of location client locationClient = new LocationClient();! ! •  Call connect on it locationClient.connect();! ! •  Get the last location if required by your logic Location loc = locationClient.getLastLocation();! ! •  Create a location request LocationRequest request = new LocationRequest();! request.setInterval(5000);! request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);! •  Request of location updates passing the request and listener locationClient.requestLocationUpdates(request, listener);!
  • 15. Workflow – with pending intent •  Create a pending intent PendingIntent pIntent = PendingIntent.getService(…);! •  Request of location updates passing the request and listener locationClient.requestLocationUpdates(request, listener);! ! •  Write code to handle the intent Public void onHandleIntent(Intent intent);! !
  • 17. GeoFencing – What and why Virtual fence around a area that can be defined to get updates of users entering and exiting Register 100 geofences in one app Simple api for adding and removing geofences Adjusts location updates based on user’s proximity to the geofence and user’s activity (still, walking, driving, and so on). Roughly 2/3 power saving compared to proximity alert
  • 18. Workflow •  Create a instance of location client locationClient = new LocationClient();! •  In onConnected() callback , create a geofence object Geofence.Builder gBuilder = new Geofence.Builder();! gBuilder.setTransitionType(…);! gBuilder.setCircularRegion(lat, long , radius);! gBuilder.setExpirationDuration(duration);! GeoFence gFence =gBuilder.build();! ! •  Add geofences to the locationclient locationClient.addGeoFences(List<GeoFences> , Pending Intent ,… );!
  • 19. Advantages •  Reduces power usage •  System calls the pending intent to wake your application . •  Entry or exit areas
  • 20. Activity Recognition •  Sensor data to find the type of action the user is performing
  • 21. Workflow •  Create an activity recognition client ActivityRecognitionClient aClient = new ActivityRecognitionClient(…);! •  Connect the client aClient.connect();! ! •  Request for activity updates aClient.requestActivityUpdates(interval , callbackIntent)! ! •  Use onHandleIntent to get the calllback and extract the activity type . ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);! DetectedActivity act = result.getMostProbableActivity();! ! !
  • 22. 3 How is it implemeted ? The internals
  • 23. Distribution channel Google play services channel Backward Compactible to Froyo Enhance APIs for indoor mapping Auto update and faster release cycles for new features Improve accuracy using new tech like BT4.0 and 802.11v
  • 24. Q&A