# UX Principles

## UX Principles

### What is UX?

If the title of this module didn't already give it away, UX stands for **user experience**. UX is, ultimately, **what users experience** when using a product.

We can hear you from here: "Well, that's vague." An apt observation! "UX" is a *super* general term, and it's also constantly evolving. That's largely because user experience is a relatively new area of study, and we're learning more and more as products and the technologies used to build them evolve at an exponential pace.

### UX vs. UI

You've likely seen these terms bandied about, used interchangeably, or even in combination with each other: UI, UX, UI/UX, design, interaction design, UI design, UX design...

UI stands for **user interface** (though *sometimes* it can stand for "user interaction"—this isn't helping, is it...)

Ultimately, the distinction between these terms does matter, but **it doesn't matter too much**. What matters is that you understand that they represent various areas of focus that are ultimately trying to get at the same thing from different angles—**how is a thing used**?

**User experience (UX) design** focuses on what happens to the user when they use the thing.

**User interface (UI) design** focuses on the pieces of the thing the user interacts with—hopefully informed by an anticipation and understanding of what their experience will or should be.

### UX Principles

in 2004, [Peter Morville (Links to an external site.)](http://semanticstudios.com/user_experience_design/) defined a core set of seven UX principles determining whether users will get value out of an experience:

* useful
* usable
* desirable
* valuable
* findable
* accessible
* credible

Like our seven principles of design, these seven principles of UX certainly aren't the only way to break up and talk about UX. But they do give us a helpful anchor for discussion!

## User Research

One of the core activities in UX is conducting user research. Research helps you refine your understanding of how users will interact with a product, what they'll think, and even what they'll *feel*.

The idea that we should focus on what users are *feeling* when they're using our product might strike you as weird or silly, but it's actually *the ultimate way* to zero in on building the right thing. If users enjoy using your product, they'll use it often, maybe purchase it if that's the business model, tell their friends about it, write epic poems about it...

When users use a product, they're constantly making both conscious and unconscious observations about their experience:

* "This is *frustrating*—I'm trying to go back, but I can't!"
* "This is *so neat*—I can slide here and see the graph change right away!"
* "I really *wish* I could see that other table right next to this one to compare them directly."

We should always try to *anticipate* how our users will experience our product—but ultimately, *we'll never be able to anticipate everything*. That's why user research can be so useful—it lets us cheat by getting more information!

### User Research Methods

Let's say you're working on a product that lets homebuyers shop and apply for a mortgage. How would you conduct some user research to point you in the right direction?

#### Discovery

**Discovery** is usually the first step in UX design research. It focuses on finding or generating some initial information to get oriented about a problem space and the people facing those problems.

Discovery is broad and often purposefully open-ended; you're just trying to figure out: "what's going on here?"

Common tools for discovery include:

* **reading** articles and studies (e.g., about the housing market, the mortgage lending industry, public policy...)
* **interviewing** people facing a problem you're interested in solving with your product (e.g., recent, active, or potential homebuyers) or people adjacent to those problems (e.g., interviewing someone working for a mortgage lender to learn more about the mortgage application process)
* **holding workshops** with various combinations of stakeholder groups (**stakeholder:** anyone with a "stake" in the development process)
* **gathering data** (e.g., from real mortgage applications)
* **taking notes** based on your own experiences (e.g., applying for a mortgage)

#### Exploration

**Exploration** is a bit less open-ended than discovery, and involves actually diving into the information you've generated.

Usually, a major goal of the exploration process is **feature mapping**—linking the user needs you've identified to potential features to build in your product.

Common tools for exploration include:

* **defining personas** of representative groups of potential users based on the data you've got (e.g., "Thomas is a 41-year-old bitcoin miner with a credit score of...")
* **drafting user stories** (which you'll do in Labs!) to put yourself in the perspective of your users for each action they'll need to take to solve their problems (e.g., "As a user, I can specify a desired APR and see how much I'd have to pay in points to get that rate.")
* **prototyping** early ideas for key areas of your product, possibly interactive (e.g., a clickable mockup of a rate comparison page)

#### Testing & Feedback

**Testing** is checking the performance of your application with specific metrics in mind;

***

**feedback** is putting something in front of users to see how they react and/or what they say about their experience.

####

Common tools for testing & feedback include:

* **usability testing** to see what users say about how easy it was to accomplish their goals (e.g., "I felt like it look a lot of clicks to get to the part where I could finally view the rates.")
* **deploying heatmaps** to see where users move their mouse, click, or even *look* while using a version of your product (e.g., "Wow, look how much red is over the rate comparison button! We're really driving users effectively toward taking that primary action.")
* **user surveys** to gather any other qualitative information (e.g., "How clear were the visualizations of interest rates over time?")
* **analytics** for a deployed product (e.g., the number of daily active users (DAU))

Use these methods based on your best determination of when and with whom they'll be most relevant, based on the context, timeline, and goals of your product.

## Interaction Design

**Interaction design** (IxD) is another subset of UX that focuses on **the junction between the user and the product.**

IxD tries to answer questions like:

* How is a user inclined to interact with a product under certain circumstances?
* How do we *want* our users to interact with a particular product?
* How do we drive user interactions to achieve product goals?
* How can we build something that lets users accomplish their goals in an optimal way?

### The Five Dimensions Framework of Interaction Design

In 2007, [Kevin Silver (Links to an external site.)](https://www.uxmatters.com/mt/archives/2007/07/what-puts-the-design-in-interaction-design.php) adapted [Gillian Crampton Smith's (Links to an external site.)](http://feiramoderna.net/download/pos-positivo/MOGGRIDGE-Bill/DesigningInteractions_00_foreword.pdf) four "dimensions" of interaction design "languages" to add a fifth dimension, giving rise to the "Five Dimensions" framework:

| Dimension # | Dimension                 | Definition                                                                    |
| ----------- | ------------------------- | ----------------------------------------------------------------------------- |
| 1-D         | Words                     | Words are themselves interactions, and should be used with care.              |
| 2-D         | Visual Representations    | Typography, diagrams, icons, and other graphics with which users interact.    |
| 3-D         | Physical Objects or Space | Objects with which or spaces within which users interact in the "real world". |
| 4-D         | Time                      | The time within which users interact (with content that changes over time).   |
| 5-D         | Behavior                  | Action and reaction, including how users interact with the product.           |

These dimensions define different ways that users can interact with a product—often all at once. They might be helpful to consider as your build a product, because they'll force you to be conscious of the fact that users will constantly have an impression along each dimension.
