Choosing a Mobile Deployment Platform
-
Upload
dvjacquet29exactly -
Category
Documents
-
view
15 -
download
0
Transcript of Choosing a Mobile Deployment Platform
Choosing a Mobile Deployment Platform
Lloyd HeberlieTom 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 contentSimple 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 Developershttp://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