Ben Patterson

Esri Arcade Editor

Redesigning the IDE for Arcade, Esri’s propreitary scripting language, commonly used to customize data visualizations or shape data sets.

Problem

The Arcade Editor appears within several apps across the ArcGIS product line, generally within a fairly limited space. Unfortunately, it was not designed to account for this and typically doesn't fit very well.

The old arcade editor.

Notes

Approach

I approached this project by collaborating closely with a developer who was farmiliar with both using Arcade and IDEs. Together, we went through several iterations before settling on a solution.

Early wireframes exploring how content might be arranged at different sizes (above). Later iterations explored highly customizable drag-and-drop UIs (below).

The final design ended up having a similar overall structure to the original editor, but with many improved interactions. One of the simpler changes we introduced was allowing users to close the right hand panel, giving them more room to code. This was easily the most requested enhancement.

Navigating the layer browser can get complicated, so I wanted to make sure the UI was especially polished here.

In addition to pure interaction improvements, we added more complex, developer-centric features like a debugger. This lets developers add breakpoints to their scripts, making it much easier (and faster) to write their code.

The Arcade Editor always sits within a parent application. Because of this, it needed to have a slight deisgn, capable of being slotted into a wide range of contexts. You can see how it fits in a few ArcGIS applications below.

Next Steps

The Arcade Editor is currently in flight, with the first phase scheduled to land in mid 2022. We will be able to judge it’s success by adoption rate within the ArcGIS ecosystem, along with user feedback. Ideally the Arcade Editor is extended beyond the Arcade language and can support any lanaugage executable in the browser.

——More work

ArcGIS Dashboards

Authoring Cross-Device Dashboards

Arcade Editor

Data Management

Audience Insight Report

Orchestration