ArcGIS Online: Best Practices for High-Demand Web Applications › library › userconf › fed19...

Preview:

Citation preview

ArcGIS Online: Best Practices for High-Demand Web ApplicationsBonnie Stayer, Esri

Audience Considerations

Who is the audience?

• A few select viewers• GIS analysts• The entire world• Local citizens• Emergency responders• Your mom

What is the intended experience?

• What is being communicated?• What data and visualization are important?• Do they need to have a login?• What is the desired user interaction

- Pop-ups- Routing- Compare data - Change basemaps- Explore data

?

What is the performance expectation?

• How long should it take for a layer to load?- Immediate- 3 seconds- 10 seconds

• How long should a user wait for results?- Immediate- 10 seconds- It depends

• Does the user need to navigate to a new application, or is it embedded in familiar media like a website?

Functionality

UsabilityPerformance

Assumptions for High-Demand (Viral) Apps

• Audience- The entire world

• Performance- App loads quickly (no more than 3 seconds)- All components need to withstand up to 1000 req/s

• Functionality- User can figure out tools without instructions- No more than 3 clicks to complete interaction

Layer Types

Tile Layers

• Tile Layers (Raster)- Great performance, especially for complex geometry- Always optimal if data isn’t changing frequently- Can generate tiles automatically when data is updated or a new

area is requested- Can support pop-ups from source feature data

• Tile Layers (Vector)- Support custom styling- Support client-side reprojection - Better for high-resolution devices

Hosted Tile Layers – Best Practices

• Set desired symbology before publishing tiles• Publish from a hosted feature layer

- Pop-ups will be automatically enabled

• Build only the scales that you need• Choose to create tiles automatically

- Enables caching on demand- Ensures that updates to the source data get re-tiled

Demo: Hosted Tile Layers

Feature Layers• Feature layers (Hosted)

- Hosted in the ArcGIS Online Cloud- Supports editing, visualization, and analysis- Support feature layers views - Can be source data for hosted tile layers

• Feature layers - Hosted on an ArcGIS Enterprise GIS Server- Can support editing, visualization, and analysis

• Feature collections (Map Notes)- Can be used for small datasets where features can be stored as text

(< 1,000 features)- Easy to create for simple mapping

Feature Layers – Best Practices

• Data:- Minimum length for text fields- Integers instead of floats- Remove unnecessary fields- Resolution and tolerance- Remove unneeded data (filter)- For polylines and polygons, generalize data if appropriate- For polylines and polygons, Check Geometry- Match coordinate system to basemap

Feature Layers – Best Practices

• Layer- Publish public layers to ArcGIS Online - If possible, ensure that editing is disabled on the layer- Increase cache control wait time- If data is changing, rebuild the spatial index- For complex line and polygon data used at medium/small scales,

optimize layer drawing

Feature Layers – Best Practices

• Web Map- No web map filters (use a View instead)- Use visibility ranges- Consider aggregating or clustering- Set appropriate refresh interval for changing data

Response Caching

ArcGIS Online Scalability: Tile queries and response caching

• Queries to large datasets are sent as tiled requests whose responses can be cached

• Response caching levels:- Browser cache (client-side)- Content Delivery Network cache- Feature tile cache (server-side)

Query is made to feature layer

Does the browser cache have the latest data?

Does the CDN cache have the latest data?

Does the feature tile cache have the latest data?

Execute a new query to the database

Demo: Response Caching

Cache Control

• Details page Settings tab

Feature Layer Views

Feature Layer Views

• Different endpoints with different configurations of the same data • Configuration options:

- Filter data by attribute or extent- Styling- Edit settings- Share settings

Editing Data for Public Layers – Scenario #1

- Update Public Layers- Private Editable Layer- Public Display Layer- Any edits invalidate response

cache

Hosted Feature Layer

EditablePrivate

Display Public

Feature Layer Views

Editing Data for Public Layers – Scenario #2

- Crowdsourcing/Citizen Science- Set editing capabilities (add only)- Have a curation process- Hide identifying information in public

view

Snapping Turtle Hosted Feature Layer

EditablePublic

Editable Private

Display Public

Feature Layer Views

Demo: Hosted Feature Layer Views

Summary

• Think about your map’s audience and purpose

• Choose the right layer types

• Optimize feature layers for response caching and editing workflows

Resources

• Relevant Blogs:- https://www.esri.com/arcgis-blog/products/apps/sharing-collaboration/best-practices-for-

high-demand-viral-apps- https://www.esri.com/arcgis-blog/products/data-management/data-management/scalable-

hosted-feature-layers-in-arcgis-online-tile-queries-and-response-caching/- https://www.esri.com/arcgis-blog/products/arcgis-online/data-management/strategies-to-

effectively-display-large-amounts-of-data-in-web-apps- https://www.esri.com/arcgis-blog/products/arcgis-online/sharing-collaboration/best-

practices-for-using-tile-layers-as-operational-layers/- https://www.esri.com/arcgis-blog/products/arcgis-online/mapping/flooded-by-features-use-

this-recipe-for-building-complex-hosted-feature-services/

• Documentation on managing hosted feature layers:- https://doc.arcgis.com/en/arcgis-online/manage-data/manage-hosted-feature-layers.htm

Print Your Certificate of AttendancePrint Stations Located at L Street Bridge

Tuesday Wednesday12:30 pm – 6:30 pm GIS Solutions Expo Hall D

5:15 pm – 6:30 pm GIS Solutions Expo SocialHall D

10:45 am – 5:15 pm GIS Solutions Expo Hall D

6:30 pm – 9:00 pm Networking ReceptionNational Building Museum

Please Take Our Survey on the AppDownload the Esri Events app and find your event

Select the session you attended

Scroll down to find the feedback section

Complete answersand select “Submit”

Recommended