Both user experience and developer experience are important considerations when building software that’s going to be used by developers. But what are the differences? And if you have to choose between UX and DX, what should you prioritize?
To properly understand UX vs DX, let’s start by defining both.
What is user experience (UX)?
Through good UX, you are trying to reduce the friction between the task someone wants to accomplish and the tool that they are using to complete that task.
UX refers to how people interact with a tool, website, app, or some other system. Good user experience means that the system is easily accessed and used, it performs well, and it helps the user achieve their goals.
UX is evaluated through A/B testing, user surveys, user testing, heat mapping, and analytics software. This usage data and user feedback helps UX professionals understand what features and changes will improve the experience for users so they can make recommendations to the design and development team.
What is developer experience (DX)?
DX is basically UX for developers… right? Well, not quite.
Developer experience or DX refers to how developers experience your software in the context of their development efforts. This is sometimes confused with Digital Experience (also DX), which is another thing entirely. Good DX means developers can easily use your technology within their projects - it’s easy to evaluate, install, test, integrate, and maintain.
You can find out how your DX is going by talking to the developers who use your product, running surveys, user testing, requesting feedback, and referring to personas. Typically, DX can be improved through clearer communication, more detailed docs, better stability, improved speed, modern UI, and more support options.
For a closer look and more definitions, see our blog on developer experience.
Comparing UX / DX
The biggest difference between UX and DX is that user experience focuses on end-users, while developer experience is about the developers who make use of your software to implement a solution for their end-users.
But there are a lot of similarities, too. Both UX and DX are concerned about delivering a better product that’s easier and more enjoyable to use. Plus, similar methods can be used to investigate UX and DX, like surveys, user testing, feedback, and personas.
UX vs DX: What’s more important?
Most of the time, you’ll need to account for both UX and DX, but what happens when the user experience conflicts with the developer experience?
For example, sometimes you might have to decide between spending time to fix an annoying bug that affects users or spending time to bundle your software better so it’s easier for developers to upgrade or install. So, which should you choose?
Well, that depends.
AMP’s Design Principles state this priority order - “User Experience > Developer Experience > Ease of Implementation”.
What this means is it’s more important to prioritize the user experience if your tool is user-facing, even at the cost of developer experience or ease of implementation. And that makes sense - the number one priority for developers should be delivering value to the end-user.
But that doesn’t mean developer experience isn’t important.
Improving DX can pave the way to better UX
With an improved DX, developers will have a better understanding of how your software can be implemented and customized so that they can provide a better UX for their users. They’ll know about the different features and options available to them and how to make the most of them.
For example, our own TinyMCE is highly configurable - there are lots of ways to customize it for the best UX for your circumstance. But in order to do that, you need to know what’s possible, you need to know how to customize it, and it needs to be easy to customize.
What if you can only choose one?
You may need to make tradeoffs between UX and DX and decide what’s more important, or what to prioritize.
Maybe it’s worth spending more time on your software implementation if it will end up delivering a better mobile experience for users. Or perhaps it’s okay to delay an improvement to the user experience if it means the tool will be significantly faster and easier for developers to use in their own projects. After all, if your tool is faster and easier to work with, more developers will choose it, and more users will get access to it, which will enable you to invest back into further improving the UX and DX of your software.
It’s all about being practical and deciding what matters most to achieve your goals. Better still - let developers choose what’s important to them, with options to customize your tool to fit their needs and their users’ needs.
DX at Tiny
Here at Tiny, we recognize that DX and UX are intrinsically linked together. Tiny’s approach to developer experience is all about providing a great DX so that developers can provide a great UX. We know that if we help our developers achieve their goals, we can empower them to help users achieve their goals.
Some things we’ve implemented to improve the experience for developers using TinyMCE include:
- Faster setup on the cloud using an API key
- Quick start guide
- Detailed changelog
- Community forum for community users
- Support system for customers
- Detailed docs
- Open source core project
And, of course, our blog 😆 with regular tips and other helpful information!
We’ve got a range of TinyMCE features that help developers deliver the best experience for their users, like customizable toolbars and skins, as well as different editing modes. Plus, you can enhance the user experience with our premium plugins, like Accessibility Checker, Spell Checker Pro, and PowerPaste.
If you’d like to know more about using Tiny in your projects, please reach out to our team.