DevSummit 2026: The Second Time Around is Different

1805
12
03-18-2026 01:47 PM
JeffreyThompson2
MVP Frequent Contributor
11 12 1,805

Ethical rules: Not everyone talking to me over the course of the week knew I am a journalist. (Am I a journalist? I might be a journalist now.) And people, including ESRI staff, tend to speak more freely at DevSummit than they would in official communication. I certainly do not want to misattribute quotes to anyone or damage anyone's career because they chose to chat with me, so all ESRI staff will simply be referred to as ES. Any quotes, anything at all really, in this post should be considered poorly remembered paraphrasing, rather than a direct quotation. Everyone explicitly mentioned in this post as agreed to appear in it or has an estimated net worth of greater than $10 billion.

I didn't really want to do this again. This post I mean, not DevSummit. DevSummit is great. But so much has happened this week that you guys need to know about, so here we go. Here's all the stuff that happened in Palm Springs this week. I actually started writing in the Palm Springs airport, but there is no way I'm getting this all done before I'm back in Arlington.

There are two big differences in how I experienced DevSummit this time around. One was just having a general idea what to expect. The other was people knew what I looked like. While I managed to slip around as an anonymous attendee last year, I was decidedly not anonymous this year. I was recognized by strangers on multiple occasions which is a weird experience, not necessarily bad, just weird. One person, ES btw, even stopped me for a selfie.

My main topics for the week were Experience Builder, the JavaScript API, Accessibility and Design, and AI, so let's group these notes that way. And then we'll get to a few notes about other ESRI products and just general conference and travel stuff.

Experience Builder

  • Me: We need better developer documentation. ES: We'd love to do it, but between hitting full WebAppBuilder parity, switching to Components and adding AI we don't have the capacity. Me: What if you let an AI write it? ES: Maybe we could do that and soon there will be a chatbot on the doc site to help you find stuff.
  • I convinced them that a Button in a Widget Controller should just work like a Button.
  • I also discussed making Bookmarks that don't change extent. They had previously rejected this idea because it undermines the core usage of the Bookmarks Widget, but they are re-opening it after I talked about how it could make a great UI for switching thematic layer groups.
  • Asked for pre-set date range options for the new Date Filter Widget.
  • Me: Could we set up a system where users like me can submit Widgets to be included in the package as unofficial Widgets? ES: Never going to happen.
    • @SunshineLuke90's idea of an ESRI managed GitHub repo for user Widgets might happen though. 
  • I also had a lengthy chat with @SunshineLuke90  about his CLI tool and sharing Custom Widgets through npm.
    • I think using npm as a sharing system has a lot of merit and I'm interested in trying it out.
    • Note that you are going to run into a lot of hassles if you try to download Widgets from npm without using the CLI tool.
  • Developer Edition 1.20 scheduled for March 25th release.
  • Me: My pre-1.19 Custom Theme still works, but isn't selectable in the Builder anymore. ES: We didn't test for that. I think we can fix that.
  • Release the Snyder Cut Theme Tester Template.
  • Now that we can move the Map Tools around. Keep the most important ones in the top-left.
    • Leave the bottom-left empty, if you are using a Scale Bar. It can't be moved.
  • ES: Between AI and Components, I don't know how much longer we will need a product like Experience Builder.
    • Spicy take. I see how that could happen one day, but AI is a long way from being able to match the precise customization of Experience Builder and Components still have a barrier of entry too high for many users.
  • It's possible to use URL Parameters to share layer visibility.
  • ES: Should we stop doing breaking changes every release? Me: Yeah, that would be nice.
  • There is a specific method for sharing a Widget Git repo. I don't feel confident enough in my own notes for writing the method here, but it exists and it was described in the Advanced Customization session.
  • My series where I go over the updates each ArcGIS Online release is apparently very popular with the product team.
    • Seriously, I'm just re-writing your words.
  • In a previous blog post, I described a Public Notification App I worked on to get some of our users to give up ArcGIS Pro. The biggest hurdle that I had no solution for was not being able to print a zoomed out overview map to pair with the standard map. I am leaving the conference with the conceptual outline of a Custom Print Widget that can do that.
    • If any of my managers or taxpayers are reading this, this alone should easily pay for the price of the trip.

