SlideShare a Scribd company logo
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 Android
yashonil
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in Android
Abhishek Singh
 
Traffic detection system using android
Traffic detection system using androidTraffic detection system using android
Traffic detection system using android
Editor Jacotech
 
Traffic detection system using android
Traffic detection system using androidTraffic detection system using android
Traffic detection system using android
Editor 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 Development
IJERD Editor
 
Bus Locator
Bus LocatorBus Locator
Bus Locator
aashutosh kumar
 
Indoor gps via QR codes
Indoor gps via QR codesIndoor gps via QR codes
Indoor gps via QR codes
Vaibhav 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).pdf
ShubhamDiggikar
 
Geolocation in Drupal
Geolocation in DrupalGeolocation in Drupal
Geolocation in Drupal
Mediacurrent
 
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
AbdullahMunir32
 
Android location based services
Android location based servicesAndroid location based services
Android location based services
aswath 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 calculator
JaVed 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 System
IOSR 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 location
eSAT 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 android
InnovationM
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blink
InnovationM
 
Mob x in react
Mob x in reactMob x in react
Mob x in react
InnovationM
 
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
InnovationM
 
Android 8 behavior changes
Android 8 behavior changesAndroid 8 behavior changes
Android 8 behavior changes
InnovationM
 
Understanding of react fiber architecture
Understanding of react fiber architectureUnderstanding of react fiber architecture
Understanding of react fiber architecture
InnovationM
 
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
InnovationM
 
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” up
InnovationM
 
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
InnovationM
 
Paytm integration in swift
Paytm integration in swiftPaytm integration in swift
Paytm integration in swift
InnovationM
 
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
InnovationM
 
Basic fundamental of ReactJS
Basic fundamental of ReactJSBasic fundamental of ReactJS
Basic fundamental of ReactJS
InnovationM
 
Basic Fundamental of Redux
Basic Fundamental of ReduxBasic Fundamental of Redux
Basic Fundamental of Redux
InnovationM
 
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 Java
InnovationM
 
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
InnovationM
 
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 Android
InnovationM
 

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

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

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.