Skip to content

The value of User Experience Engineering (UXE)

I’ve been thinking about UX Engineering for a long time now.

Seriously, it’s been a good few years now! I came across the term/title of User Experience Engineer when I was working for VisitScotland and it struck me as being the perfect mixture of design & development – something I’ve always been striving for.

Back then we were investigating a poor user satisfaction score for one of our content pages, a blog post that contained no less than 20 Instagram embeds. The drop off from this page was astronomical and we naturally wanted to understand why that was so. Looking at the page and experiencing it for ourselves, the issue was obvious – but there was no one with the right mix of expertise (and authority) to do anything about it.

Why mix design & development?

Fast-forward to the present day and I find myself thinking about the value that can come from combining these disciplines.

I think that historically the hand-off between design & development is one of those things that varies massively from one team to another, even within the same organisation/dept. For it to ‘work’ each team needs someone that is (or is willing to be) familiar with what the other team needs and how their work impacts one another. Without this understanding/familiarity, there are too many opportunities for things to go wrong, or get missed – resulting in a negative outcome one way or another.

Where I’ve seen this approach being used, often with myself or another designer getting themselves involved in the development conversations, the outcomes have tended to be that much more refined because they’ve been thought out from a number of perspectives as they been built.

To try and highlight the opportunities, I’ve been thinking about how one discipline can impact the other.

User-centred design in engineering

Working on an application’s codebase with a design-first perspective has led me to find a couple of recurring aspects that could well be the sort of UX influence that a UXE could bring to their projects.

1. API responses

Every time I write data.data I chuckle to myself. I seem to remember this being way too common a ‘thing’ in a former role, but I came across it again recently and I started to wonder what else it could be instead… maybe something that fits with the context of how the response is viewed in the UI?

2. URLs, filenames & directory structure/s

Projects are a perfect candidate for a nice bit of applied information architecture. Thinking this through and mapping it to the mental model of users allows us to implement structures that make sense, to the users and to other devs working on the codebase.

3. Error handling

Highlighting the error is one thing – but then what? How does the user recover from it?

This one isn’t always clear-cut, but it’s another opportunity to deliver a much better user experience.

4. Accessibility – keeping the web accessible

HTML is accessible by default, but it’s all too easy to render elements in-accessible when we try to achieve other things – we create a solution, but we introduce new issues too. Taking the time to focus on keeping things accessible is one of the most overlooked aspects I’ve seen in the various projects I’ve worked on since 2011.

Engineering thinking in the design process

I never studied software engineering/development, so a number of these have taken longer for me to appreciate, but the benefits that they can bring to designers are worth pursuing.

Taking one mindset/approach and applying it to another, creating outputs in sometimes quite different mediums isn’t always intuitive.  But once you’ve had that concrete experience where you’ve seen it in action, and you understand what it’s doing and, more importantly, why – I’ve found that embracing these aspects just makes so much sense.

1. Tooling

The setup always seems to take forever, but having followed a course that walked me through the creation of a prettier configuration file, I was sold! This is a simple example, but I saw the value in it so much more once I understood the things that were happening.

2. Reusability

This is perhaps less mysterious to those familiar with using components in Axure or Figma, but prototyping UI components with reusability in mind takes things a little further. You can find yourself creating code snippets that allow more flexibility when prototyping and testing which allows you to get much more realistic scenarios to test. You could also make it that much easier to move the code into the frontend codebase – refining a prototyped UI being quicker than having to create all of it from scratch each time.

3. Working with data

Closely linked to reusability, embracing data as something that’s often easy to update and alter and ensuring that your designs/prototypes can manage those updates smoothly makes for a much happier life than if you had to constantly refactor static layouts. That’s a lot of copying & pasting!

4. Accessibility

Having more of an understanding of the code that impacts accessibility makes it easier for us to explore and test it. We can find the low-hanging fruits more easily and be more confident in engaging with and understanding those with accessibility needs. Knowing more about the code allows us to gauge how feasible something might be, or at least to surface the issues that could arise with a proposed approach.

It works both ways

I’ve always billed myself as ‘the designer in the dev team’ – it’s a term that has been true for most of my years working on websites & applications. Things have changed quite a bit in that time, but the underlying fundamentals of both disciplines still remain.

If designers took a more systems-thinking view of things and embraced some of the tooling and methods from engineering we could create much ‘smarter’ prototypes (where appropriate) that allowed us to achieve more accurate findings and more robust frontends.

If engineers embraced a more user-centred mindset, we could find that codebases become much easier to understand by everyone – designers and (other) developers alike. The consideration of the final/project context being as relevant and useful as the technical one.

Fusing both of these disciplines together in this way could allow for much more refined and impactful solutions to be delivered to those who need them.

This journey continues and I shall keep on walking the path until the value starts to be much more broadly known & hopefully, accepted.