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 JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile.
•
Web
-
How do you decide on a mobile solution
How will the application be used? Simple data updates Picture / Video / Voice data updates Pier to pier interaction Complex data forms Geocoding and geoprocessing Can be disconnected What’s your budget? We have to use existing skills and personnel
Consume and query content
Mobile solution
Provisioned devices
The value of the project defines its scope Existing users devices What devices are available?
Native vs. Web
•
Native
-
Deployed application through app store / marketplace Application deployed with the device Web page accessed from the mobile device
•
Web
-
Why use a native platform
• •
Performance Functionality
-
Access to device capabilities
-
Camera, contacts, compass, calendar, etc.
-
Push notifications Native platforms are designed for the device App store / Marketplace is where mobile users look first
•
Usability
-
•
Market penetration
-
•
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 No app store
•
Faster to production
-
Case study: ESPN
•
Web – Desktop
-
Full content access Focused content access
-
•
Web – Mobile
-
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 Scrollable sections News by section Location based news (My CNN) iReport – data collection
•
Web – Mobile
-
•
Native – Mobile
-
-
Common themes from case studies
•
Web – Desktop
-
Most content Focused content (similar to desktop) Simple feedback More complex data entry Location based content Push notifications
•
Web – Mobile
-
•
Native – Mobile
-
Case Study: Gulf Oil Spill
•
Web – Desktop
-
Common Operational Picture Community outreach Command center decision makers Shoreline assessment, Deployed boom, Engineered obstacles, etc. Detailed GIS data collection
•
Native – iOS
-
•
Native – ArcGIS Mobile
-
-
ArcGIS Mobile SDK
•
Platforms
-
Windows Mobile 5.0,6.0,6.1, and 6.5 Windows XP/Vista/7 .NET Framework 3.5 SP1 Visual Studio
-
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
Consume and query content
• • •
Professional GIS data collection Good GPS and data collection controls Easily configurable without code
Picture / Video / Voice data updates
Pier to pier interaction
Complex data forms
Provisioned devices
ArcGIS API for iOS
•
Platform
-
iOS version 3.1.2 or higher Mac Xcode, Interface Builder, Instruments Cocoa Touch, Objective C iOS SDK 4 or higher Thursday 8:30 am and 1:30 pm, primrose C/D
•
Development platform
-
•
Development environment
-
•
See: Advanced Development with ArcGIS API for iOS
-
Why iOS
Consume and query content Picture / Video / Voice data updates Geocoding and geoprocessing Existing users devices The value of the project defines its scope
•
Large smart phone user base
-
Largest app community
•
Tablet and phone development in the same environment iTunes / App Store
•
iOS Demo (Parcel value for iPhone)
iOS using C# - MonoTouch from Novell
•
Platform
-
iOS Mac Apple’s iPhone SDK ArcGIS API for iOS MonoDevelop Bound assembly to ArcGIS API for iOS native library
•
Development platform
-
•
Development environment
-
•
MonoTouch Map Viewer for iPhone 4 on ArcGIS.com
-
• •
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 Windows 7 or Windows Vista with SP 2 Visual Studio Windows Phone Developer Tools
•
Development platform
-
•
Development environment
-
Why Windows Phone
Consume and query content Geocoding and geoprocessing Picture / Video / Voice data updates Existing users devices We have to use existing skills and personnel
•
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
ArcGIS API for Android
•
Platform
-
Android Windows, Mac, Linux 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
•
Development platform
-
•
Development environment
-
Why Android
Consume and query content Geocoding and geoprocessing Picture / Video / Voice data updates Existing users devices The value of the project defines its scope
• •
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
Android Demo
ArcGIS API for Flex
•
Platform
-
Android, iOS Windows, Mac, Linux (no IDE) Adobe FlashBuilder, Creative Suite ActionScript, MXML AIR for Android, packager for iOS
•
Development platform
-
•
Development environment
-
Why Flex
Consume and query content Geocoding and geoprocessing Picture / Video / Voice data updates
• • •
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)
-
Existing users devices We have to use existing skills and personnel
Wednesday, 10:30-11:15 – Demo Theater 2 – Oasis 1
Flex Mobile Demo
When to use the Native ArcGIS Application
Consume and query content
•
Fast deployment
-
All you need is a web map Users will need instruction on the map to load Get user reaction to default app to hone requirements for phase 2
Geocoding
•
Phase 1
-
Picture / Video / Voice data updates Existing users devices We have to use existing skills and personnel
•
Deployment to the GIS community
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 Style appropriately for platform Dojox.mobile likely easiest approach Adobe Flex SDK “Hero” + Adobe Flash Builder “Burrito”
-
•
JavaScript compact build
-
•
ArcGIS API for Flex
-
JavaScript compact build
•
JavaScript API with smaller footprint (~30kb)
-
No dijits Limited modules Dojox.mobile, jQuery mobile, jQtouch, Sencha Touch, etc. Build native app from JavaScript Development requirements vary by targeted platform
•
Can use with variety of JavaScript toolkits
-
•
PhoneGap (Some access to phone capabilities)
-
•
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”) Check manifest to see if new code is available
•
Use Application cache (HTML 5) to store code locally
-
•
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
All the why web platform More easily deploy across platforms Leverage web developers skill set See: Advanced Development with ArcGIS API for JavaScript
-
Geocoding and geoprocessing Simple data updates Existing users devices We have to use existing skills and personnel
•
Wed 10:30am Pasadena/Ventura/Sierra (RH) Thu 1:30pm Primrose B (PSCC)
Demo JavaScript compact Build
Getting more information
Where can I get more information?
•
Resource center
-
http://resources.arcgis.com/content/mobilegis/about ArcGIS Mobile Code Samples ArcGIS for iOS Developer Samples Building Application Using the ArcGIS Mobile SDK Building Web Applications Using the ArcGIS API for JavaScript
•
ArcGIS.com groups
-
•
Training
-
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?