User Experience design is paramount for implementing an Internal Developer Platform, finds Fernando Villalba, senior tech evangelist at Humanitec.
In a comprehensive blog post detailing what great design and UX (user experience) means, Villalba expands on how to leverage these best to build an IDP (internal developer platform) that is user-friendly and hence more likely to be adopted widely. Villalba explains how Don Norman's ideals of great design - discoverability and understandability - lead to great design communicating the intended purpose of a tool to the user in the most intuitive way possible.
He goes on to explain that an IDP must be designed for the most junior people can use it safely and intuitively and that this design should focus on six key areas:
- Features - the actions that are possible with a tool. Having fewer, well-designed key features is better than having many incohesive features.
- Signifiers - visual or other cues to help users use the IDP, but they should only be used in those places without options for intuitive design.
- Constraints - guiding users to their goal by narrowing the scope of what's possible, thus making it easier to navigate the IDP and reducing the likelihood of using undesirable antipatterns.
- Mappings - making it clear how different features and properties relate to each other by organising peripheral features around core features.
- Feedback - making sure that clear and unequivocal feedback is given when an action is performed - promptly showing the success or failure and with actionable next steps highlighted.
- Conceptual models and language - ensuring that words, designs and colours of the IDP represent those that users will be familiar with - for example, making sure that green represents success and red represents failure.
Villalba provides eight principles of great design to help implement a great IDP.
- There are no bad users, just bad design - design to mitigate and avoid human error and exploit the computer to help us be creative.
- Teach Design Principles to all your platform engineers - user-facing elements of the IDP represent the backend, so having those backend engineers also understand design principles is essential.
- Spending more time on design will save your company time - invoking Tesler's law - it's more efficient to spend significant extra time simplifying and improving design than requiring hundreds of users or more to learn how to use an application with unintuitive or esoteric design.
- Understand the Personas that will use your IDP - find a balance between all the personas who will use the IDP and design for all use cases - potentially exposing or hiding features based on permissions.
- Beauty is also important — the Aesthetic Usability Effect - a dismissable principle but one that studies suggest that beauty influences user appreciation and eagerness, leading to higher adoption.
- Abstracting is good, but beware of doing it too much - don't abstract away every useful property to keep the design clean, but use convention over configuration to hide advanced options in a discoverable way.
- Beware of Bad Design Stockholm Syndrome - look out for anti-patterns where users get used to poorly designed products and accept weaknesses without trying to improve them.
- Learn from game design - games that aren't user-friendly tend to fail, and they need to be engaging by showing elegant ways to teach you how to play the game. This principle applies equally to IDPs.
The main takeaway of the article is to highlight how vital UX design is for all areas of an IDP. Delivering an elegant solution that developers love is vital to the success or otherwise of an IDP. Applying the principles is hard, but learning them is a significant first step when designing and implementing an IDP. Read the full article here.