Inspiration

Before COVID-19, teams would gather in conference rooms, project a map, and then discuss and consider solutions. Sharing your screen to view a map enables visualization, but real-time collaboration is limited and the experience is not great.

What it does

GeoSwarm enables remote distributed teams from anywhere in the world to collaborate with other individuals, communicate ideas, and understand considerations to solve problems with a low barrier of required technical knowledge.

How we built it

GeoSwarm was built using private hosted feature layers for the tracking of users location and editing functionality as well as basemaps. The application was built on the ArcGIS API for JavaScript 4.22 and the Calcite Design System.

Challenges we ran into

It was difficult to design the data architecture to ensure we were providing the expected end user experience. Having to figure out what we needed to store to enable the Swarm and Watch functionality required some iteration. We also encountered some fun UI issues :)

Accomplishments that we're proud of

As a team we excited to have learned more about different JavaScript API capabilities we did not fully understand before. Our collaboration as a team and that we have delivered a functional POC is an amazing accomplishment for us.

What we learned

We had a good understanding of editing concepts or have used the python API previously but being able to implement editing in the JavaScript API without the edit widget was great to accomplishment. We explored CIM symbology, which is very powerful, but CIM would not work for our data architecture to show the user locations.

What's next for GeoSwarm

Next up for GeoSwarm will be adding a full authentication system, a countdown to join the swarm, and an “opt-out” option for a user to choose not to join the swarm.

Built With

  • arcgis-api-for-javascript
  • arcgis-platform
  • calcite-design-system
Share this project:

Updates