SlideShare a Scribd company logo
1 of 48
Giving Mobile
Apps a Sense
of Place
Dave Johnson
Co-founder, Nitobi Software
Senior Developer, ForeSee Results
Overview

• IPhone
• Android
• BlackBerry
• PhoneGap
Setup
• IPhone SDK 2.2.1
• Android 1.5
• BlackBerry Eclipse JDE
• PhoneGap github.com/sintaxi/phonegap

• github.com/davejohnson/Where20Mobile
http://www.flickr.com/photos/dan_h/667441709/
190 million


• Smart phones (Gartner)
• 1.28 billion phones
Smartphone Market

                               4% 1%
                          6%
  IPhone             6%
  RIM
  Windows Mobile
  Palm             11%
  Android
  Hiptop                                              50%
  Symbian

                         22%




                                       Source: AdMob March 2009 metrics
Geo Features

• Heading
• Geolocation (GPS, Wifi, Cell)
• Geocoding
• Mapping
Issues

              • Battery, battery, battery
              • Accuracy
              • Coverage


http://www.flickr.com/photos/paky/50054831/
http://www.flickr.com/photos/williamhook/2830319467/
IPhone
• IPhone OS 2.2.1
• IPhone OS 3.0 CENSORED

• Geolocation
• Map URI
• Simulator
CoreLocation


• Uses the available hardware to triangulate
  the user’s position based on nearby GPS,
  cell, or WiFi signal information
CoreLocation
• Add the framework to your project
• #import <CoreLocation/CoreLocation.h>

• CLLocation
• CLLocationManager
• CLLocationManagerDelegate (protocol)
CLLocation

• coordinate (CLLocationCoordinate2D)
• altitude (in feet x 3.28)
• verticalAccuracy
• horizontalAccuracy
• speed
• course (degrees clockwise from north)
• getDistanceFrom:(CLLocation *)location
CLLocationManager

• CLLocationManager::distanceFilter
• CLLocationManager::desiredAccuracy
  •   best, nearestTenMeters, hundredMeters,
      kilometer, threeKilometers

• Accuracy improves over time as it will
  return the first location ASAP
Map URI

• Launch applications with special URIs

• UIApplication::openURL(NSURL)
• http://maps.google.com/maps?
  q=bar&ll=-33.874559,151.219575
URL Querystring
•   q - The query parameter. Could be a KML file.
•   near - The location part of the query.
•   ll - Latitude and longitude (decimal format, comma separated) for the map center point.
•   sll - The latitude and longitude points from which a business search should be performed.
•   spn - The approximate latitude and longitude span.
•   sspn - A custom latitude and longitude span format used by Google.
•   t - The type of map to display.
•   z - The zoom level.
•   saddr - The source address, which is used when generating driving directions
•   daddr - The destination address, which is used when generating driving directions.
•   latlng - A custom ID format that Google uses for identifying businesses.
•   cid - A custom ID format that Google uses for identifying businesses.
Simulator

• Good luck

• Only GPS location?
 • 1 Infinite Loop, Cupertino, CA, 95014
Simulator

• Good luck

• Only GPS location?
 • 1 Infinite Loop, Cupertino, CA, 95014
Summary

• Get lat/lng from GPS, Wifi or Cell towers
• Launch maps (query, points, directions)
• Simulator leaves much to be desired
http://www.flickr.com/photos/kalebdf/2963107065/
Android

• Compass
• Geolocation
• Map Intent
• MapView
• Geocode
Compass

• SensorManager
• SensorEventListener interface

• SensorManager::registerListener()
• Sensor.TYPE_MAGNETIC_FIELD
GPS


• LocationManager
• LocationListener interface
GPS: LocationManager

• addProximityAlert
• getBestProvider(Criteria, enabledOnly)
• getLastKnownLocation
GPS: LocationListener

• onLocationChanged
• onProviderDisabled
• onProviderEnabled
• onStatusChanged
Map Intent

• “Intents” are how Android apps launch
  other apps
• Supports special GEO URI
 • geo:38.899533,-77.036476
Geocode


• getFromLocation
• getFromLocationName
MapView


• setBuiltInZoomControl()
• getController
MapController


• setCenter
• setZoom
Simulator

• Great
• DDMS Perspective in Eclipse
• Simulate single GPS location or provide a
  KML file
