User experience is an essential part of ensuring that an automation strategy gains business adoption. By designing for positive user experience, you can improve the chance of adoption, increasing the value return by implementing automation.
Let’s look at some of the areas of consideration when designing a user experience.
Identify consumers of the workflows
Anyone who interacts with the workflow is considered a consumer; a singular group of people might consume some workflows, others might have multiple.
When identifying consumers, identify them as people, not just a group within the business, as individual needs can vary within the same team. Additionally, it helps build a personal connection encouraging consideration for the emotions that might be felt by the person.
Instead of identifying the operations team as a group of consumers, we are going to create two fictional users to represent two distinct types of users within the operations team. They are:
• Prefers web interfaces; however, is proficient with CLI
• Uses a corporate laptop
• Primarily works from the company office
• Works early so she can finish earlier
• Visually impaired, requires high contrast settings
• Prefers a CLI
• Often works from home
• Internet upload speed is poor
• Works traditional office hours
• Uses a corporate laptop
When creating personas consider the differing needs of the real people within the teams and build on those.
Unless talking to people in the UX community, it’s not common to hear discussions that focus on the emotions of your consumers, but it’s an important consideration to ensure success. When considering emotion dig deeper than just ‘poor,’ ‘good,’ or ‘neutral,’ think of more emotive phrases such as ‘frustrated,’ ‘happy,’ or ‘understanding.’
Assume a workflow has been created with a primary interface of CLI and a web UI that is not fully featured. Now consider the emotional experience of our users:
Our users' experiences are opposites, which puts us in a tricky position. Switching the interface focus from CLI to Web UI would not result in a better outcome. However, we are likely to see improvements through ensuring our platform has a REST API and a fully featured Web UI which users can consume.
The REST API and Web UI first approach suits both our users. The REST API allows a CLI to be built and could overcome challenges Casey is facing while working remotely.
When building the CLI, we should consider that Casey has an internet connection with a poor upload speed, so mandating progress bars (where applicable) can improve Casey’s emotional response because it’s easy to see if an upload has stalled or is just slow.
We should consider the impact of a poor internet connection when using a web UI; if Casey needs to repeat steps due to a minor interruption the emotional response will be negative.
Useful error messages
Errors can be a source of frustration for all parties involved with the quality of error message fuelling or mitigating frustration levels.
Error messages need to be helpful to the end user; this includes input form errors such as mandatory fields missed or failed workflow executions. Don’t display a regex string when a user enters text that does not meet a predefined format. A better approach is to display the format requirements.
In the event of a failed workflow error, users should have enough information to know something went wrong and a high level of why it went wrong. For example, if an object with the same name already exists, make that clear and don’t display a stack trace.
Meaningless and generic error messages can be a cause of frustration because users don’t know why something failed. In the event of unhandled errors, an error ID can help alleviate this frustration. However, the error ID needs to be usable by the support team to troubleshoot the error.
This article has introduced our user personas and some initial considerations when designing workflows with user experience in mind. In the next part, we will cover additional design considerations.