JavaScript API

  • The 6.0 release of the JavaScript SDK (Experience Builder 1.23) scheduled for release Q1 2027 is shaping up to be the Custom Widget apocalypse.
    • If you are using only using Experience Builder and not using Custom Widgets, do not worry about this sub-section. Don't read the next sentence, it's not for you and will only cause unnecessary fear.
    • You should know by now that Widgets are going to be removed.
      • All of them. Gone.
      • Widgets are no longer getting new features.
    • What I had not seen previously is that the Widget View Models will all be moving messing up all your import statements.
      • If, for example, you have created a Custom Draw Widget based on the SketchViewModel, it is doomed to fail early next year.
        • And they haven't even decided where it's moving to yet.
    • If that's not enough messing with imports for you, using require() and the __esri type namespace are also going away.
    • All these breaking changes and more coming soon to a JavaScript API near you.
      • But breaking changes only once a year now.
  • Use the @arcgis-create npm package to quickly scaffold a new application.
  • 95% of the day one Plenary was about 3D and AI, but the big applause line was true curves.
  • Coming Soon to an API near you:
    • Support for sharing selected features over multiple Components. 
    • There will be an archive documentation site for viewing documentation of older versions of the API. Ya know, like there used to be.
    • And an AI bot to help you read the documentation.
    • Additional fonts for labelling and support for a number of East Asian and indigenous Canadian languages.
    • Symbol-level drawing for nice looking freeways and stuff.
    • Animate along a line.
    • Improved valve isolation tracing for Utility Network.
    • Caching can currently cause relative time queries to return old data. In the future, you'll get the correct data.
    • Better performance with complex geometry.
    • The One Measurement Component To Rule Them All.
  • Stuff I pushed for:
    • Brought back up the idea of making hitTest() a variable.
    • Add a before-edits event as an option to add validation or to inject a value hidden from the user.
    • Add an optional on/off switch to the Editor Component.
      • I think this would really be handy in Experience Builder land.

Accessibility and Design

  • I've grouped accessibility and design because there is a whole lot of overlap between meeting accessibility standards and stuff that looks good.
  • Start building with accessibility in mind. It is much harder to go back and add it in later.
  • Build in short-cuts to the most important functions.
  • Don't hardcode sizes so things can scale.
    • Not really a choice in Experience Builder, but good general advice.
  • Make sure your design doesn't become unusable even at 200% scaling.
  • Basemap labels are not current capable of scaling.
  • Round off your numbers.
    • Don't annoy people with screen readers.
    • It doesn't look good.
    • You didn't really measure that to 10 billionths of an inch, did you?
  • Enhanced Contrast and Human Geography are the best basemap options for accessibility.
  • If you replace text with an image, like in a logo, you really, really need to have alt text.
  • All ESRI app builders have a text/background contrast checker in their Theme settings.
    • Make sure to listen to them.
    • They only check at the Theme level, if you make a change at a lower level, you are on your own.
  • Use a strict H1 to H6 ordering of your headings.
    • You can modify the size and other appearance attributes without breaking any rules.
    • Don't get lazy and use H4 for all your second level headings like I do for all my blog posts.
      • Please don't sue me.
  • Group elements in Dashboards and Experience Builder to improve tab ordering.
  • The Send To Back/Front options in Experience Builder affects tab ordering.
  • Dashboards hides the option to add alt text.
    • But it is possible to add with the HTML editor.
  • Use Dark Themes for stuff that will be used over a long time or in low light conditions.
    • Otherwise, prefer the Light.
    • Make sure your Theme and basemap are either both Dark or both Light.
  • Try to limit your use of colors to just the interactive stuff and anything really deserving of special attention.
  • For optimum readability:
    • Set your text size so that each line in 40-80 characters long.
    • Keep your text left aligned.
  • In future updates, it will be possible to identify items on a map with only keyboard controls and full screen reader support will follow afterwards.