Summary
• Get direction/heading information
• Get lat/lng from GPS, Wifi or Cell towers
• Launch maps (query, points, directions)
• Geocoding lat/lng to/from address
• Embed maps through MapView
• Simulator very extensive
http://www.flickr.com/photos/dushaun/3112631370/
RIM

• GPS
• JavaScript API
• Invoke Map
GPS


• LocationProvider
• LocationListener interface
Map Invoke


• Invoke.invokeApplication()
• Invoke.APP_TYPE_MAPS
JavaScript API

• window.BlackBerry.BlackBerryLocation
 • latitude
 • longitude
 • onLocationUpdate()
PhoneGap

• Write apps with HTML/JS/CSS, access
  native APIs, deploy to multiple platforms.
• Built at IPhoneDevCamp
• Web2.0 LaunchPad winner
• IPhone, Android, BlackBerry
• “The purpose of PhoneGap is for
  PhoneGap to not exist”
Standards
•   W3C
    •   http://dev.w3.org/geo/api/spec-source.html
    •   http://www.w3.org/TR/widgets-apis/
•   Firefox 3.5 and Fennec
•   Android WebKit (Gears)
•   Opera X
•   Another popular version of WebKit
•   Internet Explorer Mobile (Gears)
•   RIM ... ummm forget about it
Geolocation


• navigator.geolocation.watchPosition()
• navigator.geolocation.getCurrentPosition()
Simulator
Thank You!

• dave@nitobi.com
• twitter.com/davejohnson
• nullisnotanobject.com

More Related Content

Viewers also liked

E-portfolio interoperability and the advance of Leap2A
E-portfolio interoperability and the advance of Leap2AE-portfolio interoperability and the advance of Leap2A
E-portfolio interoperability and the advance of Leap2A
Simon Grant
 
11th NDHU History SA 期末結算完整板
11th NDHU History SA 期末結算完整板11th NDHU History SA 期末結算完整板
11th NDHU History SA 期末結算完整板
Yi-Chi Tang
 
5. Quan ly nha nuoc 12.10 CCT
5. Quan ly nha nuoc 12.10 CCT5. Quan ly nha nuoc 12.10 CCT
5. Quan ly nha nuoc 12.10 CCT
Pham Ngoc Quang
 
Induction Talk Year 2 2014
Induction Talk Year 2 2014Induction Talk Year 2 2014
Induction Talk Year 2 2014
Tony McNeill
 
Mini Ekspediciya
Mini EkspediciyaMini Ekspediciya
Mini Ekspediciya
viktoriya71
 

Viewers also liked (20)

Angular measurements
Angular measurementsAngular measurements
Angular measurements
 
Trao doi chat va q p4
Trao doi chat va q  p4Trao doi chat va q  p4
Trao doi chat va q p4
 
NCE Tourism Bergen
NCE Tourism BergenNCE Tourism Bergen
NCE Tourism Bergen
 
Adv podcasting intro_15_sep10
Adv podcasting intro_15_sep10Adv podcasting intro_15_sep10
Adv podcasting intro_15_sep10
 
GTN-Québec_2010 05-25
GTN-Québec_2010 05-25GTN-Québec_2010 05-25
GTN-Québec_2010 05-25
 
E-portfolio interoperability and the advance of Leap2A
E-portfolio interoperability and the advance of Leap2AE-portfolio interoperability and the advance of Leap2A
E-portfolio interoperability and the advance of Leap2A
 
11th NDHU History SA 期末結算完整板
11th NDHU History SA 期末結算完整板11th NDHU History SA 期末結算完整板
11th NDHU History SA 期末結算完整板
 
Tanet - Thue GTGT
Tanet - Thue GTGTTanet - Thue GTGT
Tanet - Thue GTGT
 
Portal and Website management solution
Portal and Website management solutionPortal and Website management solution
Portal and Website management solution
 
Time management: Taking Control of your email inbox
Time management: Taking Control of your email inboxTime management: Taking Control of your email inbox
Time management: Taking Control of your email inbox
 
5. Quan ly nha nuoc 12.10 CCT
5. Quan ly nha nuoc 12.10 CCT5. Quan ly nha nuoc 12.10 CCT
5. Quan ly nha nuoc 12.10 CCT
 
PR31
PR31PR31
PR31
 
Nevada
NevadaNevada
Nevada
 
