Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build –...
Transcript of Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build –...
![Page 1: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/1.jpg)
Choosing a Mobile Deployment Platform
Lloyd HeberlieTom Brenneman
![Page 2: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/2.jpg)
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
![Page 3: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/3.jpg)
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
![Page 4: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/4.jpg)
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.
![Page 5: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/5.jpg)
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
![Page 6: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/6.jpg)
Native vs. Web
• Native- Deployed application through app store / marketplace- Application deployed with the device
• Web- Web page accessed from the mobile device
![Page 7: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/7.jpg)
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
![Page 8: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/8.jpg)
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
![Page 9: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/9.jpg)
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
![Page 10: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/10.jpg)
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
![Page 11: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/11.jpg)
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
![Page 12: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/12.jpg)
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
![Page 13: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/13.jpg)
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
![Page 14: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/14.jpg)
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
![Page 15: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/15.jpg)
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
![Page 16: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/16.jpg)
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
![Page 17: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/17.jpg)
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
![Page 18: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/18.jpg)
iOS Demo (Parcel value for iPhone)
![Page 19: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/19.jpg)
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
![Page 20: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/20.jpg)
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
![Page 21: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/21.jpg)
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
![Page 22: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/22.jpg)
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
![Page 23: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/23.jpg)
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
![Page 24: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/24.jpg)
Android Demo
![Page 25: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/25.jpg)
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
![Page 26: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/26.jpg)
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
![Page 27: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/27.jpg)
Flex Mobile Demo
![Page 28: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/28.jpg)
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
![Page 29: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/29.jpg)
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”
![Page 30: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/30.jpg)
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
![Page 31: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/31.jpg)
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
![Page 32: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/32.jpg)
Support and API
• New mobile features at JavaScript API 2.2- Better touch support- Gallery widget
• Supported browsers- Android 2.2+- iOS- BlackBerry Torch
![Page 33: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/33.jpg)
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
![Page 34: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/34.jpg)
Demo JavaScript compact Build
![Page 35: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/35.jpg)
Getting more information
![Page 36: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/36.jpg)
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
![Page 37: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/37.jpg)
Esri Training for Mobile GIS Developershttp://www.esri.com/training
![Page 38: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/38.jpg)
DevSummit Agenda: Mobile Technical Sessions
• New Capabilities in ArcPad 10 for Advanced Developers
- Wednesday 1:00 – Demo Theater 2 – Oasis 1
![Page 39: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/39.jpg)
Summary
• What are your requirements?• What is your budget?• What is negotiable?
![Page 40: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/40.jpg)
Please fill out the session survey
![Page 41: Choosing a Mobile Deployment Platform · ArcPad Studio • Web - JavaScript Compact Build – dojox.mobile, JQTouch, Jquery Mobile. Mobile . solution. How do you decide on a mobile](https://reader034.fdocuments.net/reader034/viewer/2022050210/5f5d183c5e0ced01a01a6f93/html5/thumbnails/41.jpg)