Getting Started with the ArcGIS Mobile APIsKris Bezdecny, David Martinez
Andy Gup, David Cardella
Agenda
• Overview
• ArcGIS for …- iOS- Windows Phone- Android
• Wrap up- Q and A
What is mobile GIS?
Extends the reach of ArcGIS from the office to the field
• With a mobile GIS solution you can
- Carry your maps to the field
- Collect and Update Geographic Information
- Track and Geo-collaborate
What are the benefits of mobile GIS?
Leverages the investment of your enterprise GIS
• Improve Efficiency and Accuracy of Field Operations
• Rapid Data Collection and Seamless Data Integration
• Helps to Make Informed and Timely Decisions
• Replaces paper based work flows
ArcGIS mobile functionality exposed through applications and APIs
ArcGIS System
CloudCloud
EnterpriseEnterprise
LocalLocal
•• DiscoverDiscover•• CreateCreate•• ManageManage•• VisualizeVisualize•• AnalyzeAnalyze•• CollaborateCollaborate
Web
Mobile
Desktop
Esri Mobile Technologies
Mobile capabilities of the ArcGIS system
iOSiOSWindows PhoneWindows Phone
AndroidAndroidLinuxLinux
Windows MobileWindows Mobile
Windows 7Windows 7
Platforms
ArcGIS MobileForm Factors
Apps and APIs
Functionality(Mobility Services)
Esri Mobile Products
ArcGIS for …
iOSMicrosoftWindows Phone
AndroidArcGIS Mobile
Rugged DevicesRugged Devices Smartphones and SlatesSmartphones and Slates
ArcPad
ArcGIS on Rugged Devices
Windows and Windows Mobile Devices
• Designed for harsh field conditions
• One handed/vehicle-mounted use
• Occasionally connected workflows
• High accuracy data collection- GPS integration- Laser integration
• Replace Paper Surveys- Intelligent forms- Barcode integration
Water Facilities MappingWater Facilities Mapping
Asset Maintenance/InspectionAsset Maintenance/InspectionFirst RespondersFirst Responders
Land ManagementLand Management
ArcGIS Mobile
Applications plus SDK
• Application- Rapid Deployment of Maps, Apps & Projects- Task-based, Workflow Driven User Experience- Synchronization of Data between Field & Office- Local Caching of Data
• API- Build focused, custom solutions
Pre-Planned
•• CoarseCoarse--grained .NET SDKgrained .NET SDK• Extend COTS application•• Embed Embed ArcGISArcGIS into existing into existing
line of business applicationsline of business applications
•• PlatformsPlatforms•• Windows XP, Vista, Windows 7Windows XP, Vista, Windows 7Windows MobileWindows Mobile
•• Download from Customer Care PortalDownload from Customer Care Portal
•• Help and Samples location at Help and Samples location at ArcGISArcGIS Mobile Mobile Resource CenterResource Center
ArcGIS Mobile SDK Using the SDK…
ArcGIS on Smartphones and Slates
iOS, Windows Phone and Android Devices
• Designed for touch-screen phones
• One handed use
• Connected Workflows (Wifi, 3G)
• Assisted-GPS Integration
• Replace Paper Surveys- Intelligent forms- Field Validation- Media Integration
Service RequestsService Requests
Parcel ValuationParcel ValuationVGIVGI
Campus MapsCampus Maps
Emergency OperationsEmergency Operations
ArcGIS on Smartphones and Slates
iOS, Windows Phone and Android Devices
• Application• Easy access to your content
• Gateway to online ArcGIS system
• API• Build focused mapping
applications
• Native API
Introductions
• Kris Bezdecny
• David Martinez
• Andy Gup
ArcGIS API for iOS
What is ArcGIS for iOS?
• API- Build custom iPhone applications- Integrate GIS into existing applications- Native Objective-C library
• Application- Built on the ArcGIS API for iOS- Access to on-premise ArcGIS Server
content - Gateway to online ArcGIS content
What can you do with the API
• Service Layers- Supports multiple map projections- Dynamic, cached, and feature layers- Bing Maps and Open StreetMap- Secured Services
• Graphics- “Sketch” graphic elements on a map- Create Callouts
• Tasks- Query, Identify, and Find GIS features- Add/Update/Delete GIS features- Locate/Geocode addresses- Geometry operations- Analytical Tasks
Demo
Setup Hardware
• Intel-based Macintosh- Snow Leopard
• iOS device(s)- Essential for testing- iPhone, iPad, iPod Touch
Setup Software
• Apple iOS SDK 4.x- Includes Xcode, Interface Builder, instruments, iOS
simulator
• ArcGIS API for iOS- Native Objective-C library
ArcGIS API for iOS Resource Center
• API package download• Conceptual and reference help• Community resources• Samples
Demo
Additional Tips-and-tricks
• Learn Objective-C- Xcode and Interface Builder
• Debugging- TN2239
• Performance testing- Use a physical device
• Universal apps
Demo
Additional resources
• Apple iOS Developer Center• Human Interface Guidelines• Esri ArcGIS for iOS Resource Center• Mockup tools• Web training
- Mobile GIS: Getting Started with the ArcGIS API for iOS- Mobile GIS: Using the ArcGIS for iOS Application- Mobile GIS: Creating Web Maps for Lightweight Mobile
Apps- Mobile GIS: Creating Data Collection Applications Using
the ArcGIS API for iOS (available Q2 2011)
Recommended Tech Sessions for iOS
Introduction to ArcGIS API for iOS- Tuesday, 1:00pm, Pasadena/Sierra/Ventura
Advanced Development with the ArcGIS API for iOS- Thursday, 8:30am, Primrose C/D- Thursday, 1:30pm, Primrose C/D
ArcGIS API for Windows Phone 7
Agenda
• What it is- H/W
- Diff. types of devices- S/W- Understanding Windows Phone
• How to use it- Setup- Config- Sample App
• Demo• Performance Considerations
What is ArcGIS for Windows Phone?
• API - Develop custom native mapping applications - For Silverlight development environment- Maps, graphics and task
• Application- Built on the ArcGIS API for Windows Phone- Access to ArcGIS.com Web Maps and Services- Gateway to online ArcGIS content
Applications
Demo
What do you need to get started? Hardware and OS
• Windows 7 • Windows Vista with Service Pack 2• Memory 2 GB of RAM• 3 GB of free disk space• Graphics card of DirectX 10 or card with
WDDM 1.1 driver.
• Windows Phone device- Samsung Focus, HTC Surround, LG Quantum...
Windows Phone Hardware
• Each Windows Phone 7 hardware will have these minimum specifications:
- WVGA (480x800) display
- Capacitive 4-point multi-touch screens
- DirectX 9 hardware acceleration
- A standard suite of sensors – A-GPS*, accelerometer*, compass, light, proximity
- A digital camera*
- A common set of hardware controls and buttons that include the Start, Search, and Back buttons
- Support for data connectivity using cellular networks and Wi-Fi
- 256 MB (or more) of RAM and 8 GB (or more) of flash storage
What do you need to get started? Software
• Windows Phone Developer Tools- Visual Studio for Express for Windows Phone- Windows Phone Emulator Resources- Silverlight Tools- XNA Game Studio 4.0- Microsoft Expression Blend for Windows Phone- *Windows Phone Developer Registration Tool
• ArcGIS API for Windows Phone
Libraries
• ESRI.ArcGIS.Client.dll- Map, ArcGIS Service Layers, Graphics, Geometry, Symbols, Editing
• ESRI.ArcGIS.Client.Bing.dll- Adds support for using Bing layers and services
• ESRI.ArcGIS.Client.Toolkit.dll- Common set of controls for map interaction: Legend, InfoWindow
• ESRI.ArcGIS.Client.Toolkit.DataSources.dll- Common set of data sources
- CodePlex URL: http://esrisilverlight.codeplex.com
• ESRI.ArcGIS.Client.WebMap.dll- ArcGIS.com WebMap support
Understanding Windows Phone 7
A Smartphone OS
• A completely new OS- Started from scratch – brand new OS
- Locked down for seamless upgrades- Microsoft will provide for OS upgrades – not vendors- Zune application
- Similar to Apple’s model with iPhone thru iTunes- Marketplace
- Silverlight and XNA applications- Access via Phone or Zune- Apps have option for “Try before you buy” experience
Silverlight & Touch
Tap Double-Tap Pan/Drag Touch & Hold
Flick Stretch Pinch
How to use it….
• Setup• Config• Layout• Consuming services• Gestures
Demo – Resources & Examples
Layout and Services
• Frame and Page Navigation• Main.xaml• Service specifications• Reading services from code
Demo
Performance Considerations
• Images- Use the appropriate image format• Understand the UI thread, it is the main thread• Emulator - Avoid closing the emulator• User Input - Use manipulation events over mouse events.
What about your existing Silverlight apps?
Helpful Resources
• App Hub- http://create.msdn.com/en-US/• Windows Phone Training kit• ArcGIS API for Windows Phone Resource Center-
http://resources.arcgis.com/
Recommended Tech Sessions for Windows Phone
Introduction to ArcGIS API for Windows Phone - Wednesday, 2:45pm, Pasadena/Ventura/Sierra
Advanced Development with ArcGIS API for Windows Phone
- Thursday, 10:15am, Pasadena/Ventura/Sierra
ArcGIS API for Android
What is ArcGIS API for Android?
API /SDK- Build focused, native Mapping applications - Android 2.1, 2.2 applications- Target smartphones and tablet devices- Integrate Esri’s GIS into an existing apps- Native Java API- Eclipse plug-ins
What do you need to get started? Hardware
• Windows, Mac OS X (Intel), Linux • Android device
- Nexus One, Incredible, Evo….- Essential for testing- Apps can be directly deployed to devices
from within Eclipse development environment
What do you need to get started? Software
• Eclipse 3.5 (Galileo)• ArcGIS API for Android (Eclipse Plug-ins)• Google’s Android SDK + Eclipse ADT Plug-in
- Android Debug Bridge (ADB)
• Java Developer Kit 6
All Free of charge
What do you need to get started? Software
• USB driver for phone• No registration required to start developing. • Works on a non-rooted phone!• Registration is required to deploy on Android Market
Demo – ArcGIS App
Project Setup
Install Android SDK- http://developer.android.com
ADT for Eclipse Plug-inADB (Android Debug Bridge)Register for the Beta
- http://esriurl.com/androidbeta
Import ArcGIS API for Android into Eclipse- http://downloads.esri.com/software/arcgis/android
Setup an Android Virtual DeviceRun ArcGIS API for Android Samples
Demo – ArcGIS Project Setup
Tips-and-tricks
• Install Eclipse in c:\eclipse (If possible)• On phone, set USB Debugging “ON”• Set Eclipse heapsize
- Check options at: java -X- Eclipse.ini- Or,
eclipse [normal args] –vmargs –Xmx1024M [more VM args]
• Send debug messages to logcat:Log.e("Debug", String.valueOf(_currentLocation.getLatitude()));
• Setting up phone VMs
Recommended Tech Sessions for Android
Introduction to ArcGIS API for Android - Tuesday, 4:30pm, Primrose C/D
Advanced Development with ArcGIS API for Android- Thursday, 8:30am, Primrose A- Thursday, 1:30pm, Primrose A
Upcoming Training: ArcGIS API for Android
• April 21, 2011- Live Training Seminar: Introduction to Android and Android
API
• Available Q2 2011- Mobile GIS: Getting Started with the ArcGIS API for Android- Mobile GIS: Creating Data Collection Applications Using the
ArcGIS API for Android
Authoring Mobile Maps
• Design for purpose- Remove unnecessary layers of information- Set scale dependency (walk, drive, etc)
• Design for the environment- Establish contrast, choose meaningful symbology
1280x1024 BIG
320x240 320x240 SmallSmall
SunlightSunlight washes washes outout ColorsColors
Authoring Mobile Maps
• Design for device form factor- Set scale dependency based on device resolution- Set symbol width based upon device resolution
• Development- Interface guidelines
Deployment considerations
• Platform developer requirements
• Esri Attribution
• Esri Licensing
• Submittal
Developer Developer Requirements
• Developer account
• SDK- OS updates
• Devices
• Deploying- Development- App Store/Marketplace- Enterprise
Esri Attribution
• Attribution in About or Credits- API- Data
• Esri Logo- If using data from AGOL
Esri Licensing
• Enterprise apps deployed Internally- Requires ArcGIS Server license- Deploy unlimited number of applications
• Public Apps deployed in App Store/Marketplace- Free app
- Deploy unlimited number of applications
- For fee (or with ads)- Free when using your ArcGIS Server license- Otherwise partner group
Current Status
• All smartphone APIs in Public beta!
1.8 2.2 1.0