Where 2.0

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Where 2.0 - Presentation 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
    SlideShare Zeitgeist 2009

    + davejohnsondavejohnson Nominate

    custom

    759 views, 1 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 759
      • 733 on SlideShare
      • 26 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 15
    Most viewed embeds
    • 26 views on http://nullisnotanobject.com

    more

    All embeds
    • 26 views on http://nullisnotanobject.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories