Professional Documents
Culture Documents
Choosing A Mobile Deployment Platform
Choosing A Mobile Deployment Platform
Choosing A Mobile Deployment Platform
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
-
Within 5 years More users will connect to the Internet over mobile devices than desktop PCs.
-
Mary Meeker
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
-
Mobile solution
Provisioned devices
The value of the project defines its scope Existing users devices What devices are available?
Native
-
Deployed application through app store / marketplace Application deployed with the device Web page accessed from the mobile device
Web
-
Performance Functionality
-
Push notifications Native platforms are designed for the device App store / Marketplace is where mobile users look first
Usability
-
Market penetration
-
Easier to monetize
Modifications needed for each device but development environment is the same
Faster to production
-
Web Desktop
-
Web Mobile
-
Track scores for myTeams Push updates for scores Link to web content
Web Desktop
-
Full content tabbed sections Scrollable sections News by section Location based news (My CNN) iReport data collection
Web Mobile
-
Native Mobile
-
Web Desktop
-
Most content Focused content (similar to desktop) Simple feedback More complex data entry Location based content Push notifications
Web Mobile
-
Native Mobile
-
Web Desktop
-
Common Operational Picture Community outreach Command center decision makers Shoreline assessment, Deployed boom, Engineered obstacles, etc. Detailed GIS data collection
Native iOS
-
Platforms
-
Windows Mobile 5.0,6.0,6.1, and 6.5 Windows XP/Vista/7 .NET Framework 3.5 SP1 Visual Studio
-
Development platform
-
Development environment
-
WPF .NET Framework 3.5 SP1 Win Forms - .NET Framework 2.0
Build a complete application See: Developing Applications with the ArcGIS Mobile API
-
Professional GIS data collection Good GPS and data collection controls Easily configurable without code
Provisioned devices
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
-
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
Tablet and phone development in the same environment iTunes / App Store
Platform
-
iOS Mac Apples iPhone SDK ArcGIS API for iOS MonoDevelop Bound assembly to ArcGIS API for iOS native library
Development platform
-
Development environment
-
The end result is a true native iOS application See: Writing iOS a Mapping Application in .NET C#
-
Platform
-
Windows Phone 7 Windows 7 or Windows Vista with SP 2 Visual Studio Windows Phone Developer Tools
Development platform
-
Development environment
-
Leverage existing Silverlight / .NET development skills Strong native platform See: Introduction to ArcGIS API for Windows Phone
-
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
-
Android Demo
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
-
See: Using the ArcGIS Flex API to Build Collaborative Mobile Applications Deployed on Multiple Platforms (Android and iOS)
-
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
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
No dijits Limited modules Dojox.mobile, jQuery mobile, jQtouch, Sencha Touch, etc. Build native app from JavaScript Development requirements vary by targeted platform
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/
-
Supported browsers
Android 2.2+ iOS BlackBerry Torch
Why JavaScript
Consume and query content
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
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
-
Summary