choosing a mobile deployment platform

41
Choosing a Mobile Deployment Platform Lloyd Heberlie Tom Brenneman

Upload: dvjacquet29exactly

Post on 28-Oct-2014

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Choosing a Mobile Deployment Platform

Choosing a Mobile Deployment Platform

Lloyd HeberlieTom Brenneman

Page 2: 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

Page 3: Choosing a Mobile Deployment 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

Page 4: Choosing a Mobile Deployment Platform

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

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

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

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

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

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

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

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

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

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

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

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

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

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

iOS Demo (Parcel value for iPhone)

Page 19: Choosing a Mobile Deployment Platform

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

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

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

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

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

Android Demo

Page 25: Choosing a Mobile Deployment Platform

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

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

Flex Mobile Demo

Page 28: Choosing a Mobile Deployment Platform

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

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

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

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

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

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

Demo JavaScript compact Build

Page 35: Choosing a Mobile Deployment Platform

Getting more information

Page 36: Choosing a Mobile Deployment Platform

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

Esri Training for Mobile GIS Developershttp://www.esri.com/training

Page 38: Choosing a Mobile Deployment Platform

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

Summary

• What are your requirements?• What is your budget?• What is negotiable?

Page 40: Choosing a Mobile Deployment Platform

Please fill out the session survey

Page 41: Choosing a Mobile Deployment Platform