Choosing a Mobile
Deployment Platform
Lloyd Heberlie
Tom Brenneman
Agenda
•
Understanding options for mobile GIS
•
What questions to ask when deciding on a mobile
platform
•
Native vs. web
•
Case studies
•
Digging into the strengths and weaknesses of each
platform
Why mobile?
•
Mobile is where the market is going
•
Mobile internet adoption outpaces desktop internet
adoption by 8x (Economy + Internet Trends
)
•
More smartphones than PCs will be sold in 2011
-
RBC analyst Mike Abramsky
•
Within 5 years “More users will connect to the
Internet over mobile devices than desktop PCs.”
-
Mary Meeker
Mobile development options
•
Native platform
-
ArcGIS Mobile SDK
-
ArcGIS API for iOS
-
ArcGIS API for Windows Phone
-
ArcGIS API for Android – Open Beta
-
ArcGIS API for Flex
-
ArcPad Studio
•
Web
-
JavaScript Compact Build – dojox.mobile, JQTouch,
Jquery Mobile.
Mobile
solution
How do you decide on a mobile solution
How will the
application be used?
Consume and
query content
Simple data
updates
Picture / Video /
Voice data updates
What devices
are available?
Complex data
forms
Provisioned
devices
Existing
users
devices
Pier to pier
interaction
What’s your
budget?
We have to use
existing skills
and personnel
The value of the
project defines
its scope
Can be
disconnected
Geocoding and
geoprocessing
Native vs. Web
•
Native
-
Deployed application through app store / marketplace
-
Application deployed with the device
•
Web
-
Web page accessed from the mobile device
Why use a native platform
•
Performance
•
Functionality
-
Access to device capabilities
-
Camera, contacts, compass, calendar, etc.
-
Push notifications
•
Usability
-
Native platforms are designed for the device
•
Market penetration
-
App store / Marketplace is where mobile users look first
•
Easier to monetize
Why web platform
•
Code reuse / budget
•
One development environment
•
Targeting multiple devices
-
Modifications needed for each device but development
environment is the same
•
Limited device access
•
Full control over deployment
-
No approval process
•
Faster to production
-
No app store
Case study: ESPN
•
Web – Desktop
-
Full content access
•
Web – Mobile
-
Focused content access
-
Main news stories
-
Vote for Sports nation
-
Simple data editing
-
Simple menus
categorizing content
•
Native – Mobile (ScoreCenter)
-
Track scores for myTeams
-
Push updates for scores
-
Link to web content
•
Native – many other options
Case Study: CNN
•
Web – Desktop
-
Full content – tabbed sections
•
Web – Mobile
-
Scrollable sections
•
Native – Mobile
-
News by section
-
Location based news
(My CNN)
-
iReport –
data collection
Common themes from case studies
•
Web – Desktop
-
Most content
•
Web – Mobile
-
Focused content (similar to desktop)
-
Simple feedback
•
Native – Mobile
-
More complex data entry
-
Location based content
-
Push notifications
Case Study: Gulf Oil Spill
•
Web – Desktop
-
Common Operational Picture
-
Community outreach
•
Native – iOS
-
Command center
decision makers
•
Native – ArcGIS Mobile
-
Shoreline assessment,
Deployed boom,
Engineered obstacles,
etc.
-
Detailed GIS data
collection
ArcGIS Mobile SDK
•
Platforms
-
Windows Mobile 5.0,6.0,6.1, and 6.5
•
Development platform
-
Windows XP/Vista/7
-
.NET Framework 3.5 SP1
•
Development environment
-
Visual Studio
-
WPF – .NET Framework 3.5 SP1
-
Win Forms - .NET Framework 2.0
ArcGIS Mobile Customization options
•
Extend the existing mobile and windows applications
-
New Tasks
-
Extend Tasks – Project Extension
•
Build a complete application
•
See: Developing Applications with the ArcGIS Mobile
API
-
Wednesday, 10:30 – 11:45, Mesquite GH
Why ArcGIS Mobile
•
Professional GIS data collection
•
Good GPS and data collection controls
•
Easily configurable without code
Picture /
Video / Voice
data updates
Complex data
forms
Provisioned
devices
Pier to pier
interaction
Consume and
query content
ArcGIS API for iOS
•
Platform
-
iOS version 3.1.2 or higher
•
Development platform
-
Mac
•
Development environment
-
Xcode, Interface Builder, Instruments
-
Cocoa Touch, Objective C
-
iOS SDK 4 or higher
•
See: Advanced Development with ArcGIS API for iOS
-
Thursday 8:30 am and 1:30 pm, primrose C/D
Why iOS
•
Large smart phone user base
-
Largest app community
•
Tablet and phone development in the same
environment
•
iTunes / App Store
Picture /
Video / Voice
data updates
Existing
users
devices
The value of the
project defines
its scope
Consume and
query content
Geocoding and
geoprocessing
iOS Demo
(Parcel value for iPhone)
iOS using C# - MonoTouch from Novell
•
Platform
-
iOS
•
Development platform
-
Mac
•
Development environment
-
Apple’s iPhone SDK
-
ArcGIS API for iOS
-
MonoDevelop
•
MonoTouch Map Viewer for iPhone 4
on ArcGIS.com
-
Bound assembly to ArcGIS API for iOS native library
•
The end result is a true native iOS application
•
See: Writing iOS a Mapping Application in .NET C#
-
Today 4:00 – 4:45, Demo Theater 2 – Oasis 1
ArcGIS API for Windows Phone
•
Platform
-
Windows Phone 7
•
Development platform
-
Windows 7 or Windows Vista with SP 2
•
Development environment
-
Visual Studio
-
Windows Phone Developer Tools
Why Windows Phone
•
Leverage existing Silverlight / .NET
development skills
•
Strong native platform
•
See: Introduction to ArcGIS API for
Windows Phone
-
Wednesday 2:45 pm –
Pasadena/Ventura/Sierra
•
See: Advanced Development with ArcGIS
API for Windows Phone
-
Thursday, 10:15-11:30 -
Pasadena/Ventura/Sierra
Picture /
Video / Voice
data updates
Existing
users
devices
We have to use
existing skills
and personnel
Consume and
query content
Geocoding and
geoprocessing
ArcGIS API for Android
•
Platform
-
Android
•
Development platform
-
Windows, Mac, Linux
•
Development environment
-
Eclipse 3.5 or 3.6, Java development kit 6
-
Android Development Tools plugin for Eclipse
-
SDK Platform Android 2.1, API 7
-
SDK Platform Android 2.2, API 8
Why Android
•
Leverage existing Java development skills
•
Rapid active / growing development
community
•
Android Marketplace
•
See: Introduction to ArcGIS API for Andoid
-
Today 4:30 Primrose C/D
•
See: Advanced Development with ArcGIS
API for Android
-
Thursday 8:30 am and 1:30 pm – Primrose A
Picture /
Video / Voice
data updates
Existing
users
devices
Consume and
query content
Geocoding and
geoprocessing
The value of the
project defines
its scope
Android Demo
ArcGIS API for Flex
•
Platform
-
Android, iOS
•
Development platform
-
Windows, Mac, Linux (no IDE)
•
Development environment
-
Adobe FlashBuilder, Creative Suite
-
ActionScript, MXML
-
AIR for Android, packager for iOS
Why Flex
•
Leverage existing skills
•
Strong developer / design community
•
Good support for device capabilities
-
Camera, Accelerometer, GPS
•
See: Using the ArcGIS Flex API to Build
Collaborative Mobile Applications
Deployed on Multiple Platforms (Android
and iOS)
-
Wednesday, 10:30-11:15 –
Demo Theater 2 – Oasis 1
Picture /
Video / Voice
data updates
Existing
users
devices
We have to use
existing skills
and personnel
Consume and
query content
Geocoding and
geoprocessing
Flex Mobile Demo
When to use the Native ArcGIS Application
•
Fast deployment
-
All you need is a web map
-
Users will need instruction on the map to
load
•
Phase 1
-
Get user reaction to default app to hone
requirements for phase 2
•
Deployment to the GIS community
Picture /
Video / Voice
data updates
Existing
users
devices
We have to use
existing skills
and personnel
Consume and
query content
Geocoding
Write once – deploy multiple (sort of)
•
Never seamless between platforms
-
Tweaks are always necessary: iOS to Android to
Windows Phone
-
Tablets may warrant their own interface
•
JavaScript compact build
-
Style appropriately for platform
-
Dojox.mobile likely easiest approach
•
ArcGIS API for Flex
-
Adobe Flex SDK “Hero” + Adobe Flash Builder “Burrito”
JavaScript compact build
•
JavaScript API with smaller footprint (~30kb)
-
No dijits
-
Limited modules
•
Can use with variety of JavaScript toolkits
-
Dojox.mobile
, jQuery mobile
, jQtouch
, Sencha Touch
,
etc.
•
PhoneGap
(Some access to phone capabilities)
-
Build native app from JavaScript
-
Development requirements vary by targeted platform
•
No limitations on platform, developer platform or IDE
Using the JavaScript compact build
•
Load modules not included if they are needed
-
dojo.require(“esri.tasks.query”)
•
Use Application cache (HTML 5) to store code locally
-
Check manifest to see if new code is available
•
Samples available on mobile at
http://links.esri.com/javascript
•
ProtoFluid is a great app for testing page size of
devices http://app.protofluid.com/
-
Use in conjunction with FireBug to debug layout on
desktop
Support and API
•
New mobile features at JavaScript API 2.2
-
Better touch support
-
Gallery widget
•
Supported browsers
-
Android 2.2+
-
iOS
-
BlackBerry Torch
Why JavaScript
•
All the why web platform
•
More easily deploy across platforms
•
Leverage web developers skill set
•
See: Advanced Development with ArcGIS
API for JavaScript
-
Wed 10:30am Pasadena/Ventura/Sierra (RH)
-
Thu 1:30pm Primrose B (PSCC)
Simple data
updates
Existing
users
devices
We have to use
existing skills
and personnel
Consume and
query content
Geocoding and
geoprocessing
Demo JavaScript compact Build
Getting more information
Where can I get more information?
•
Resource center
-
http://resources.arcgis.com/content/mobilegis/about
•
ArcGIS.com groups
-
ArcGIS Mobile Code Samples
-
ArcGIS for iOS Developer Samples
•
Training
-
Building Application Using the ArcGIS Mobile SDK
-
Building Web Applications Using the ArcGIS API for
JavaScript
Esri Training for Mobile GIS Developers
http://www.esri.com/training
DevSummit Agenda: Mobile Technical Sessions
•
New Capabilities in ArcPad 10 for Advanced
Developers
-
Wednesday 1:00 – Demo Theater 2 – Oasis 1
Summary
•
What are your requirements?
•
What is your budget?
•
What is negotiable?
Please fill out the session
survey
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο