Sie sind auf Seite 1von 41

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 Whats 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
-

Development platform
-

Development environment
-

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


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 Apples 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

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

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?

Please fill out the session survey

Das könnte Ihnen auch gefallen