AI - AI - Oh.....

  • The AI tools got a pretty rocky introduction in the open Plenary session.
    • They all ran very slowly and several failed entirely.
      • Multiple ESRI staff members blamed the performance on an Azure outage.
      • Performance for the rest of the week was significantly better.
  • Me: If an AI agent is going to do something that cost ArcGIS Online Credits or cannot be undone, it must stop, clearly tell me everything its going to do and ask me before it does anything else. ES: Yes, it will do that.
  • The AI Data Explorer Instant App looks pretty neat.
    • ES said it was available as a Component on their GitHub, but I don't see it.
  • The image detection stuff looks very useful, especially in disaster recovery.
  • Good metadata is key to getting good AI results.
    • You can make a Webhook that sends an angry email if someone publishes without proper metadata.
  • If you want to build the AI Experience Builder Widget in showcased in the Plenary, here are the prerequisites:
    • Wait for the release of Developer Edition 1.20.
    • You must be connected to an ArcGIS Online, not Enterprise, Portal.
    • Your ArcGIS Online organization must have Beta and AI features enabled.
  • The AI Components in the JavaScript SDK won't work with ArcGIS Enterprise until at least the 5.2 version of the SDK.
    • They also won't cost anything until then, too.
      • They will definitely cost something, someday.
        • Nobody's talking about when or how much.
  • The Python API has a built-in function capable of turning your organization's data into a Knowledge Graph.
    • And then you can navigate around it using AI.
  • Stuff you really shouldn't have to tell AI, but you always do:
    • Think about it.
    • Don't lie to me.
    • If I die, you'll die, too.
      • Very concerning. Both that it is necessary and that it works.

Other ESRI Products

ArcGIS Pro
  • The Evaluate Bin Size for Point Aggradation Tool for dealing with the modifiable areal unit problem. 
  • I didn't go to any Pro focused sessions. That's all I got.

ArcGIS Online

  • Me: I want a button that can send an email to everyone in a Group. ES: Coming soon.
  • I know I'm supposed to be all Experience Builder all the time, but the most exciting thing in the last ArcGIS Online update was the re-designed Credit Dashboard.
  • Other stuff they are working on:
    • Options to limit storage Credit usage rates by user.
    • Being able to see item dependencies and get warnings about the cascading effects before you delete stuff or change sharing.
    • Contingent values - The option to restrict the value in one field based on the value in a different field.
  • ArcGIS Enterprise doesn't really do Credits, but the rest of this stuff will probably work it's way to Enterprise as well.
ArcGIS Enterprise

Instant Apps

