As a product designer working within cross-functional teams, I’m exposed to many different roles—each with their own goals. For example, as a visual designer, I prioritize aesthetics. Frontend developers aim for code efficiency and maintainability. Business is looking for returns. And database designers have their own concerns too.

When looking at all the roles involved in an integrated product development team, it’s easy to see how various interests are in play. But over time, I’ve especially come to appreciate the intersection of product design and database design.

It’s a not-so-obvious intersection that can have tremendous effects on product usability.

Database designers read specs, not minds

What happens when the database designer doesn’t know all the ways the data might be used?

The ways data is used on the frontend to support a great user experience (UX) are not always obvious (or made known) to database designers. Especially when a UX designer isn’t in the mix. And sometimes schema are created without specific guidance or insights into the ways the data needs to be related.

As early as possible within a product’s lifecycle, UX designers and database designers should come together. Each should share their requirements and constraints and coordinate on developing the product specification. This allows both the Product Designer and Architect to arrive at the best compromises that optimize solutions based on respective project realities.

The intersection of data and usefulness

A UX designer’s goal is for the product to produce the best outcomes for the end user. And the intersection of design and engineering is a critical aspect for producing a successful user experience. Database design is certainly a part of this. 

While there’s a lot of content out there about how various frontend aspects can improve the user experience, the impacts that data relationships have on frontend usability are not widely discussed. So let’s get into that now!

Utilizing data for customization and automation

UX designers typically want to utilize what the system ‘knows’ about users for two key purposes:

  • To customize content
  • To provide automation

Both of these are essential tactics for producing the best user experiences. The more data a system has about a user, the higher the opportunity to leverage that data to customize the content and automate processes in meaningful ways. 

Interrelationships between the data — what the system knows about it’s users — are key to this system ‘knowledge’. Without an accurate, robust, flexible and extensible schema, the ability to provide customized content and automation to the user will be limited.

On customizing content

Let’s start with the ways that databases support customized content for users and how that can affect product usability.

Personalization — Preferences, browsing history, and demographic information can be used to tailor the content shown to the user, providing a more personalized experience.

Segmentation — Customized content can be shown to various user groups based on shared characteristics such as specific interests or needs.

Dynamic content: Articles, videos, or product descriptions can be dynamically served to users based on their interests or actions, providing a customized experience.

Contextual content: Information about the context in which content is being accessed, such as the device or location of the user, can be used to serve relevant content.

On automating tasks

Automating tasks is another essential way UX Designers seek to improve a user’s experience, because it saves users time and effort. This allows them to focus on more important, value-added activities and makes it easier and more efficient for them to complete their work. 

As an example, an e-commerce website should store a user’s shipping addresses and payment details. So when the user makes a purchase, the system should save their information in the database so they don’t have to enter it again in the future.

Calculating the total cost of a customer’s order, including taxes and shipping fees based on the user’s known address is another example of the way databases can support automation and provide better UX. This also provides more accurate and reliable information to the customer — further improving the UX by reducing errors.

Business software that automatically backs up users’ important data can prevent the loss of their data and improve the UX by making the software more resilient and dependable.

Saving time and effort, improving accuracy and consistency, and increasing reliability and availability are just a few ways that automating tasks improves a user’s experience. It’s up to the UX designer and database designer to coordinate on the fulfillment of these functions.

Considerations for setting up databases from an experience designer’s perspective

I’ve never owned or been accountable for the backend. So with that in mind, the things outlined below are simply what I’ve experienced to work well when it comes to data utilization for the purpose of producing good UX.

Structure matters

Data structures can affect a product’s ease-of-use in a number of ways. So regardless of the database type being used, the structure should promote these key attributes in order to produce the best UX:

  • Fast search and retrieval
  • Data integrity and accuracy
  • Data security
  • Enhanced data analysis
  • Scalability

Normalizing data for the win

Finally, normalizing the data within the database can improve the user’s experience. Good data normalization standardizes the data throughout the entire system so it can be queried and utilized easily and accurately.

Phone numbers, physical addresses, time stamps, primary keys, labels and tags are a few examples that come to mind. Nothing can be more frustrating to users than having to enter the same information multiple times because the system utilizes multiple data formatting rules.

Summary

I hope this brings more awareness to the ways database design affects usability. Product development works best when UX designers and database designers work together.

Doing this helps engineers establish a schema that allows for the most flexible, relatable and extensible usage of data for the product. Which, in turn, enables an optimal user experience. And having data that is able to flex and grow to accommodate future feature development is good for everyone.