SlideShare a Scribd company logo
1 of 25
October 31, 2013
Time: 7:00 AM to 8:00 AM PDT

Presented By - Nishant Luthra
(Mobile Test Engineer)

http://www.innovationm.com/

mailto:info@innovationm.com
About InnovationM
Overview
InnovationM provides specialized design &
development services in the mobility space focusing on native and HTML5-based mobile
solutions, with a deep focus on UX/UI Design.

Services
Design & Development for:
- Native: Android & iOS
- Mobile Web App (HTML5): PhoneGap, Sencha
Touch 2 and jQuery Mobile
- User Experience (UX) & UI Design

Location
Head-quartered in Noida, India with presence in US.
Table of Contents

1. What is Location?
2. Concept of Location Provider
3. A small case study
4. Mock Location using KML and GPX file
5. Tool for testing location based application
What is Location?

Location is place or point that something is at on this earth.
Each point on this earth is identified by two data points
Latitude
Longitude
Where Am I

Where Am I on this Earth?
What is My Location?
Where Am I
If you look at map, it consist of horizontal and vertical lines.
Horizontal line - Latitude
Vertical line - Longitude
Earth surface divided into degree,minute and sec.
Suppose I am located at
38°53'23"N , 77°00'27"W (38 degrees, 53 minutes, and 23
seconds north of the equator and 77 degrees, no minutes and
27 seconds west of the meridian).
Concept of Location Provider

A location provider provides current location
of the device to the applications running in the
device.
Types of Location Provider

GPS – This provider determines location using satellites.
Depending on conditions, this provider may take a while to
return a location fix.
Network – This provider determines location based on
availability of cell tower and Wi-Fi access points. Results are
retrieved by means of a network lookup.
Passive – A special location provider for receiving locations
without actually initiating a location fix. This provider will return
locations generated by other providers.
Case Study

Situation – Let us study with an example on how
to track delivery of goods.






Suppose a truck having goods moving along a road has to
deliver goods to retail shops in the city.
Truck driver is carrying a mobile device and an application. A
Route is provided that carries address and location of retailers
on that route and this data is provided to the application.
Application gets the current location from Location Provider
and compares the proximity of location of retailers with current
location. If distance between current location and retailer
location is within range then that retailer is marked as visited.
How to test this application?

Is application getting correct
location?
Two ways to Test

1. Physically go on that route and test

2. Emulate that user is moving on that route
while physically elsewhere.
Mock Location Testing

Physically going and testing on the road is
very time consuming then how to mock/test
location using android Emulator?
By simply uploading KML and GPX
file to Android Emulator
What is KML and GPX files?
KML
- KML is a file format used to display geographic data in Google
Earth, Google Maps, and Google Maps for mobile.
- KML uses a tag-based structure with nested elements and
attributes and is based on the XML standard
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<name>GE2ADT</name>
<Placemark><name>0</name><description>GE2ADT
Route</description><Point><coordinates>77.313931,28.581661</coordinates></Point><
/Placemark>
<Placemark><name>1</name><description>GE2ADT
Route</description><Point><coordinates>77.313842,28.581918</coordinates></Point><
/Placemark>
</Document>
</kml>
GPX
GPX (the GPS Exchange Format) is a light-weight XML data
format
<?xml version="1.0" encoding="UTF-8"?>
<gpx
version="1.1"
creator="Created by Google My Tracks on Android."
xmlns="http://www.topografix.com/GPX/1/1"
<trkseg>
<trkpt lat="28.581475" lon="77.314435">
<ele>137.5</ele>
<time>2013-04-03T14:37:10.000Z</time>
</trkpt>
</trkseg>
</trk>
</gpx>
Load, Play and Test
- Run your application as android emulator.
- In DDMS, select Emulator Control(Location Control).
- For loading GPX file, select your application and then
click on ‘Load GPX’
- Select your GPX file and click on play button.
- GPX file start mocking your location as you are moving along
that road in real.
Question
- But how to generate this files
- Are there any tool for kml and gpx generator
Answer
- Yes
Tools for testing Location based application

