Your SlideShare is downloading. ×
0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Where 2.0
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Where 2.0

1,697

Published on

Published in: Technology, News & Politics
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,697
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
43
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
















































  • Transcript

    • 1. Giving Mobile Apps a Sense of Place Dave Johnson Co-founder, Nitobi Software Senior Developer, ForeSee Results
    • 2. Overview • IPhone • Android • BlackBerry • PhoneGap
    • 3. Setup • IPhone SDK 2.2.1 • Android 1.5 • BlackBerry Eclipse JDE • PhoneGap github.com/sintaxi/phonegap • github.com/davejohnson/Where20Mobile
    • 4. http://www.flickr.com/photos/dan_h/667441709/
    • 5. 190 million • Smart phones (Gartner) • 1.28 billion phones
    • 6. Smartphone Market 4% 1% 6% IPhone 6% RIM Windows Mobile Palm 11% Android Hiptop 50% Symbian 22% Source: AdMob March 2009 metrics
    • 7. Geo Features • Heading • Geolocation (GPS, Wifi, Cell) • Geocoding • Mapping
    • 8. Issues • Battery, battery, battery • Accuracy • Coverage http://www.flickr.com/photos/paky/50054831/
    • 9. http://www.flickr.com/photos/williamhook/2830319467/
    • 10. IPhone • IPhone OS 2.2.1 • IPhone OS 3.0 CENSORED • Geolocation • Map URI • Simulator
    • 11. CoreLocation • Uses the available hardware to triangulate the user’s position based on nearby GPS, cell, or WiFi signal information
    • 12. CoreLocation • Add the framework to your project • #import <CoreLocation/CoreLocation.h> • CLLocation • CLLocationManager • CLLocationManagerDelegate (protocol)
    • 13. CLLocation • coordinate (CLLocationCoordinate2D) • altitude (in feet x 3.28) • verticalAccuracy • horizontalAccuracy • speed • course (degrees clockwise from north) • getDistanceFrom:(CLLocation *)location
    • 14. CLLocationManager • CLLocationManager::distanceFilter • CLLocationManager::desiredAccuracy • best, nearestTenMeters, hundredMeters, kilometer, threeKilometers • Accuracy improves over time as it will return the first location ASAP
    • 15. Map URI • Launch applications with special URIs • UIApplication::openURL(NSURL) • http://maps.google.com/maps? q=bar&ll=-33.874559,151.219575
    • 16. 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.
    • 17. Simulator • Good luck • Only GPS location? • 1 Infinite Loop, Cupertino, CA, 95014
    • 18. Simulator • Good luck • Only GPS location? • 1 Infinite Loop, Cupertino, CA, 95014
    • 19. Summary • Get lat/lng from GPS, Wifi or Cell towers • Launch maps (query, points, directions) • Simulator leaves much to be desired
    • 20. http://www.flickr.com/photos/kalebdf/2963107065/
    • 21. Android • Compass • Geolocation • Map Intent • MapView • Geocode
    • 22. Compass • SensorManager • SensorEventListener interface • SensorManager::registerListener() • Sensor.TYPE_MAGNETIC_FIELD
    • 23. GPS • LocationManager • LocationListener interface
    • 24. GPS: LocationManager • addProximityAlert • getBestProvider(Criteria, enabledOnly) • getLastKnownLocation
    • 25. GPS: LocationListener • onLocationChanged • onProviderDisabled • onProviderEnabled • onStatusChanged
    • 26. Map Intent • “Intents” are how Android apps launch other apps • Supports special GEO URI • geo:38.899533,-77.036476
    • 27. Geocode • getFromLocation • getFromLocationName
    • 28. MapView • setBuiltInZoomControl() • getController
    • 29. MapController • setCenter • setZoom
    • 30. Simulator • Great • DDMS Perspective in Eclipse • Simulate single GPS location or provide a KML file
    • 31. 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
    • 32. http://www.flickr.com/photos/dushaun/3112631370/
    • 33. RIM • GPS • JavaScript API • Invoke Map
    • 34. GPS • LocationProvider • LocationListener interface
    • 35. Map Invoke • Invoke.invokeApplication() • Invoke.APP_TYPE_MAPS
    • 36. JavaScript API • window.BlackBerry.BlackBerryLocation • latitude • longitude • onLocationUpdate()
    • 37. PhoneGap • Write apps with HTML/JS/CSS, access native APIs, deploy to multiple platforms. • Built at IPhoneDevCamp • Web2.0 LaunchPad winner • IPhone, Android, BlackBerry
    • 38. • “The purpose of PhoneGap is for PhoneGap to not exist”
    • 39. 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
    • 40. Geolocation • navigator.geolocation.watchPosition() • navigator.geolocation.getCurrentPosition()
    • 41. Simulator
    • 42. Thank You! • dave@nitobi.com • twitter.com/davejohnson • nullisnotanobject.com

    ×