survey123 for arcgis: for developers...modifying the source code – whys and why nots •...

29
James Noble Richard Mumford Survey123 for ArcGIS: for Developers

Upload: others

Post on 26-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

James Noble

Richard Mumford

Survey123 for ArcGIS: for Developers

Page 2: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Summary

• What is Survey123?

• Why and how to extend it

• Introduction to AppStudio

• Re-branding Survey123

• Adding custom functionality

Page 3: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Richard Mumford

What is Survey123?

Page 4: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Survey123

Form-centric data collection

Smart forms with built-in logic

Web and mobile

Works disconnected

Part of the Geospatial Cloud

Page 5: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Survey123

Surveys

Page 6: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Survey123

Surveys

Surveys define data, logic and experience for a particular use case

Survey123 app interprets and displays the user’s surveys

Page 7: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

James Noble

Extending Survey123

Page 8: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Ways to extend Survey123

Functionality

Co

mp

lexi

ty

Re-brand the app

Themes

Survey123 Web Designer

JavaScript Functions

Embedding into Web Apps

Python

Webhooks

Survey123 Connect / xlsx

Modifying the source codeAppStudio

Add-Ins (coming soon)

Page 9: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Add-Ins

• Created using QML/Qt Creator

• Add-Ins are backwards compatible, and are supported by all platforms of the field app

• Avoid maintenance issues

• Can be pushed to users without re-releasing an app

• Stored as an ArcGIS Online item

• Downloaded via the field app settings

Page 10: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Types of Add-In

Tab/Tile Mode

• User interface

• Launched on start-up, or from another Add-In

- Open/edit a survey from a map view

- Adding an assignment to a survey

Service Mode

• No user interface

• Automatically started

• Run in the background- Location tracking

- Data updates

Page 11: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Modifying the source code – Whys and Why Nots

• Why- Re-Branding- Create a new app- Modify existing functionality- Add specialized functionality- Simplifying UX- Focussing workflows- Automate processes

• Why Not- Maintainability- Keeping up with changes to

code

Page 12: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

AppStudio for ArcGIS

• A tool to create geoenabled cross-platform native apps

• Tools for Building and Testing Apps

• Extending Survey123 requires AppStudio Standard License

AppStudio Player

Console Window

Cloud Make

Qt Creator

Page 13: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

iOS

Android

Linux

Windows

Mac

One App

Page 14: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Richard Mumford

Demo: AppStudio Tour

Page 15: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

James Noble

Rebranding Survey123

Page 16: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Seal Spotting in Helgoland

Page 17: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Introducing Seal Surveyor!

Courier New

Page 18: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Introducing Seal Surveyor!

Page 19: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

AppStudio

• Icon

• Splash screen

• App color scheme

Rebranding Survey123

Qt Creator

• Image assets

• Text elements

• Buttons

Page 20: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

James Noble

Demo: Re-Branding

Page 21: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Richard Mumford

Adding custom functionality

Page 22: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Survey123

Surveys

Page 23: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Survey123

Surveys

Define a new component in the survey

Add code to Survey123 so it can interpret the new component

Page 24: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

AppStudio Stack – Custom Survey123 App

AppStudioAppFramework

Qt Quick Framework

ArcGIS Runtime API

Custom CodeQML + JS + Assets

Page 25: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Richard Mumford

Demo: custom functionality

Page 26: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Summary

• Extending is approachable

• 90% of the work is done for you!

Reminder:

• Use COTS when you can

• Extend when you can’t

• Code when you need- Maintenance

- Check the roadmap!

Page 27: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Resources

• https://doc.arcgis.com/en/survey123/reference/configuresurvey123withappstudio.htm

• https://www.esri.com/en-us/arcgis/products/appstudio-for-arcgis/resources

• https://community.esri.com/groups/survey123/blog

Page 28: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying

Complete answersand select “Submit”

Scroll down to find the feedback section

Select the session you attended

Download the Esri Events app and find your event

Please Take Our Survey on the App

Page 29: Survey123 for ArcGIS: for Developers...Modifying the source code – Whys and Why Nots • Why-Re-Branding-Create a new app-Modify existing functionality-Add specialized functionality-Simplifying