Kjedelederforum, september 2010
Kjedelederforum, september 2010Kjedelederforum, september 2010
Kjedelederforum, september 2010
 
Iglesia de San Antonio
Iglesia de San AntonioIglesia de San Antonio
Iglesia de San Antonio
 
Resisting the kindle for digital culture
Resisting the kindle for digital cultureResisting the kindle for digital culture
Resisting the kindle for digital culture
 
Nettet får føtter
Nettet får føtterNettet får føtter
Nettet får føtter
 
Induction Talk Year 2 2014
Induction Talk Year 2 2014Induction Talk Year 2 2014
Induction Talk Year 2 2014
 
Páginas Dinâmicas de Erro em Rails com Goalie
Páginas Dinâmicas de Erro em Rails com GoaliePáginas Dinâmicas de Erro em Rails com Goalie
Páginas Dinâmicas de Erro em Rails com Goalie
 
Mini Ekspediciya
Mini EkspediciyaMini Ekspediciya
Mini Ekspediciya
 

Similar to Where 2.0

Drupal and the GeoSpatial Web
Drupal and the GeoSpatial WebDrupal and the GeoSpatial Web
Drupal and the GeoSpatial Web
Andrew Turner
 
geoSDI-Overview-092009
geoSDI-Overview-092009geoSDI-Overview-092009
geoSDI-Overview-092009
geoSDI
 
Indoor &amp; outdoor distance sensing mobile robot
Indoor &amp; outdoor distance sensing mobile robotIndoor &amp; outdoor distance sensing mobile robot
Indoor &amp; outdoor distance sensing mobile robot
zolofy
 

Similar to Where 2.0 (20)

Where 2.0 2009 - Location on the Web
Where 2.0 2009 - Location on the WebWhere 2.0 2009 - Location on the Web
Where 2.0 2009 - Location on the Web
 
O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0
 
Drupal and the GeoSpatial Web
Drupal and the GeoSpatial WebDrupal and the GeoSpatial Web
Drupal and the GeoSpatial Web
 
Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016
 
Core Location in iOS
Core Location in iOSCore Location in iOS
Core Location in iOS
 
Where20 2008 Ruby Tutorial
Where20 2008 Ruby TutorialWhere20 2008 Ruby Tutorial
Where20 2008 Ruby Tutorial
 
Location and API Maps in Windows Phone 8
Location and API Maps in Windows Phone 8Location and API Maps in Windows Phone 8
Location and API Maps in Windows Phone 8
 
geoSDI-Overview-092009
geoSDI-Overview-092009geoSDI-Overview-092009
geoSDI-Overview-092009
 
Android google mapv2
Android google mapv2Android google mapv2
Android google mapv2
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009
 
2013 URISA Track, Android GPS Deep Dive by Andy Gup
2013 URISA Track, Android GPS Deep Dive by Andy Gup2013 URISA Track, Android GPS Deep Dive by Andy Gup
2013 URISA Track, Android GPS Deep Dive by Andy Gup
 
Android GNSS in Nutshell
Android GNSS in NutshellAndroid GNSS in Nutshell
Android GNSS in Nutshell
 
Introduction to Android - Mobile Portland
Introduction to Android - Mobile PortlandIntroduction to Android - Mobile Portland
Introduction to Android - Mobile Portland
 
Gmaps Railscamp2008
Gmaps Railscamp2008Gmaps Railscamp2008
Gmaps Railscamp2008
 
Indoor &amp; outdoor distance sensing mobile robot
Indoor &amp; outdoor distance sensing mobile robotIndoor &amp; outdoor distance sensing mobile robot
Indoor &amp; outdoor distance sensing mobile robot
 
Quadcopter navigation using aakash tablet with on board image processing
Quadcopter navigation using aakash tablet with on board image processingQuadcopter navigation using aakash tablet with on board image processing
Quadcopter navigation using aakash tablet with on board image processing
 
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
 
Rails Gis Hacks
Rails Gis HacksRails Gis Hacks
Rails Gis Hacks
 
Mahendran
MahendranMahendran
Mahendran
 
Getting Oriented with MapKit: Everything you need to get started with the new...
Getting Oriented with MapKit: Everything you need to get started with the new...Getting Oriented with MapKit: Everything you need to get started with the new...
Getting Oriented with MapKit: Everything you need to get started with the new...
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 

Where 2.0

Editor's Notes