Darren Mackiewicz, GISP Mobile Technology ... - Wild Apricot · Mobile Technology – Delivering...

Preview:

Citation preview

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

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

mackiewiczdm@cdmsmith.com

Thank you!!!

Recommended