Travel, Conference and Other Stuff That Doesn't Fit Anywhere Else - AKA: The Fun Bits

  • Two possible flight itineraries:
    • American Airlines: Perfectly timed non-stop flights both ways for $1,000.
    • United Airlines: Departing flight at 5:30AM, returning flight lands at midnight, connections in Denver both ways for $400.
      • It's cool. I would have picked United, too.
      • On the flight out, I wound up taking the exact same plane on both legs of the trip.
  • My average sleep time for the week was 5 hours.
    • An average raised significantly by the Sunday before I left.
      • A night one hour shorter than normal.
      • And with a baby screaming loudly for several hours.
    • And yet, I never felt tired.
      • Must be my passion for GIS
      • Or the dangerous amounts of caffeine and sugar I was consuming.
        • Caffeine deathsprial? 
        • Don't tell my wife.
        • My complementary iced coffee cup lasted one iced coffee.
          • It could not survive a six inch fall out of my backpack.
  • Food this year took a bit of a step back compared to last year, but was still more than adequate.
    • This year's culinary highlight was probably the beef tri-tip on Tuesday.
  • The pre-Plenary playlist had not changed at all.
    • But, The Beatles got louder.
      • Here Comes The Sun is supposed to be a chill time.
        • That was not chill.
    • Next year's DevSummit will likely coincide with the 40th anniversary of the release of U2's Joshua Tree album.
      • Joshua Tree at Joshua Tree - Just a thought for whoever is in charge of the playlist.
  • Surprise MVP perk - Go to the Merch Store and pick out a free t-shirt.
  • I scheduled a one-on-one expert session to deal with an issue with intermittent failures of an ArcPy script that runs every two hours.
    • According to the official documentation of this error, it is so rare that they cannot isolate a cause.
      • According to our experience, it happens about once a day.
    • The script went online just before DevSummit last year.
      • The ArcPy guys at the conference last year couldn't come up with a solution.
      • ESRI Support couldn't come up with a solution.
    • The guy I got paired with for the session: What if we use a while loop and try/except, so it tries again if it fails?
      • That's the kind of brilliantly dumb solutions I love.
      • I refactored the code during the 30 minute session.
        • Hasn't failed since. 
  • My pre-conference fun this year was hiking Tahquitz Canyon.
    • I'd link to their photo gallery here, but they built it and their trail map in Configurable Apps.
      • Configurable Apps were removed in the last ArcGIS Online update.
        • ESRI did not communicate this change well.
        • Go check your old applications. Some of them are broken now.
  • Bathroom related news:
    • The length of the lines made it clear that developer is still a male dominated profession.
      • I took it as an exercise in empathy. This is daily life as a woman.
    • Whoever picked the bathroom art at the Palm Springs Renaissance Hotel made the craziest possible decision.
      • I'm going to leave it a mystery and encourage you come to Palm Springs to find out for yourself.
  • The Important Questions:
    • Why are the Norwegians measuring stuff in feet?
    • What is a fruit and what is a vegetable?
      • We were able to solve this intractable debate by first acknowledging that fruit has two separate definitions, a scientific one and a culinary one, while vegetable is strictly a culinary term with no scientific meaning.
        • All fruits are vegetables, but not all vegetables are fruits.
    • What is a sport?
      • We were not able to reach a satisfactory conclusion to this debate.
      • The most restrictive definition required a ball and a way to score.
        • Definition revised to ball-like object when I pointed out that he had excluded hockey.
      • The most expansive definition was wide enough to include chess and motorsports.
      • I will stick with my definition (which I had trouble fully articulating at the breakfast table):
        • A sport must be a competition.
        • It must center around the concept of physical movement.
        • The primary energy sources should be human muscle and/or natural forces.
          • There is a narrow exception for motors and other electro/mechanical energy sources where the energy source is only being used to create the conditions in which the sport is played.
            • This allows for sports like indoor skydiving and waterskiing, while excluding competitions like air racing and NASCAR.
        • To excel at a sport, an athlete must demonstrate above average strength, dexterity and/or speed.
Celebrity Sightings

At the opening night party, I shook hands with Jack "The Jack in a Deck of ESRI Playing Cards" Dangermond.

IMG_1378.jpegThat's me on the left, you-know-who in the center and @AKRRMapGuy on the right.

To fully explain this picture, I need to go back to the picture last year and tell a slightly embarrassing story about myself. The first thing I did at the opening party last year was to inadequately chew my kabab and I never fully recovered that night. There was still a hunk of beef lodged in my throat when the picture was taken and I was looking a bit sick, because I was a bit sick. I had about a minute to talk with Jack last year, but between struggling to breathe and feeling a bit starstruck, if I made any impression at all last year it wasn't a great one.

So, I'm walking out of the opening night party and I pass right by Jack. It's an opportunity to get a better picture and maybe make a better impression on Jack. He's talking with a couple guys he clearly knows well. I'm pretty sure I've seen one of them on stage at the UC Plenary before. So, I wait my turn and join a crowd of other people also waiting for a picture with Jack. ...And I keep waiting. After about 10 minutes of waiting, and I really can't recommend this for everyone, I use the confidence boosting powers of MVP status, couple of beers and white man to interrupt Jack's conversation, introduce myself as a Community MVP and politely ask him to get back to taking pictures with the other attendees. 

Instead of having his getting his very muscular security guy to beat me senseless, he apologized and took that picture. And then I just walked away. Accidental power move? Is there a point to this story? I don't know. Maybe it's never too late to make a new first impression? Maybe it's just that Jack Dangermond is the world's nicest billionaire?

