SlideShare a Scribd company logo
The consumerization of geospatial 
Peter Batty 
Ubisense 
@pmbatty
OVERVIEW 
• Brief background on our customers 
• Consumerization 
• Simplicity 
• Field applications, online and offline
Figure 11: Conduits in an Underground  Photo by whalt - http://flic.kr/p/7D7rd 
Underground utility boxes are the structures that provide access conduits, examples of underground utility boxes include manholes, configurations of underground utility boxes can be created seen below and to its right the butterfly diagram managed 19. 
Customers: utilities 
and telcos 
Photo by ☺ Lee J Haywood - http://flic.kr/p/7iX7f5
Batty consumerization of geospatial
Trench route for new 
cable 
Figure 20: Inserting new cable 
Structures which new 
cable will be placed in 
Select conduit for new 
Single button press 
inserts new cable 
cable 
 Ordnance Survey Crown copyright. All rights reserved.
fields such as installed date, etc. These fields may be used ‘as is’, configured to hold specific information or 
additional fields may be added using the standard tools available to system administrators. 
Figure 42: Rack mounted equipment 
Port 
Shelf 
Card 
Mounting position 
detail
Smallworld
Location is now 
flic.kr/p/7rnNAD 
flic.kr/p/7NEJzF 
Pervasive and Simple 
in consumer applications
Consumer led IT
“Consumerization of geospatial technologies will boost 
business-side expectations and inspire new utility 
applications,” ! 
! 
“Shifting market dynamics will challenge incumbent 
utility GIS vendors' ability to satisfy business 
expectations, prompting utility CIOs to evaluate new 
GIS capabilities."! 
From Gartner report “Consumerized Geography Will Change Your Utility GIS Strategy”, 
November 2012 http://www.gartner.com/id=2260419 !
Batty consumerization of geospatial
We are building applications for 
the 95% of people in an organization who are not GIS users
13 
“Deciding what not to 
do is as important as 
deciding what to do”
TOPICS 
• Familiarity 
• Panning and zooming 
• Search (including queries) 
• Minimal layers 
• Focused applications 
• Network links 
• Rather than “trace”
FIELD APPLICATIONS 
ONLINE AND OFFLINE
GENERAL REQUIREMENTS 
Leverage modern tablets 
and smart phones (and 
support laptops too)! 
! 
Leverage wireless 
networks, but run offline 
too! 
! 
Common development 
environment across 
platforms
APPLICATION OVERVIEW 
This presentation features screen shots that step through a demo of Ubisense 
myWorld for damage assessment. The demo features two separate users: 
Operations center user, with overview of 
situation, including data from all field users 
Damage assessor with laptop in the field, 
capturing damage assessment data
Operations Center 
Operations center overview map – currently all is 
quiet, no damage shown
Damage Assessor in Field 
WiFi is on 
Currently online 
(wireless) 
Damage assessment user in the field, currently in 
online mode (with wireless connection)
Damage Assessor in Field 
Damage assessoCr crreeaatetse d admaagme aasgseess mpeonti npotint in 
the field
Damage Assessor in Field 
Damage point is created in local database and 
displayed on map on laptop
Operations Center 
Syncs to operations center within ~1 minute, damage point 
displayed and overview map updated
Damage Assessor in Field 
Offline 
WiFi is off 
Back in the field, we are now in offline mode (wireless 
connection is lost). Google Map has disappeared here.
Damage Assessor in Field 
Now we are displaying OpenStreetMap as an offline map 
instead of Google (which can’t be used offline)
Damage Assessor in Field 
In offline mode, we can continue to display maps, select 
objects, and search for assets
Damage Assessor in Field 
We can also continue to create damage points while in 
offline mode (which are stored locally)
Damage Assessor in Field 
We have now created two more damage points offline
Operations Center 
Back in the operations center, we still just see the single 
damage point at the moment
Damage Assessor in Field 
Online 
WiFi is on 
Now the field laptop has a network connection again and is 
back online, so the damage data can sync
Operations Center 
The data has synced and so we now see three damage 
points back in the operations center.
Operations Center 
We can report on the damage points and get aggregate 
information
Field users can also use tablets like iPad or Android, which 
support taking photos.
Take a photo on the 
iPad
Operations Center 
Operations Center also gets immediate visibility of photo (assuming user online) 
Photos can also be emailed in from any smart phone
OFFLINE REQUIREMENTS 
• (Ideally) cross platform 
• Android, iOS, Windows 7 and 8 (and web) 
• Need ability to sync large datasets (gigabytes) for some 
situations 
• In other situations may be able to use smaller datasets (for 
single job, like walking an electrical circuit)
DATABASE SYNC 
• Sync of bulk GIS data 
• Initially read only for short term applications 
• Typically want to do nightly over non-cellular connection 
• Time critical data like damage assessment 
•Want to sync as soon as possible (two way) 
• Needs to connect / disconnect / sync transparently
THREE ARCHITECTURES TRIED 
PostGIS 
Mapfish 
Offline 
storage 
SpatiaLite 
JavaScript 
Replication Caching
ARCHITECTURE 1 
LAPTOP REPLICA 
PostGIS 
Mapfish 
Windows (or Linux or Mac) only 
! 
Use identical software stack to main 
server 
! 
Need custom replication - haven’t 
found PostgreSQL replication for 
sometimes disconnected model 
! 
Pros: Simplest to implement 
Cons: Laptop only, heavyweight
REPLICA CONCEPT 
Master database 
Local database 
Full or partial 
(spatial) replica 
Potentially multiple 
gigabytes 
(raster tiles) 
Incremental update 
is important
ARCHITECTURE 2 
PHONEGAP REPLICA 
• Have our web application running offline 
on Android and iOS 
• Replaced PostGIS with SQLite - for geometry and attributes, 
and also tiles 
•Wrote JavaScript wrappers to replace (basic) MapFish services 
offline 
• Refactored code so small number of classes contain differences 
between online and offline - tile and database access
Batty consumerization of geospatial
CAUTION WITH IOS 
• Apple terms and conditions regarding approval and software 
distribution can be a major pain 
• All code, and all changes, need to be reviewed by Apple - even 
for testing (this has tightened up recently, since they bought 
TestFlight) 
• If you need custom apps for individual customers there is a 
separate Enterprise Developer Program or Volume Purchase 
Program, which each have their own complications
ARCHITECTURE 3 
HTML5 OFFLINE 
• Cache smaller amounts of data using 
HTML5 offline capabilities 
• More dynamic and easier to deploy 
than bulk replication
Batty consumerization of geospatial
HTML5 OFFLINE CONCEPTS 
• Cache manifest files (Appcache) 
• Lists files cached offline 
• Useful tool is manifestR 
• Offline storage 
• Various types
HTML5 manifest file 
Static files (app) 
Dynamic files 
(data)
OFFLINE STORAGE 
http://www.html5rocks.com/en/features/storage
OFFLINE STORAGE LIMITS 
MOBILE 
http://www.html5rocks.com/en/tutorials/offline/quota-research/
OFFLINE STORAGE LIMITS 
DESKTOP 
http://www.html5rocks.com/en/tutorials/offline/quota-research/
LargeLocalStorage is a cool library which abstracts 
various types of local storage, and storage limits
CACHING TILES (1) 
• Caching individual tiles using app cache 
•Works reasonably for smallish areas, like an electric circuit - 1-2 
minutes download. 800 tiles to level 18 for sample circuit 
• App cache is all or nothing - any failure means whole cache doesn’t 
load 
• No ability to manage / delete caches programmatically 
• Can also cache individual tiles using local storage and programmatic 
download - more code but more control
CACHING TILES (2) 
• As in other situations, copying individual tiles is very slow 
• Not practical for larger downloads 
•We have done some experimentation downloading mbTiles files and 
reading them in JavaScript using sql.js 
•Worked pretty well in Chrome on laptop or high end Android, for file 
of 275Mb - had to overcome some memory issues / flakiness 
• Didn’t work on iOS, hit 50Mb size limit (even on Chrome)
CACHING ATTRIBUTE DATA 
•We have tried using geoJSON tiles and implemented select 
against those - worked fine, should scale to large areas 
• Also tried just downloading a single geoJSON file for the 
whole area, works fine for smaller download areas 
• Could consider using local storage database also
OTHER OPTIONS
Field Papers
EXTERNAL STORAGE 
Maps on a USB stick 
Easy to provide full set of maps 
Some functions unavailable offline 
AirStash 
Provides WiFi access to SD card - 
usable with more devices
OFFLINE SUMMARY 
• It will be great when we have universal wireless coverage! 
• Today, offline is still harder than you would hope 
• Large scale robust sync for enterprises is not rocket science, 
but a lot of detailed work to do well 
• HTML5 caching has a lot of promise, is workable in some 
scenarios today, but still not quite fully baked 
• Alternative options like Field Papers or external storage may 
make sense in some cases
Usability / simplicity 
flic.kr/p/3guaAu 
Keep it simple!
? 
Peter Batty! 
@pmbatty! 
peter.batty@ubisense.net! 
about.me/peter.batty

