The identity job you're trying to do at the moment — and the most efficient way to tackle it — is what matters to Auth0.
Making sure our product reflects the simplicity and power you need, when you need it, is why we've embraced a "modalities" model when we work on our developer experience (DX). Because our platform is integrated tightly with our customers' applications, we want to provide developers with a slider on DX that fits the mode of the moment when working with Auth0.
In the Auth0 Product Team, our mission is to make identity simple regardless of the modality you choose to use. The questions that keep us up at night are: Is there a comparable experience across all the modalities? Can you perform a core action of using Auth0 via any of these approaches? Can you really choose your own adventure?
Products like Auth0 that rely on integration of services with its APIs must meet high standards of utility and simplicity to deliver great DX. The best products in this category "just work" or feel like "magic" to developers who use them. In pursuit of creating those experiences, at Auth0 we look at DX through a particular lens: modalities. (Credit to Ike DeLorenzo of Twilio for introducing me to this idea in 2018.)
Modalities allow us to go beyond traditional UX personas, blending in a bit of jobs theory to get a more nuanced view of how our products need to perform in different situations. A modality effectively summarizes the way in which a user, in this case a developer, is looking to interact with the product right now. A developer likely doesn't stay in one modality forever, but may switch from one to another depending on what they're trying to achieve — and that's where that slider on DX comes into play.
The following subsections highlight how we talk about modalities at Auth0.
A developer in no-code modality is looking for a click-button, out-of-the box experience. For a technical product like Auth0, often we think about developers who might be evaluating the product to understand what it can do without investing a ton of time. Our site flows.auth0.com is an example of a no-code experience that connects users to the value of Auth0 within seconds. Going one step further, our Manage Dashboard allows developers to quickly change product configuration, like implementing multi-factor authentication (MFA), with the flip of a button when they are working in this modality.
In this modality, a developer is ready to commit some time, but is looking for reusable patterns to reduce effort wherever possible. Templates, sample apps, and code editors in the Manage Dashboard help low-code developers make quick progress without setting up a full development environment, writing a starter app for prototyping from scratch, and so on. Auth0's Rules and Hooks features, quick customization of the login experience for end users via Universal Login, as well as SDKs with sample code for a broad range of technology platforms, all support developers looking for powerful low-code experiences.
Once the value of Auth0 is fully realized, developers may switch into the pro-code modality. The same APIs that power the Manage Dashboard can be called directly via custom code in the developer's app. By integrating Auth0 with SCM and even their CI/CD pipelines, developers can fully automate configuration of the system via code. For a great pro-code experience, we embrace API-first development principles ensuring that all of Auth0's capabilities can be exposed and managed this way.
Cruising through Modalities
What's powerful about modalities is the recognition that on any given day, a developer may have reason to interact with our product in a different way. We want to provide the same intuitive, predictable, and "magic" experience to developers regardless of where they are on this spectrum. At Auth0 we have an entire product development domain dedicated to DX, and our objective is to surface and eliminate friction across all of these modalities. We want developers to succeed with Auth0 whether they are poking around during their lunch hour or fully automating their use of the product with configuration as code, and our mission is to make the transition between those modalities as smooth as it can be.
If you're interested in sharing your ideas about DX in Auth0, our product development teams would love to talk with you. Visit auth0.com/feedback or reach out to us via our community site. Thanks for using Auth0 and for helping us make a great product based on your needs and experiences.
"What's powerful about modalities is the recognition that on any given day, a developer may have reason to interact with Auth0 in a different way."
Auth0 provides a platform to authenticate, authorize, and secure access for applications, devices, and users. Security and application teams rely on Auth0's simplicity, extensibility, and expertise to make identity work for everyone. Safeguarding billions of login transactions each month, Auth0 secures identities so innovators can innovate, and empowers global enterprises to deliver trusted, superior digital experiences to their customers around the world.