...Now, @JohnMNelson on the other hand, let's just say that guy was asking for it.PXL_20260311_012645896.jpg

I beat him senseless until he agreed to write something for this blog. And now that I've said it publicly, he is socially obligated to follow through. I'm sure he will as soon as he gets out of the hospital.

Sure, getting sempai Nelson to notice me was cool and all, but this is the guy I was most excited to meet. Anyone recognize this face?

PXL_20260310_212958025.jpg

It's @RobertScheitlin__GISP! He's not, as one attendee was surprised to learn, dead! But, I do think we need to have a little chat about why Papa hasn't come back home from the store. He gave his all to the broader GIS community for over ten years before he decided he needed to step back, stop using ESRI Community and re-focus on his actual job.

Now, Robert didn't say this bit. In fact he specifically said he would not put it this way, but I'll tell you how I feel. Being a celebrity gets exhausting. I put a lot of time and effort into this blog, the Questions Board and building Custom Widgets. I'm happy to do it. In no small part, because I know these things will stay up for years and can potentially help hundreds or thousands of people. But when I get a question in my Private Messages, my eagerness to help drops dramatically. Even worse, are the questions I get off platform. I've seen Experience Builder questions from strangers on every form of communication, including my personal phone number. That is so far over the line it makes me question my physical (either spelling) and digital safety. Please keep your questions on the Questions Board.

It's nobody's fault really. (Except that guy that thought they should text me.) It's a Tragedy of the Commons thing. My time and helpfulness is a finite resource. If I disappear one day, it will be because they have run out. So please be kind and use your Community MVPs and other GIS celebrities responsibly.

Well that was kind of a bummer, wanna see a clip of @Brian_McLeer and the Spatial Strikers (Love their third album.) dodgeballing to the semi-finals?

(view in My Videos)

And because the universe has destined us to be together forever, United Airlines randomly assigned us adjacent seats on the plane to Denver.brian on a plane.png

That's my week in Palm Springs! I'm currently aiming for San Diego next year. I probably can't do both.

12 Comments
Brian_McLeer
MVP Regular Contributor

I am glad there were no wrenches thrown during the dodgeball game. And that I didn't get assigned the middle seat. 

BlakeTerhune
MVP Alum

This was as entertaining as it was interesting! Thanks for the fun write up. I was thinking you're becoming the John Nelson of the Esri Community, then I scrolled down and saw him being punched out! haha Maybe you should start a YouTube vlog and really take over the world.

obateman_oohmediaau
New Explorer

Hearing about the Custom Widget Apocalypse makes me nervous. Apart from ViewModels being the most impacted is there any word on major changes to the jimu framework yet?

SunshineLuke90
Occasional Contributor

This was a fantastic read 🤣. I know I appreciate all of your effort writing update notes on ArcGIS Online updates, supporting the Experience Builder community, and generally being willing to answer questions and help out. It was great to meet you at the Dev Summit this year, and I really appreciated you taking the time to chat and hear my ideas

JeffreyThompson2
MVP Frequent Contributor

@obateman_oohmediaau Keep in mind that Experience Builder is built on top of the JavaScript API, so 1.23 is going to inherit all the breaking changes from the 6.0 version of the API.

There is one very important Experience Builder Widget that has not been converted to Components yet and that is the Map Widget. Hopefully, they can do that without breaking even more stuff.

ODWC_GIS
Frequent Contributor

This one surprised me, considering the solution feels like an easy fix:

  • My pre-conference fun this year was hiking Tahquitz Canyon.
    • I'd link to their photo gallery here, but they built it and their trail map in Configurable Apps.
      • Configurable Apps were removed in the last ArcGIS Online update.
        • ESRI did not communicate this change well.
        • Go check your old applications. Some of them are broken now.

Honestly, it felt a bit like those old Phylogeny Problems, where we'd try to figure out the most likely branching patterns by hand.