My Tracks - It is an Android application useful for creating KML,
GPX file. My Tracks records your path, speed, distance, and
elevation while you walk, run, bike, or do anything else
outdoors. You can download My Tracks from Google Play.
URL - https://play.google.com/store/apps/details?id=com.google.android.maps.mytracks)

Usage - Somebody can physically record the path by actually
moving on that Good Delivery Route and generate the file for
testing team.
KML Generator
KML Generator
It is website that generate KML file using GPS coordinate. We just
have to put latitude and longitude under GPS coordinate column
and output as KML (download). You can go to this website through
this url – http://kmltools.nobletech.com/

Usage - If you know the Coordinates (Latitude and Longitude) of the points on the
Path then you can generate KML file.
Google Earth to ADT plugin
Google Earth to ADT plugin - This application helps in converting
KML file to another format of KML that Android development
tools (Suitable for Eclipse Android ADT plugin) can understand.
Here a link to the url – (http://ge2adt.appspot.com/)
This application help in generating kml file for make path or placemark in google earth
or convert Google Earth routes to a format suitable for Eclipse Android ADT plugin 0.8.0
Google Earth
Google Earth - You can visually see the path / route on
Google Earth.
Ex. You can have a Delivery Route KML file, the Actual
KML file that was played and see the points on Google
Earth.
Contact Info

www.InnovationM.com
info@innovationm.com
InnovationM Webinar_Location Testing in Mobile

More Related Content

Similar to InnovationM Webinar_Location Testing in Mobile

Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Androidyashonil
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in AndroidAbhishek Singh
 
Traffic detection system using android
Traffic detection system using androidTraffic detection system using android
Traffic detection system using androidEditor Jacotech
 
Traffic detection system using android
Traffic detection system using androidTraffic detection system using android
Traffic detection system using androidEditor Jacotech
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Indoor gps via QR codes
Indoor gps via QR codesIndoor gps via QR codes
Indoor gps via QR codesVaibhav Sharma
 
Land vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platformLand vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platformAlexander Decker
 
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...Ibrahim Özgön
 
Location Based Services, Change in Profile and Notification
Location Based Services, Change in Profile and Notification Location Based Services, Change in Profile and Notification
Location Based Services, Change in Profile and Notification IRJET Journal
 
Androidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdfAndroidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdfShubhamDiggikar
 
Geolocation in Drupal
Geolocation in DrupalGeolocation in Drupal
Geolocation in DrupalMediacurrent
 
Mobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdfMobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdfAbdullahMunir32
 
Android location based services
Android location based servicesAndroid location based services
Android location based servicesaswath babu
 
Tourists yatra guide (An android application)
Tourists yatra guide (An android application)Tourists yatra guide (An android application)
Tourists yatra guide (An android application)Umang Aggarwal
 
Location tracker cum Cab fare calculator
Location tracker cum Cab fare calculatorLocation tracker cum Cab fare calculator
Location tracker cum Cab fare calculatorJaVed Shaikh
 
Smart Way to Track the Location in Android Operating System
Smart Way to Track the Location in Android Operating SystemSmart Way to Track the Location in Android Operating System
Smart Way to Track the Location in Android Operating SystemIOSR Journals
 
A change of profile based on location
A change of profile based on locationA change of profile based on location
A change of profile based on locationeSAT Journals
 

Similar to InnovationM Webinar_Location Testing in Mobile (20)

Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Android
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in Android
 
Traffic detection system using android
Traffic detection system using androidTraffic detection system using android
Traffic detection system using android
 
Traffic detection system using android
Traffic detection system using androidTraffic detection system using android
Traffic detection system using android
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Bus Locator
Bus LocatorBus Locator
Bus Locator
 
Indoor gps via QR codes
Indoor gps via QR codesIndoor gps via QR codes
Indoor gps via QR codes
 
Land vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platformLand vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platform
 
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
 
Location Based Services, Change in Profile and Notification
Location Based Services, Change in Profile and Notification Location Based Services, Change in Profile and Notification
Location Based Services, Change in Profile and Notification
 
Androidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdfAndroidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdf
 
Geolocation in Drupal
Geolocation in DrupalGeolocation in Drupal
Geolocation in Drupal
 
Mobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdfMobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdf
 
Android location based services
Android location based servicesAndroid location based services
Android location based services
 
50120140501008
5012014050100850120140501008
50120140501008
 
Tourists yatra guide (An android application)
Tourists yatra guide (An android application)Tourists yatra guide (An android application)
Tourists yatra guide (An android application)
 
Location tracker cum Cab fare calculator
Location tracker cum Cab fare calculatorLocation tracker cum Cab fare calculator
Location tracker cum Cab fare calculator
 
Smart Way to Track the Location in Android Operating System
Smart Way to Track the Location in Android Operating SystemSmart Way to Track the Location in Android Operating System
Smart Way to Track the Location in Android Operating System
 
A change of profile based on location
A change of profile based on locationA change of profile based on location
A change of profile based on location
 
Saurabh_CV
Saurabh_CVSaurabh_CV
Saurabh_CV
 

More from InnovationM

How to use data binding in android
How to use data binding in androidHow to use data binding in android
How to use data binding in androidInnovationM
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blinkInnovationM
 
How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native appsInnovationM
 
Android 8 behavior changes
Android 8 behavior changesAndroid 8 behavior changes
Android 8 behavior changesInnovationM
 
Understanding of react fiber architecture
Understanding of react fiber architectureUnderstanding of react fiber architecture
Understanding of react fiber architectureInnovationM
 
Automatic reference counting (arc) and memory management in swift
Automatic reference counting (arc) and memory management in swiftAutomatic reference counting (arc) and memory management in swift
Automatic reference counting (arc) and memory management in swiftInnovationM
 
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...InnovationM
 
How prototype works in java script?
How prototype works in java script?How prototype works in java script?
How prototype works in java script?InnovationM
 
React – Let’s “Hook” up
React – Let’s “Hook” upReact – Let’s “Hook” up
React – Let’s “Hook” upInnovationM
 
Razorpay Payment Gateway Integration In iOS Swift
Razorpay Payment Gateway Integration In iOS SwiftRazorpay Payment Gateway Integration In iOS Swift
Razorpay Payment Gateway Integration In iOS SwiftInnovationM
 
Paytm integration in swift
Paytm integration in swiftPaytm integration in swift
Paytm integration in swiftInnovationM
 
Line Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-BootLine Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-BootInnovationM
 
Basic fundamental of ReactJS
Basic fundamental of ReactJSBasic fundamental of ReactJS
Basic fundamental of ReactJSInnovationM
 
Basic Fundamental of Redux
Basic Fundamental of ReduxBasic Fundamental of Redux
Basic Fundamental of ReduxInnovationM
 
Integration of Highcharts with React ( JavaScript library )
Integration of Highcharts with React ( JavaScript library )Integration of Highcharts with React ( JavaScript library )
Integration of Highcharts with React ( JavaScript library )InnovationM
 
Serialization & De-serialization in Java
Serialization & De-serialization in JavaSerialization & De-serialization in Java
Serialization & De-serialization in JavaInnovationM
 
Concept of Stream API Java 1.8
Concept of Stream API Java 1.8Concept of Stream API Java 1.8
Concept of Stream API Java 1.8InnovationM
 
How to Make Each Round of Testing Count?
How to Make Each Round of Testing Count?How to Make Each Round of Testing Count?
How to Make Each Round of Testing Count?InnovationM
 
Model View Presenter For Android
Model View Presenter For AndroidModel View Presenter For Android
Model View Presenter For AndroidInnovationM
 

More from InnovationM (20)

How to use data binding in android
How to use data binding in androidHow to use data binding in android
How to use data binding in android
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blink
 
Mob x in react
Mob x in reactMob x in react
Mob x in react
 
How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native apps
 
Android 8 behavior changes
Android 8 behavior changesAndroid 8 behavior changes
Android 8 behavior changes
 
Understanding of react fiber architecture
Understanding of react fiber architectureUnderstanding of react fiber architecture
Understanding of react fiber architecture
 
Automatic reference counting (arc) and memory management in swift
Automatic reference counting (arc) and memory management in swiftAutomatic reference counting (arc) and memory management in swift
Automatic reference counting (arc) and memory management in swift
 
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
 
How prototype works in java script?
How prototype works in java script?How prototype works in java script?
How prototype works in java script?
 
React – Let’s “Hook” up
React – Let’s “Hook” upReact – Let’s “Hook” up
React – Let’s “Hook” up
 
Razorpay Payment Gateway Integration In iOS Swift
Razorpay Payment Gateway Integration In iOS SwiftRazorpay Payment Gateway Integration In iOS Swift
Razorpay Payment Gateway Integration In iOS Swift
 
Paytm integration in swift
Paytm integration in swiftPaytm integration in swift
Paytm integration in swift
 
Line Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-BootLine Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-Boot
 
Basic fundamental of ReactJS
Basic fundamental of ReactJSBasic fundamental of ReactJS
Basic fundamental of ReactJS
 
Basic Fundamental of Redux
Basic Fundamental of ReduxBasic Fundamental of Redux
Basic Fundamental of Redux
 
Integration of Highcharts with React ( JavaScript library )
Integration of Highcharts with React ( JavaScript library )Integration of Highcharts with React ( JavaScript library )
Integration of Highcharts with React ( JavaScript library )
 
Serialization & De-serialization in Java
Serialization & De-serialization in JavaSerialization & De-serialization in Java
Serialization & De-serialization in Java
 
Concept of Stream API Java 1.8
Concept of Stream API Java 1.8Concept of Stream API Java 1.8
Concept of Stream API Java 1.8
 
How to Make Each Round of Testing Count?
How to Make Each Round of Testing Count?How to Make Each Round of Testing Count?
How to Make Each Round of Testing Count?
 
Model View Presenter For Android
Model View Presenter For AndroidModel View Presenter For Android
Model View Presenter For Android
 

Recently uploaded

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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
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
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Recently uploaded (20)

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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
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
 
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!
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

InnovationM Webinar_Location Testing in Mobile

  • 1. October 31, 2013 Time: 7:00 AM to 8:00 AM PDT Presented By - Nishant Luthra (Mobile Test Engineer) http://www.innovationm.com/ mailto:info@innovationm.com
  • 2. About InnovationM Overview InnovationM provides specialized design & development services in the mobility space focusing on native and HTML5-based mobile solutions, with a deep focus on UX/UI Design. Services Design & Development for: - Native: Android & iOS - Mobile Web App (HTML5): PhoneGap, Sencha Touch 2 and jQuery Mobile - User Experience (UX) & UI Design Location Head-quartered in Noida, India with presence in US.
  • 3. Table of Contents 1. What is Location? 2. Concept of Location Provider 3. A small case study 4. Mock Location using KML and GPX file 5. Tool for testing location based application
  • 4. What is Location? Location is place or point that something is at on this earth. Each point on this earth is identified by two data points Latitude Longitude
  • 5. Where Am I Where Am I on this Earth? What is My Location?
  • 6. Where Am I If you look at map, it consist of horizontal and vertical lines. Horizontal line - Latitude Vertical line - Longitude Earth surface divided into degree,minute and sec. Suppose I am located at 38°53'23"N , 77°00'27"W (38 degrees, 53 minutes, and 23 seconds north of the equator and 77 degrees, no minutes and 27 seconds west of the meridian).
  • 7. Concept of Location Provider A location provider provides current location of the device to the applications running in the device.
  • 8. Types of Location Provider GPS – This provider determines location using satellites. Depending on conditions, this provider may take a while to return a location fix. Network – This provider determines location based on availability of cell tower and Wi-Fi access points. Results are retrieved by means of a network lookup. Passive – A special location provider for receiving locations without actually initiating a location fix. This provider will return locations generated by other providers.
  • 9. Case Study Situation – Let us study with an example on how to track delivery of goods.    Suppose a truck having goods moving along a road has to deliver goods to retail shops in the city. Truck driver is carrying a mobile device and an application. A Route is provided that carries address and location of retailers on that route and this data is provided to the application. Application gets the current location from Location Provider and compares the proximity of location of retailers with current location. If distance between current location and retailer location is within range then that retailer is marked as visited.
  • 10. How to test this application? Is application getting correct location?
  • 11. Two ways to Test 1. Physically go on that route and test 2. Emulate that user is moving on that route while physically elsewhere.
  • 12. Mock Location Testing Physically going and testing on the road is very time consuming then how to mock/test location using android Emulator?
  • 13. By simply uploading KML and GPX file to Android Emulator What is KML and GPX files?
  • 14. KML - KML is a file format used to display geographic data in Google Earth, Google Maps, and Google Maps for mobile. - KML uses a tag-based structure with nested elements and attributes and is based on the XML standard <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.2"> <Document> <name>GE2ADT</name> <Placemark><name>0</name><description>GE2ADT Route</description><Point><coordinates>77.313931,28.581661</coordinates></Point>< /Placemark> <Placemark><name>1</name><description>GE2ADT Route</description><Point><coordinates>77.313842,28.581918</coordinates></Point>< /Placemark> </Document> </kml>
  • 15. GPX GPX (the GPS Exchange Format) is a light-weight XML data format <?xml version="1.0" encoding="UTF-8"?> <gpx version="1.1" creator="Created by Google My Tracks on Android." xmlns="http://www.topografix.com/GPX/1/1" <trkseg> <trkpt lat="28.581475" lon="77.314435"> <ele>137.5</ele> <time>2013-04-03T14:37:10.000Z</time> </trkpt> </trkseg> </trk> </gpx>
  • 16. Load, Play and Test - Run your application as android emulator. - In DDMS, select Emulator Control(Location Control). - For loading GPX file, select your application and then click on ‘Load GPX’
  • 17. - Select your GPX file and click on play button.
  • 18. - GPX file start mocking your location as you are moving along that road in real.
  • 19. Question - But how to generate this files - Are there any tool for kml and gpx generator Answer - Yes
  • 20. Tools for testing Location based application My Tracks - It is an Android application useful for creating KML, GPX file. My Tracks records your path, speed, distance, and elevation while you walk, run, bike, or do anything else outdoors. You can download My Tracks from Google Play. URL - https://play.google.com/store/apps/details?id=com.google.android.maps.mytracks) Usage - Somebody can physically record the path by actually moving on that Good Delivery Route and generate the file for testing team.
  • 21. KML Generator KML Generator It is website that generate KML file using GPS coordinate. We just have to put latitude and longitude under GPS coordinate column and output as KML (download). You can go to this website through this url – http://kmltools.nobletech.com/ Usage - If you know the Coordinates (Latitude and Longitude) of the points on the Path then you can generate KML file.
  • 22. Google Earth to ADT plugin Google Earth to ADT plugin - This application helps in converting KML file to another format of KML that Android development tools (Suitable for Eclipse Android ADT plugin) can understand. Here a link to the url – (http://ge2adt.appspot.com/) This application help in generating kml file for make path or placemark in google earth or convert Google Earth routes to a format suitable for Eclipse Android ADT plugin 0.8.0
  • 23. Google Earth Google Earth - You can visually see the path / route on Google Earth. Ex. You can have a Delivery Route KML file, the Actual KML file that was played and see the points on Google Earth.