darren mackiewicz, gisp mobile technology ... - wild apricot · mobile technology – delivering...
TRANSCRIPT
Mobile Technology – Delivering GIS To Staff At All Levels Of Your Organization
NEURISA – October 15, 2012
Darren Mackiewicz, GISP
Principal Information Management Specialist – CDM Smith
<Agenda>
• Changes & Choices – “The Scenario”
• Mobile Development Frameworks
• Mobile Project Workflows
• Mobile Development Architecture
• Development Tools
• Preparing for a Development Project
• Development Resources
<The Scenario…>
<The Scenario…>
• You’ve got ArcGIS Server software - or - reluctant to take that step
• The Esri Marketing Machine is in High Gear demonstrating ArcGIS Online
• You know there are a number of ways to program against AGS
• Users used to Google/Bing
• Still creating GIS data
Changes & Choices – “The Scenario”
<The Scenario…>
• The word “smartphone” is used in everyday language
– Noun a device that combines a cell phone with a hand-held computer, typically offering Internet access, data storage, e-mail capability, etc.
• Want to get GIS to different levels of your organization
• How?
Changes & Choices – “The Scenario”
<GIS Technology is Evolving Rapidly/>
Changes & Choices – “The Scenario”
• Software Capabilities Growing
• Feed Data to “Any” Device in Any Location
• Strong Integration with Key Systems
<This Evolution Opens Up New Opportunities… Beyond Mapping/>
• Access – By Staff and the Public
– To Office, Mobile, Home
• Visualize – System Condition
– Project Status
• Integrate – Asset Management
– CIP Programs
– Telemetry
– Emergency Preparedness
• Many New Devices
• Engineering and Planning
• Operations Crews
• Management Staff
• The Public
<GIS Trends – Simplifying Data Access/>
• Compile Asset Inventory
• Assess Condition
• Determine Criticality and Risk
• Visualize, Predict, Plan
<GIS Trends – Supporting Asset Management/>
• Analyze Project Viability
• Determine Project Locations
• Track Project Progress
• Manage Infrastructure Programs
<GIS Trends – Supporting Project Management/>
• Work Order Tracking
• Real-Time System Status
• Public Alerts
• Online Editing
<Hot GIS Trends>
<GIS Trends/>
• Emergency Response
• Data Collection & GPS
• Condition Assessment
<A Lot Has Changed !!/>
Changes & Choices – “The Scenario”
Cloud
Amazon
Apple REST / SOAP
Changes & Choices – “The Scenario”
<Result Of The Changes = (Even More) Choices/>
Changes & Choices – “The Scenario”
<History Lesson>
GIS Data
<Desktop GIS/>
ArcView: Avenue
Changes & Choices – “The Scenario”
<MO IMS / ArcIMS/>
WWW
GIS Data VB Script, JavaScript, HTML
<ArcGIS Server (Web ADF)/>
Changes & Choices – “The Scenario”
WWW
GIS Data
ArcObjects on the Web!
Lengthy Code Heavy Server Processing Optimization fell on Developer
Legos!
Changes & Choices – “The Scenario”
You really didn’t want these…..
Changes & Choices – “The Scenario”
Changes & Choices – “The Scenario”
<History Lesson/>
<Current State of Affairs>
Changes & Choices – “The Scenario”
<ArcGIS Server (Web & Mobile APIs)/>
Changes & Choices – “The Scenario”
WWW
GIS Data
No direct interface with ArcObjects
GIS Data
Primary consumer WAS Web Apps
Changes & Choices – “The Scenario”
Changes & Choices – “The Scenario”
Changes & Choices – “The Scenario”
<API – Application Programming Interface/>
• Set of rules ('code') and specifications
• Facilitates interaction between different software programs
Changes & Choices – “The Scenario”
<Esri iOS API - AGSGeometryEngine Class/>
Changes & Choices – “The Scenario”
OBJECTID
BUFFER DISTANCE
<Esri APIs/>
• Flex
• Silverlight
• JavaScript
• iOS
• Android
• Windows Phone
• Etc…
• ArcGIS Server REST Endpoint = One Central Place for all APIs to reference and get information from
Changes & Choices – “The Scenario”
<REST (Representational State Transfer)/>
• Exposing processes through a Web Service
• Adopted by industry leaders Yahoo, Google & Facebook
• Used by a wide range of clients written in different languages
• Transfer XML, JSON or both
• Simply Put: Exposing a system's resources through a RESTful API is
a flexible way to provide different kinds of applications with data formatted in a standard way
<REST Endpoints/>
• Legend & Symbology Renderers
• Spatial Reference
• Spatial Reference Units
• Domains
• Definition Queries
• Default Visibility
• Extents
• Map Caches
• Supported Operations
• Etc….
<API Interaction With REST Is Universal/>
Changes & Choices – “The Scenario”
WWW
ArcSDE Map
Document AGS MAP SERVICE
FLEX
Silverlight JavaScript
Android Windows
Phone
REST
• Feature Class Templates!! • ArcSDE Coded Domain Values!! • Legend Swatches!! •For the first time EVER : Forward Compatible to AGS 10.1 Release
iOS
<REST Endpoint Types/>
Changes & Choices – “The Scenario”
• Map Service
• Feature Service
• Geometry Service
• Image Service
• Geocoding Service
• Geoprocessing Service
• Etc…
<Stop and Think…../>
Changes & Choices – “The Scenario”
<br>
<Mobile Development Frameworks>
Mobile Development Frameworks
<ArcGIS Mobile/>
• Defined Workflow
• Toughbook, Laptop, Tablet
• Templates or Custom Apps
• Ready to Deploy (Templates)
Mobile Development Frameworks
•Mapping •Spatial Query •Sketching •GPS Integration •Editing •Synchronization
<ArcPad/>
• Been Around
• Varied or No Workflow
• Windows CE Devices
• Templates or Custom Apps
• Simple Features
• Check In / Check Out Workflow
Mobile Development Frameworks
•Mapping •Spatial Query •Sketching •GPS Integration •Editing
<ArcEngine/>
• Total Custom Solution
• Windows Tablet, PC
• Full ArcObjects Capabilities
Mobile Development Frameworks
•Mapping •Spatial Query •Sketching •GPS Integration •Editing •Tracing •Redlining •Replication
<iOS API/>
• Maps & Layers
• Dynamic
• Tiled
• Graphics
• Pop-ups
• Tasks
• Query
• Identify
• Geoprocessing
• Editing
• Synchronization
Mobile Development Frameworks
<Development Options/>
• Custom Code vs. Templates
• Workflow vs. Ad-Hoc
<Mobile Development Frameworks> (AND APIs)
Mobile Development Frameworks
Who’s the Winner???
<Mobile Development Frameworks> (AND APIs)
Mobile Development Frameworks
You’re asking the wrong question…
<Mobile Development Frameworks> (AND APIs)
Mobile Development Frameworks
What is the right tool for the job?
<Mobile Development Frameworks – Right Tool For The Job/>
• Microsoft/Apple/Android
• Intranet/Internet
• Ruggedized?
• Accuracy
Mobile Development Frameworks
<Mobile Device Considerations>
• Touch-screen devices are different
– Components must generally have larger hit areas than in desktop-oriented applications
– The interaction patterns for actions like scrolling are different
• Limited screen real estate means different design considerations from desktop applications
• Limited CPU and GPU performance
Mobile Device Frameworks
<Mobile Device Considerations/>
• Different platforms have different hardware capabilities and UI conventions
– Ex. Android hardware Back button; Not on iOS devices
• Memory Management
– Falls on Developer
– Memory conservation
– Quit and restart at any time
• Cannot simply “scale down” desktop or Web GIS applications
Mobile Device Frameworks
Mobile Project Workflows
<Mobile Project Workflows>
<Not-So-Distant History Lesson>
Mobile Project Workflows
GIS Data GIS Data GIS Data GIS Data
GIS Data
Post & Reconcile
<Not-So-Distant History Lesson/>
Mobile Project Workflows
GIS Data GIS Data GIS Data GIS Data
GIS Data
GIS Data
<API Interaction With REST/>
Mobile Project Workflows
WWW
ArcSDE
Map Document
AGS MAP SERVICE
REST ArcSDE Version
Data
Mobile Development Architecture
<Mobile Development Architecture – iOS Focus>
<Disclaimer/>
Mobile Development Architecture
<iOS Development Requirements/>
• Apple Hardware
• Esri ArcGIS API for iOS
• Become a registered Apple developer
• Apple iOS SDK
• Knowledge of Objective C Language & Apple Xcode IDE
Mobile Development Architecture
Pros/Cons of Developing with iOS
• Pros
– Hardware is ‘CHEAP’ compared to rigging out people with toughbooks or laptops
• iPads/iPhones are almost “disposable”
– Polished user interface
• Use Apple’s controls
• Intuitive
– Instant Edits
• Cons
– Do need ArcGIS Server
– iOS API only works on apple devices
– Security
– 3G / Wireless Connectivity (Unless you code for it*)
Mobile Development Architecture
Pros/Cons
Mobile Development Architecture
Above all…….
It’s just cool !
<Mobile Application Goals/>
• Nimble
• Flexible
Mobile Development Architecture
Hours, not
Days
<Targeted Apps………/>
<………Using Targeted Maps/>
<iPads?>
iPad
• How did we get here?
Mobile Development Architecture
<Objective C?/>
Mobile Development Architecture
<iGOV GIS iPad App – Project Summary/>
– Town of Mansfield – Fire Dispatch GIS Application
– Massachusetts Association of Health Boards
– Bristol County Emergency Preparedness Coalition
– CDM Smith Research & Development
Mobile Development Architecture
<iGOV GIS iPad App - Scope>
• Panning and Zooming Functionality
• Zoom In, Zoom Out
• Zoom Previous, Zoom Next
• Center Image (Zoom to selected)
• Pan
– Map Tools
• Select a City/Town context
• Ability to switch between City/Town views
Mobile Development Architecture
<iGOV GIS iPad App - Scope>
• Secured Map Services
• Identify features
• Table of contents
• Quick Maps
• Search and Query tools
• Buffer features
Mobile Development Architecture
<iGOV GIS iPad App – Scope/>
• GPS Tracking
• Collect new point features
– Add attributes, utilizing a pre-defined set of attributes configured in the Map Service Feature Layer
• Capture Photo or video and store with the collected feature
• Edit existing features
Mobile Development Architecture
<iGOV GIS iPad App – Storyboard/>
Mobile Development Architecture
<XML Configuration>
<appname>
<municipalities>
<municipality>
<name/>
<tokenurl/>
<baseurl/>
<featureurl/>
<extent/>
<spatialreference/>
<searchreturnfields/>
Mobile Development Architecture
<XML Configuration/>
<gislayeridlink/>
<gistableidlink/>
<editlayer editfields/>
<quickmaps>
<quickmap name layers/>
<quickmap name layers/>
</quickmaps>
<tool names names aliases>
<enablefeatureeditattributes/>
<enablefeatureeditgeometry/>
<enablefeaturedelete/>
Mobile Development Architecture
Need Another Town/City/Inspection Type?
---- Change The XML
Mobile Development Architecture
XML
Parse XML Class
Application Config Data
Class
Choose Category
Tool
Tool
Tool
Construct Map
• Key Technologies
– Esri’s ArcGIS Server
– Esri iOS API
– Apple iPads
• Use – Field Inspection
– Real-Time GIS Update
– GPS Navigation
– Live GIS Editing
– Search
<What’s Under the Hood?/>
GIS data can now be “pulsed” to devices and systems,
regardless of location, and customized for individual
users
Mobile Development Architecture
<iGOV GIS iPad App – Demo/>
Mobile Development Architecture
<PRASA ‘AquaPad’ App – Project Summary>
• Puerto Rico Aqueduct and Sewer Authority
• Near Real-Time Data Feeds
Mobile Development Architecture
<AquaWeb/>
Mobile Development Architecture
Web Service
<AquaPad>
WWW
Water Tank
REST
Cell
Data Online
FTP
WWW
CDM Smith
WWW
Mobile Development Architecture
<AquaPad>
Web Service REST
• Telemetry – Location
• Telemetry – Current
• Telemetry – History
• Telemetry - Statistics
Mobile Development Architecture
XML
Parse XML Class
Data Array
Charting Control
Map
REST
XML
Parse XML Class
Data Array
Mobile Development Architecture
<PRASA ‘AquaPad’ App – Demo>
Mobile Development Architecture
<Templates>
Mobile Development Architecture
• ArcGIS Mobile
• iOS
• Android
• Windows Mobile
<The Future/>
• Geoprocessing Tools
Mobile Development Tools
<Mobile Development Tools>
<Mobile Development Tools>
• Microsoft – Visual Studio
• Apple – Xcode
• Android – Eclipse
Mobile Development Tools
<Mobile Development Tools>
• PhoneGap
– Open Source development tool
– Build native-like mobile apps with JavaScript/HTML5
– Binding layer that maps JavaScript function calls to natively available APIs
• Appcelerator Titanium
– Same….Plus….
– Actually translates the code into native application code
– JavaScript Only
• Etc…
Mobile Development Tools
Preparing For A Development Project
<Preparing For A Development Project>
<Preparing For A Development Project>
•Have A Plan
Preparing For A Development Project
<Preparing For A Development Project>
•Users •Permissions/Privacy
•UI Design – From Scratch or Familiar UI
•Hosting
•Maintenance/Updates
•Data
•Where is it coming from?
•Basemaps vs Dynamic Layers
•Leave extra time for this
Preparing For A Development Project
•Start Small •Choose the correct development strategy – Utilize blogs
•Storyboard •Forces you to think through the process
•Know the Required Features!
•Leave Time For.. •Performance Tuning
•Testing
•Documentation
•Plan to Develop in Iterations •Prevents the “Black Box Effect”
•Involves the Users – Promotes Buy-In and Ownership
<Preparing For A Development Project>
Preparing For A Development Project
<Preparing For A Development Project – Storyboard/>
Preparing For A Development Project
Development Resources
<Development Resources>
<Development Resources/>
• http://resources.arcgis.com/
– Applications
– Tools
– APIs
– SDKs
• Stack Overflow
• GIS Stack Exchange
• Developer Forums
Development Resources
<Final Thoughts…./>
Final Thoughts
<Questions/>
CDM Smith
Darren Mackiewicz, GISP Principal, East Spatial Applications Group Leader
Thank you!!!