DX Lessons Learned from Disney’s California Adventure Theme Park
I was standing in line last weekend at the Cars ride at Disney’s California Adventure Theme Park appreciating all the tiny little details they put into not only the ride, but even the line itself. Working now in developer relations I’m constantly thinking about improving the developer experience for our customers. And so there I was in line with my family, hearing again how the ride was delayed for a second time and I started thinking about developer experience. And how ridiculously clever they were to get me and hundreds of other people to stand in line and really not mind at all. It was all worth it. So what possible lessons could we apply to the tech industry from the world of expensive theme parks? Here are a few…
Make it Accessible to As Many People As Possible
Disneyland does a great job of making their rides accessible to as many people as possible. We saw blind folks, people in wheel chairs, children of all ages, the elderly, people of all sizes, and groups of people speaking different languages all enjoying themselves. And despite having a wide variety of rides with different themes and height requirements, pretty much anyone meeting those basic safety standards can have a good time. You don’t have to be an expert at anything, you can just go, stand in line and enjoy the rides.
What’s the DX lesson here?
If you make it accessible to beginners, everyone’s gonna have a good time.
Don’t Scare Me Away Before I Start
The next thing I noticed is for all the longer rides, there are these barriers and extremely intricate meandering paths that make it so before you step into the line you can’t really see how annoyingly long it’s going to be. And nearly every time we got to a new ride we’d see the sign that says maybe, “35 minutes”, and look at the line which seemed like it had about 4 people in it and say….sure! And what do you know, once you get into the line for a few minute you realize that what looks like an entrance is actually an entrance to the rest of the line, but they got me in the door, and they didn’t scare me off before I started the journey. Is this a dark pattern? I think it could be if the time wasn’t also clearly posted, but it ends up being helpful. And at every twist and turn there’s this little hope, maybe this next turn will get me to my destination.
What’s the DX lesson here?
Make it easy to get started. Make sure you have useful examples that are easy to use and simple to understand. The complicated stuff may be more complicated, but you don’t need to expose all of that to users right when they first stumble on your project or product.
The Journey Needs to be Enjoyable
Disney is the best at making the line itself part of the ride. They start off by immersing you in the theme. When you’re in the Cars line you’re in the dessert. When it’s the line for the Grizzly River Run they put the entire ranger station right there next to you so you can appreciate all of its details. And then especially in some of the newer rides like Rise of the Resistance or Guardians of the Galaxy they break up the ride into multiple parts where the line becomes the ride. Nearly all of their rides also incorporate shade into their lines to prevent people overheating and getting too burnt by the sun, which we were very grateful for this past weekend with highs in the 90°s.
What’s the DX lesson here?
Giving your users frequent small successes as they’re going about the journey to learn your API or framework can be the difference between them staying on that path or deciding to go with another solution. Also embedding examples users can see and play with all throughout your documentation is going to help them stay motivated. Design the learning journey to be interactive and educational to keep users engaged.
Anticipate Creative Use / Abuse
In the line for the Radiator Springs ride especially they have this incredible structure called Oil Bottle House with glass bottles embedded in the walls. It’s pretty cool looking and keeps you shady as you wind your way through the line, but immediately small kids start climbing up the bottles like it’s a rock climbing wall. Is this a problem? Not at all. The engineers at Disney almost certainly predicted and prepared for it. All throughout the park the structures are built and designed to withstand the creativity of little children and wayward teens. And so often these creations conceal little surprises that bring joy when you notice an easter egg or clever detail printed in a place few would even notice. I think about when I first learned to use git
I would just type random things all the time like git lost
, git bent
, git down
and see what would happen. If Disney Imagineers made a version control system it would shove animations and sparkles ✨ in my terminal every time I typed the wrong thing.
What’s the DX lesson here?
Yes, Easter eggs can be fun. Yes, being really permissive with user inputs (like date formats for example) can provide a much better user experience. But how do you do this at scale? How do you plan for those unexpected things to occur and turn them into exceptional experiences? I don’t have an answer, but I want to learn how to make that part of our culture at PayPal.
Provide Smooth Transitions and Clear Directions
This was a subtle thing I noticed all throughout the park. Anytime you get into a line there’s absolutely no question about which way you need to go. The path is laid out before you and you can easily follow it. When you’re moving into a new room or area there are clear directions posted and the actual scenery transitions so smoothly. When you’re walking from Cars Land into Avengers Land for example the dessert rock seamlessly transitions into the steel gray. And being immersed in that environment you always know where you are. All the scenery or room details make that clear. Even getting out of the Incredicoaster or most other rides, for instance, it won’t let you unbuckle your seatbelt until you’ve arrived at a complete stop. Smooth. Transitions.
What’s the DX lesson here?
Developers need to understand where they are in their learning journey. Provide clear road signs. And make it obvious what way they should go next. This makes the most sense in tutorials obviously, but also really any kind of documentation and marketing material. Lead them to where they want to go and make sure they don’t get lost.
Celebrate Our Victories with Our Friends
I love it when you get off the ride and you wait for a minute and see that picture of yourself screaming your face off. Nobody buys the picture, but you can take a picture of the picture 🖼️ and post it online for all of your friends. There’s also the cheering and clapping that happens at the end of a good ride, not to mention the gift shop conveniently placed on the way out. All of these things help put you into a mood of being a victor or champion. You have completed your journey and now you can enjoy your rewards. I love it. It’s fun. There’s far too little celebrating of that kind in engineering.
What’s the DX lesson here?
Help your developers celebrate their wins. Can you track when an engineer makes their first API request and make it really stand out somehow? Can you give them some swag when they deploy their first app? Is there some kind of non-spammy email you can send them to thank them for using your product?. Even a social media link they can share out saying “I BUILT MY FIRST APP WITH <YOUR TOOL>”. Find that moment where the engineer is proudest and help them celebrate it as widely as possible.
I hope you enjoyed these few thoughts about DX while waiting in line at California Adventure. I may or may not still be in line while typing this, but at least you know I’m having a good time.