Note: This is an old post and may or may not accurately represent my current views, current technology, etc.

I am very passionate about good user experience (UX), but one of the biggest challenges with UX is explaining what it even means. Development is easy enough to understand as it’s simply how the app is built. Graphical design/user interface (UI) is mostly how it looks. Quality assurance (QA) is about making sure it works the way it’s supposed to. User experience, though, is a combination of all of these and more. It’s about understanding the user’s expectations, clearing out the pain points, and giving a sense of satisfaction. Most development teams have very little focus on UX either expecting the designer to handle it or thinking that features and functionality are all that’s needed.

It’s a little bit easier to understand the value of user experience by taking a simple example, such as a series of light switches, and breaking down who is responsible for what. The designer wants to make sure the switches look good. Do they blend in enough or stand out too much? Does the shape match the surroundings whether harsh or smooth, traditional or contemporary? Are they properly spaced, aligned, and balanced?

Four simple light switches

Four simple light switches

Quality assurance can work at multiple levels. Quality can be tested from the outside: If I flip this switch 1000 times, will it work all 1000 times? It can also be tested from the inside: Is the correct gauge of wiring used with the right clamps?

Developers are the ones doing all the wiring, considering the power requirements, and connecting the functionality to the user interface. They work with the “guts” of the project and, when everything is done right, their work is largely hidden from the user. If you were to reveal the work of the developer, it would be off-putting to the end user.

Light switch wiring

This is probably one of the better user interfaces created by a developer.

So, where does user experience fit in? UX fits in everywhere. 1) Is the switch difficult to press or interact with? 2) Is it similar enough to what a user would be expecting that no learning is required? 3) When the switch is pressed, do the lights react quickly? 4) If the left-most switch is pressed, are the lights farthest to the left triggered? 5) Do the light switches look and work the same as the other switches in the house?

These same questions apply to mobile apps:

  1. Does the view have a large enough touch area?
  2. Are the interactive parts of the app obvious and do they follow convention?
  3. Is the app responsive to user input?
  4. Does the UI use proximity to create association?
  5. Is the app’s UI consistent both with itself and with the OS?

All of these points and many more come together to ensure the quality of the user experience, and making sure the user experience is good requires an effort on everyone’s part. The design can be beautiful and still detract from the experience. The development can be ingenious and still frustrate the user. The quality can be excellent and still not meet the needs of the user.