More Related Content

Batty consumerization of geospatial

  • 1. The consumerization of geospatial Peter Batty Ubisense @pmbatty
  • 2. OVERVIEW • Brief background on our customers • Consumerization • Simplicity • Field applications, online and offline
  • 3. Figure 11: Conduits in an Underground  Photo by whalt - http://flic.kr/p/7D7rd Underground utility boxes are the structures that provide access conduits, examples of underground utility boxes include manholes, configurations of underground utility boxes can be created seen below and to its right the butterfly diagram managed 19. Customers: utilities and telcos Photo by ☺ Lee J Haywood - http://flic.kr/p/7iX7f5
  • 5. Trench route for new cable Figure 20: Inserting new cable Structures which new cable will be placed in Select conduit for new Single button press inserts new cable cable  Ordnance Survey Crown copyright. All rights reserved.
  • 6. fields such as installed date, etc. These fields may be used ‘as is’, configured to hold specific information or additional fields may be added using the standard tools available to system administrators. Figure 42: Rack mounted equipment Port Shelf Card Mounting position detail
  • 8. Location is now flic.kr/p/7rnNAD flic.kr/p/7NEJzF Pervasive and Simple in consumer applications
  • 10. “Consumerization of geospatial technologies will boost business-side expectations and inspire new utility applications,” ! ! “Shifting market dynamics will challenge incumbent utility GIS vendors' ability to satisfy business expectations, prompting utility CIOs to evaluate new GIS capabilities."! From Gartner report “Consumerized Geography Will Change Your Utility GIS Strategy”, November 2012 http://www.gartner.com/id=2260419 !
  • 12. We are building applications for the 95% of people in an organization who are not GIS users
  • 13. 13 “Deciding what not to do is as important as deciding what to do”
  • 14. TOPICS • Familiarity • Panning and zooming • Search (including queries) • Minimal layers • Focused applications • Network links • Rather than “trace”
  • 16. GENERAL REQUIREMENTS Leverage modern tablets and smart phones (and support laptops too)! ! Leverage wireless networks, but run offline too! ! Common development environment across platforms
  • 17. APPLICATION OVERVIEW This presentation features screen shots that step through a demo of Ubisense myWorld for damage assessment. The demo features two separate users: Operations center user, with overview of situation, including data from all field users Damage assessor with laptop in the field, capturing damage assessment data
  • 18. Operations Center Operations center overview map – currently all is quiet, no damage shown
  • 19. Damage Assessor in Field WiFi is on Currently online (wireless) Damage assessment user in the field, currently in online mode (with wireless connection)
  • 20. Damage Assessor in Field Damage assessoCr crreeaatetse d admaagme aasgseess mpeonti npotint in the field
  • 21. Damage Assessor in Field Damage point is created in local database and displayed on map on laptop
  • 22. Operations Center Syncs to operations center within ~1 minute, damage point displayed and overview map updated
  • 23. Damage Assessor in Field Offline WiFi is off Back in the field, we are now in offline mode (wireless connection is lost). Google Map has disappeared here.
  • 24. Damage Assessor in Field Now we are displaying OpenStreetMap as an offline map instead of Google (which can’t be used offline)
  • 25. Damage Assessor in Field In offline mode, we can continue to display maps, select objects, and search for assets
  • 26. Damage Assessor in Field We can also continue to create damage points while in offline mode (which are stored locally)
  • 27. Damage Assessor in Field We have now created two more damage points offline
  • 28. Operations Center Back in the operations center, we still just see the single damage point at the moment
  • 29. Damage Assessor in Field Online WiFi is on Now the field laptop has a network connection again and is back online, so the damage data can sync
  • 30. Operations Center The data has synced and so we now see three damage points back in the operations center.
  • 31. Operations Center We can report on the damage points and get aggregate information
  • 32. Field users can also use tablets like iPad or Android, which support taking photos.
  • 33. Take a photo on the iPad
  • 34. Operations Center Operations Center also gets immediate visibility of photo (assuming user online) Photos can also be emailed in from any smart phone
  • 35. OFFLINE REQUIREMENTS • (Ideally) cross platform • Android, iOS, Windows 7 and 8 (and web) • Need ability to sync large datasets (gigabytes) for some situations • In other situations may be able to use smaller datasets (for single job, like walking an electrical circuit)
  • 36. DATABASE SYNC • Sync of bulk GIS data • Initially read only for short term applications • Typically want to do nightly over non-cellular connection • Time critical data like damage assessment •Want to sync as soon as possible (two way) • Needs to connect / disconnect / sync transparently
  • 37. THREE ARCHITECTURES TRIED PostGIS Mapfish Offline storage SpatiaLite JavaScript Replication Caching
  • 38. ARCHITECTURE 1 LAPTOP REPLICA PostGIS Mapfish Windows (or Linux or Mac) only ! Use identical software stack to main server ! Need custom replication - haven’t found PostgreSQL replication for sometimes disconnected model ! Pros: Simplest to implement Cons: Laptop only, heavyweight
  • 39. REPLICA CONCEPT Master database Local database Full or partial (spatial) replica Potentially multiple gigabytes (raster tiles) Incremental update is important
  • 40. ARCHITECTURE 2 PHONEGAP REPLICA • Have our web application running offline on Android and iOS • Replaced PostGIS with SQLite - for geometry and attributes, and also tiles •Wrote JavaScript wrappers to replace (basic) MapFish services offline • Refactored code so small number of classes contain differences between online and offline - tile and database access
  • 42. CAUTION WITH IOS • Apple terms and conditions regarding approval and software distribution can be a major pain • All code, and all changes, need to be reviewed by Apple - even for testing (this has tightened up recently, since they bought TestFlight) • If you need custom apps for individual customers there is a separate Enterprise Developer Program or Volume Purchase Program, which each have their own complications
  • 43. ARCHITECTURE 3 HTML5 OFFLINE • Cache smaller amounts of data using HTML5 offline capabilities • More dynamic and easier to deploy than bulk replication
  • 45. HTML5 OFFLINE CONCEPTS • Cache manifest files (Appcache) • Lists files cached offline • Useful tool is manifestR • Offline storage • Various types
  • 46. HTML5 manifest file Static files (app) Dynamic files (data)
  • 48. OFFLINE STORAGE LIMITS MOBILE http://www.html5rocks.com/en/tutorials/offline/quota-research/
  • 49. OFFLINE STORAGE LIMITS DESKTOP http://www.html5rocks.com/en/tutorials/offline/quota-research/
  • 50. LargeLocalStorage is a cool library which abstracts various types of local storage, and storage limits
  • 51. CACHING TILES (1) • Caching individual tiles using app cache •Works reasonably for smallish areas, like an electric circuit - 1-2 minutes download. 800 tiles to level 18 for sample circuit • App cache is all or nothing - any failure means whole cache doesn’t load • No ability to manage / delete caches programmatically • Can also cache individual tiles using local storage and programmatic download - more code but more control
  • 52. CACHING TILES (2) • As in other situations, copying individual tiles is very slow • Not practical for larger downloads •We have done some experimentation downloading mbTiles files and reading them in JavaScript using sql.js •Worked pretty well in Chrome on laptop or high end Android, for file of 275Mb - had to overcome some memory issues / flakiness • Didn’t work on iOS, hit 50Mb size limit (even on Chrome)
  • 53. CACHING ATTRIBUTE DATA •We have tried using geoJSON tiles and implemented select against those - worked fine, should scale to large areas • Also tried just downloading a single geoJSON file for the whole area, works fine for smaller download areas • Could consider using local storage database also
  • 56. EXTERNAL STORAGE Maps on a USB stick Easy to provide full set of maps Some functions unavailable offline AirStash Provides WiFi access to SD card - usable with more devices
  • 57. OFFLINE SUMMARY • It will be great when we have universal wireless coverage! • Today, offline is still harder than you would hope • Large scale robust sync for enterprises is not rocket science, but a lot of detailed work to do well • HTML5 caching has a lot of promise, is workable in some scenarios today, but still not quite fully baked • Alternative options like Field Papers or external storage may make sense in some cases
  • 58. Usability / simplicity flic.kr/p/3guaAu Keep it simple!
  • 59. ? Peter Batty! @pmbatty! peter.batty@ubisense.net! about.me/peter.batty