Powerful Google developer tools for immediate impact! (2023-24 C)
Services, Data and Architectures for Building a Geo App
1. Services, Data and Architectures
for Building a Geo App
Ben Dowling – Geomium
10th February 2011 – GeoMob London
2. Building a simple Geo App
● Lets show interesting content on a map
● Where?
● At the user's location
● Allow the user to search for a location
● What?
● Geo-enabled APIs
● User Generated Content
3. Getting the user's location
● Most smartphones have built in GPS now
● Determine location based on a mix of GPS,
WiFi (SkyHook) and Cell tower triangulation
● Will give you the user's latitude and longitude
● Reverse Geocoder to convert to a place name
● 51.5111,-0.1222 → 5 Southampton Street, London
4. Searching for a location
● Requires Geocoding
● eg. “London” → 51.499,-0.126
● Android has support for Google's service
● iPhone doesn't – you can use Google's API
● Alternatives:
● Flickr: gives you nearest city
● Yahoo: provides WOEIDs
5. Content
● Pull content directly off the
web
● Lots of different content is
available via APIs that support
search by latitude and
longitude
● Such as...
6. Places
● Facebook Places
● Requires the user to login
● FourSquare
● Low rate limit
● Gowalla
● Limited descriptions
● Google Places
● Currently in beta for selected partners
● Yelp
● Can't show reviews on mobile
7. Pictures
● Flickr
● Lots of advanced search options
● Panoramio
● Displayed on Google Maps. Takes a bounding box
● PicPlz
● Includes coordinates of photos, but you can't filter
by it
8. Events
● Meetup
● Upcoming
● XML only!
● Amiando
● XML only!
● Eventful
● Free for non-commercial use
● Last.fm
● Non-commercial use only
9. Deals
● Bview
● Good UK coverage. Not many mobile deals
● Groupon
● Only a few deals per city
● The Deal Map
● Mostly US based
10. People
● FourSquare
● Gowalla
● Facebook
● Twitter
11. Multiple data sources
● More data by combining multiple sources
● Handling duplicates
● Detection
● Merge data
● Latency
12. User generated content
● Have your users generate content!
● Could just be their location (eg. Friend
finder app)
● Unique content (eg. Photos)
● Annotate existing content (eg. Review a
place)
● Need a server to store it on
13. More possibilities with a server
● Single request from the mobile
● Background processing
● Can do duplication detection and
merging on the server
● Add new data without changing
your app
● Collect statistics