SlideShare a Scribd company logo
Services, Data and Architectures
     for Building a Geo App


        Ben Dowling – Geomium



       10th February 2011 – GeoMob London
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
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
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
Content
●   Pull content directly off the
    web
●   Lots of different content is
    available via APIs that support
    search by latitude and
    longitude
●   Such as...
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
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
Events
●   Meetup
●   Upcoming
    ●   XML only!
●   Amiando
    ●   XML only!
●   Eventful
    ●   Free for non-commercial use
●   Last.fm
    ●   Non-commercial use only
Deals
●   Bview
    ●   Good UK coverage. Not many mobile deals
●   Groupon
    ●   Only a few deals per city
●   The Deal Map
    ●   Mostly US based
People
●   FourSquare
●   Gowalla
●   Facebook
●   Twitter
Multiple data sources
●   More data by combining multiple sources
●   Handling duplicates
    ●   Detection
    ●   Merge data
●   Latency
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
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
Thank you!
ben@geomium.com

  @coderholic

More Related Content

Similar to Services, Data and Architectures for Building a Geo App

What I’ve learned from building an app with OSM technologies
What I’ve learned from building an app with OSM technologiesWhat I’ve learned from building an app with OSM technologies
What I’ve learned from building an app with OSM technologies
Buganini Chiu
 
uMobile, I’m Mobile, We’re All Mobile!!
uMobile, I’m Mobile, We’re All Mobile!!uMobile, I’m Mobile, We’re All Mobile!!
uMobile, I’m Mobile, We’re All Mobile!!
Aaron Grant
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
Opersys inc.
 
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross-Platform Mobile Development with PhoneGap-Vince BullingerCross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
Mobile March
 
Phonegap - Girl Geek Sydney
Phonegap - Girl Geek SydneyPhonegap - Girl Geek Sydney
Phonegap - Girl Geek Sydney
Georgi Knox
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
mfrancis
 
Web 3.0
Web 3.0Web 3.0
Google report 01
Google report 01Google report 01
Google report 01
Sunny Gupta
 
Google Tools 2015
Google Tools 2015Google Tools 2015
Google Tools 2015
Duane Wilkins
 
Facebook API For Developers : Overview
Facebook API For Developers : OverviewFacebook API For Developers : Overview
Facebook API For Developers : Overview
Wildan Maulana
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
Kadhem Soltani
 
Augmented Reality March Webinar
Augmented Reality March WebinarAugmented Reality March Webinar
Augmented Reality March Webinar
Promet Source
 
How, what and what else
How, what and what else How, what and what else
How, what and what else
James Purser
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013
Opersys inc.
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
Opersys inc.
 
Android Application Development Online Training.pdf
Android Application Development Online Training.pdfAndroid Application Development Online Training.pdf
Android Application Development Online Training.pdf
SpiritsoftsTraining
 
Android course training in ahmedabad
Android course training in ahmedabadAndroid course training in ahmedabad
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
Opersys inc.
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
Opersys inc.
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
alunny
 

Similar to Services, Data and Architectures for Building a Geo App (20)

What I’ve learned from building an app with OSM technologies
What I’ve learned from building an app with OSM technologiesWhat I’ve learned from building an app with OSM technologies
What I’ve learned from building an app with OSM technologies
 
uMobile, I’m Mobile, We’re All Mobile!!
uMobile, I’m Mobile, We’re All Mobile!!uMobile, I’m Mobile, We’re All Mobile!!
uMobile, I’m Mobile, We’re All Mobile!!
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross-Platform Mobile Development with PhoneGap-Vince BullingerCross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
 
Phonegap - Girl Geek Sydney
Phonegap - Girl Geek SydneyPhonegap - Girl Geek Sydney
Phonegap - Girl Geek Sydney
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Google report 01
Google report 01Google report 01
Google report 01
 
Google Tools 2015
Google Tools 2015Google Tools 2015
Google Tools 2015
 
Facebook API For Developers : Overview
Facebook API For Developers : OverviewFacebook API For Developers : Overview
Facebook API For Developers : Overview
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
Augmented Reality March Webinar
Augmented Reality March WebinarAugmented Reality March Webinar
Augmented Reality March Webinar
 
How, what and what else
How, what and what else How, what and what else
How, what and what else
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
 
Android Application Development Online Training.pdf
Android Application Development Online Training.pdfAndroid Application Development Online Training.pdf
Android Application Development Online Training.pdf
 
Android course training in ahmedabad
Android course training in ahmedabadAndroid course training in ahmedabad
Android course training in ahmedabad
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
 

Recently uploaded

Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 

Recently uploaded (20)

Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 

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