User Centered Design in Software Engineering

Amelia Elton
3 min readMay 17, 2021

As a former librarian, my brain is hardwired to focus on accessibility and the human who will be using any application I design. I have helped enough people through technical problems of a simple, but frustrating, nature like navigating a forgotten password, to more complicated issues such as navigating a confusing user interface with a visual impairment.

Photo by Leon on Unsplash

Though there is an entire field and job devoted to user experience (UX), it is important that software engineers make a habit of keeping their user in mind when designing programs, as we are the ones physically creating the applications. This article highlights some key user centered design ideas to keep in mind when coding.

When explaining User Experience Design, Peter Morville created a User Experience Honeycomb that I have found to be extremely helpful when thinking of the user experience.

User Experience Honeycomb
  1. Useful: Content should be created to fill a need or to create a new and innovative solution to a current problem. Don’t try to recreate the wheel unless you really do have a better application.
  2. Usable: Is the application easy to use? Do not assume prior technical knowledge, especially if your application/program targets the general public.
  3. Desirable: Users are human, and most times powered by emotions. Emotional design that considers the power of images, identity, and branding help create a feeling of connection with your user. That feeling is usually what keeps someone using a specific application or website, especially if they have multiple options.
  4. Findable: Is your site easily navigable so users can find what they need without having to look for it? If users have to dig for information, they are not likely to return to your site, and often times will leave for a different option.
  5. Accessible: All content should be accessible to people with disabilities. The Americans with Disabilities Act does a good job highlighting ways to make websites accessible (see resources for more information). Some examples of ways to make your site accessible are: adding text descriptions of images, making sure attached documents are in a text based form that screen readers can use, avoid using color as the only way to highlight information.
  6. Credible: Why should users trust that the information you are giving them is true? Stanford has done a good bit of research on design elements that influence whether or not users trust the information being presented. Among their takeaways are: making it easy to verify your information with citations, highlight the organization or company behind your site, make it easy to contact you, update your site regularly ( particularly links), and avoid errors, even small typos.
  7. Valuable: Our end goal should always be to deliver value in every part of our applications. That value could be essential in the form of a healthcare application, or silly in the form of a game. Either way, think of what value you are creating, and make sure that every part of your product contributes.

By keeping user interaction in mind when creating products, software engineers can help ensure that the digital world is open and accessible to all who interact with it. Clear and accessible applications not only attract users, but ultimately make life easier for all who come across them.

Resources:

--

--