On the website, all of their links to apps follow the pattern you describe.  Retired Item Type, inaccessible, and currently the only thing website visitors will find.

From the ArcGIS Online side, an employee appears to have been creating Experience Builder replacements for most (if not all) of the retired apps: @nhowarth_ACBCI.  Nicola Howarth made quite a few maps.

I'm willing to bet that the folks managing Tahquitz Canyon knew about the issue, built the replacement apps, and ...someone didn't update the website.

There're some really nice maps on the Agua Caliente Band of Cahuilla Indians' AGOL side of things!  I see some layers I'm going to adopt myself for my own users' regional awareness.

Link to Agua Caliente Public GIS Portal: https://gisweb.acbci.com/portal/apps/sites/#/acbci-public-gis-portal/

Also, a link to their ArcGIS Online Rest Services Endpoint: https://services1.arcgis.com/vZDVlmMZaqT61d8y/ArcGIS/rest/services
...because it's very cool.

 

WilliamTarpai
Frequent Contributor

Thank you @JeffreyThompson2  and ALL contributors to this post.  Just off the phone with a Safina Empowerment colleagues calling me from Bomet County, Kenya.  He was pleased to be informing me about contacts he and his team from Safina Empowerment had with Bomet County high schools administrators to deliver computer equipment for local students to begin to be introduced to mapping and spatial analysis skill sets.   We are hoping to speed up the pace for achieving successful Sustainable Development Goals (SDGs) outcomes in this decade.   Something New for Esri Partners at the 2025 Esri Partner Conference (EPC)    Anyone interested in supporting skill building of students in East Africa?

ZachBodenner
MVP Regular Contributor

Thanks as always for your excellent work! Your exhaustion is our gain, which I say not flippantly but in earnest thanks. My question for you is also related to the custom widget apocalypse, but also with any experience you've had using AI to do any widget coding: do you think that a coding assistant AI would be able to rewrite a file in a custom widget given something to compare against? For example, if you feed it a setting.tsx or something from a 1.18 widget and the same file from something out-of-the-1.23-box, could it correctly fix the communication between your files, or are most of these custom widgets looking at a more ground-up rebuild come 2027?

youknowww
Occasional Contributor

@ZachBodenner I'm pretty confident it could. After reading this post I asked Claude Code to read this blog post for context and evaluate how to adapt my existing widget code to comply to the following statement:

If that's not enough messing with imports for you, using require() and the __esri type namespace are also going away 

I didn't have Claude make the changes for me because I'm still learning ExB dev and like to use Claude Code in an educator role. It listed every file and section I needed to change and the change to make so I'm confident it could have done this autonomously.

At the time I was on ExB 1.19 so I think it would go well for 1.18. The only problem was __esri.Handle didn't resolve to a Handle type in 1.19 but needs to be replaced, in my case, with the ResourceHandle type. Claude couldn't catch that while I was still on 1.19 but I bet it would have had I already updated to ExB 1.20. So if you try this, maybe port your 1.18 code to 1.20 first then let Claude Code do its thing

ZachBodenner
MVP Regular Contributor

@youknowww that's kind of what I would expect (and actually is how I fixed some broken things when I had to update my widget from 1.16 to 1.18). I imagine it'll just be a 'we'll see how it goes and don't update until we've fixed it' thing. 

JeffreyThompson2
MVP Frequent Contributor

@ZachBodenner @youknowww Having converted several Experience Builder Widgets from JavaScript Widgets to Components, it's usually closer to a ground-up rebuild than a simple replacement.

I've had some recent success working with Copilot. It managed to do some stuff I couldn't figure out from reading the documentation (no human can read the current documentation), but I also had to de-bug it's work and tell it specifically where it was going wrong in other places (which Copilot confirmed by citing some of my Community posts). There may be a future blog post about this.

BlakeTerhune
MVP Alum

Copilot confirmed by citing some of my Community posts

This is hilarious. I've occasionally stumbled across my own Esri Community posts when manually searching for answers and it always makes me chuckle.

Contributors
About the Author
A frequently confused rock-hound that writes ugly, but usually functional code.