User Experience 101 for Developers

113
User Experience 101 for Developers Research, Ideation and Evaluation Ross Belmont, Appiphony, Chief Experience Designer @rossbelmont

Transcript of User Experience 101 for Developers

Page 1: User Experience 101 for Developers

User Experience 101 for DevelopersResearch, Ideation and Evaluation

Ross Belmont, Appiphony, Chief Experience Designer@rossbelmont

Page 2: User Experience 101 for Developers

Safe harborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 3: User Experience 101 for Developers

What is User Experience?

Page 4: User Experience 101 for Developers

What is User Experience?

Let’s start with a visual analogy.

Page 5: User Experience 101 for Developers

What is User Experience?

Let’s start with a visual analogy. Because bullets don’t cut it.

Page 6: User Experience 101 for Developers

Product

Page 7: User Experience 101 for Developers

User Interface

Page 8: User Experience 101 for Developers

User Experience

Page 9: User Experience 101 for Developers

User Experience (UX) Design: My definition

UX design boils down to: understanding what users

need to accomplish adjusting the interface so

that they can get it done in the best possible way

Page 10: User Experience 101 for Developers

User Experience (UX) Design: My definition

UX design boils down to: understanding what users

need to accomplish adjusting the interface so

that they can get it done in the best possible way

Feasible

Page 11: User Experience 101 for Developers

User Experience (UX) Design: My definition

UX design boils down to: understanding what users

need to accomplish adjusting the interface so

that they can get it done in the best possible way

Feasible

Desirable

Page 12: User Experience 101 for Developers

User Experience (UX) Design: My definition

UX design boils down to: understanding what users

need to accomplish adjusting the interface so

that they can get it done in the best possible way

Feasible

Desirable Profitable

Page 13: User Experience 101 for Developers

User Experience (UX) Design: My definition

UX design boils down to: understanding what users

need to accomplish adjusting the interface so

that they can get it done in the best possible way

Feasible

Desirable Profitable★

Page 14: User Experience 101 for Developers

User Experience Design is NOT about…

Page 15: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”)

Page 16: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”)

Craig Villamor, Principal Design Architect at Salesforce.com

Page 17: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”) Coffee shop inspiration

Craig Villamor, Principal Design Architect at Salesforce.com

Page 18: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”) Coffee shop inspiration

Sketching at Bean Around The World by freshbrewed on flickr.com

Craig Villamor, Principal Design Architect at Salesforce.com

Page 19: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”) Coffee shop inspiration

Sketching at Bean Around The World by freshbrewed on flickr.com

Craig Villamor, Principal Design Architect at Salesforce.com

One specific platform

Page 20: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”) Coffee shop inspiration

Sketching at Bean Around The World by freshbrewed on flickr.com

Craig Villamor, Principal Design Architect at Salesforce.com

One specific platform

Page 21: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”) Coffee shop inspiration

Sketching at Bean Around The World by freshbrewed on flickr.com

Craig Villamor, Principal Design Architect at Salesforce.com

One specific platform✓

Page 22: User Experience 101 for Developers

User Experience Design is NOT about…Super fancy graphics (“jazz hands”) Coffee shop inspiration

Sketching at Bean Around The World by freshbrewed on flickr.com

Craig Villamor, Principal Design Architect at Salesforce.com

One specific platform✓ ✓

Page 23: User Experience 101 for Developers

Why care about the User Experience?

Page 24: User Experience 101 for Developers

Why care about the User Experience?

Page 25: User Experience 101 for Developers

Why care about the User Experience?

Page 26: User Experience 101 for Developers

Good User Experience ⇒ Business Success

Page 27: User Experience 101 for Developers

Good User Experience ⇒ Business Success

Page 28: User Experience 101 for Developers

Good User Experience ⇒ Business Success

Page 29: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Page 30: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Data layer

Page 31: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Server side code

Data layer

Page 32: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Server side code

Data layer

Client side code

Page 33: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Server side code

Data layer

Client side code

View components

Page 34: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Server side code

Data layer

Client side code

View components View styling

Page 35: User Experience 101 for Developers

Planning the design makes development easier

Cohesive design

Server side code

Data layer

Client side code

View components View styling✓

Page 36: User Experience 101 for Developers

Planning the design improves estimates

Design completeness

Est

imat

e ac

cura

cy

Page 37: User Experience 101 for Developers

Want to know how?

Page 39: User Experience 101 for Developers

User Experience Design in Three Easy Steps

ResearchLearn what your users are trying to accomplish.1Ideation Work through different ideas that would meet those goals.2EvaluationTest prototypes with users, and iterate when you find issues.3

Page 40: User Experience 101 for Developers

The usual approach to discovery Research

On a scale of 1-10, how painful was your last requirements gathering session?

Page 41: User Experience 101 for Developers

The usual approach to discovery Research

On a scale of 1-10, how painful was your last requirements gathering session?

Page 42: User Experience 101 for Developers

The usual approach to discovery Research

On a scale of 1-10, how painful was your last requirements gathering session?

Page 43: User Experience 101 for Developers

Activity: Story-based interview ResearchThink back to the last time you checked the weather.

Why did you need to know?What did you do next?

post-interview by Bennett 4 Senate on flickr.com

Page 44: User Experience 101 for Developers

Problem: sometimes you can’t “just ask” ResearchUsers don’t absorb everything in their path and can’t recall it.

Driving home one night by Fellowship of the Rich on flickr.com

Page 45: User Experience 101 for Developers

Learning what users actually do Research

Page 63: User Experience 101 for Developers

Real Understanding Research

Page 64: User Experience 101 for Developers

User Experience Design in Three Easy Steps

ResearchLearn what your users are trying to accomplish.1Ideation Work through different ideas that would meet those goals.2EvaluationTest prototypes with users, and iterate when you find issues.3

Page 65: User Experience 101 for Developers

Requirements: the usual approach Ideation

Page 66: User Experience 101 for Developers

Requirements: the usual approach Ideation

Page 67: User Experience 101 for Developers

Requirements: the usual approach Ideation

Requirements-Driven Software Development Must Die by Fred Beecher

Page 68: User Experience 101 for Developers

Requirements: the usual approach Ideation

Requirements-Driven Software Development Must Die by Fred Beecher

Beta

Page 69: User Experience 101 for Developers

Requirements are an Input IdeationRun Tabular

ReportExport to

ExcelManipulate

data by handSend to manager

Page 70: User Experience 101 for Developers

Requirements are an Input IdeationRun Tabular

ReportExport to

ExcelManipulate

data by handSend to manager

Run Joined Report

Page 71: User Experience 101 for Developers

Requirements are an Input IdeationRun Tabular

ReportExport to

ExcelManipulate

data by handSend to manager

Run Joined Report

Page 72: User Experience 101 for Developers

Requirements are an Input IdeationRun Tabular

ReportExport to

ExcelManipulate

data by handSend to manager

Run Joined Report

Send to manager

Page 73: User Experience 101 for Developers

Requirements are an Input IdeationRun Tabular

ReportExport to

ExcelManipulate

data by handSend to manager

Run Joined Report

Send to manager

Page 74: User Experience 101 for Developers

Requirements are an Input IdeationRun Tabular

ReportExport to

ExcelManipulate

data by handSend to manager

Run Joined Report

Send to manager

Riding shotgun by mmcnabb3 on flickr.com

Page 75: User Experience 101 for Developers

Standard layouts and Visualforce tags Twitter Bootstrap, jQuery UI, etc. UI elements described in Design Pattern Libraries

Pre-built design solutions can help Ideation

Page 76: User Experience 101 for Developers

Standard layouts and Visualforce tags Twitter Bootstrap, jQuery UI, etc. UI elements described in Design Pattern Libraries

Pre-built design solutions can help Ideation

Page 77: User Experience 101 for Developers

Create new design concepts by sketching Ideation

Sketch multiple possibilities on paper before coding.

Page 78: User Experience 101 for Developers

A few words on sketching Ideation Think you can’t draw? Start with templates and simple shapes. This is not art. You’re not expressing your feelings. Sketches don’t need to be beautiful. Stick to four colors or less: black, red, blue and (eventually) grey.

Page 79: User Experience 101 for Developers

Plan flows: Interactive Sketching Notation IdeationUse Interactive Sketching Notation to work out

the user’s flow—all the way to their end goal.

Page 80: User Experience 101 for Developers

Stuck on sketching? Wireframe it. IdeationUse tools like Balsamiq Mockups for low fidelity renderings.

Page 81: User Experience 101 for Developers

Wireframes can work, but... Ideation Don’t forget to try multiple ideas The focus shifts to individual screens,

not the whole flow They can be time consuming to create

Page 82: User Experience 101 for Developers

Wireframes can work, but... Ideation Don’t forget to try multiple ideas The focus shifts to individual screens,

not the whole flow They can be time consuming to createUse whatever works!

Page 83: User Experience 101 for Developers

Got flows? Now build a prototype! Ideation

Page 84: User Experience 101 for Developers

Got flows? Now build a prototype! Ideation

Page 85: User Experience 101 for Developers

Got flows? Now build a prototype! Ideation

Page 86: User Experience 101 for Developers

Got flows? Now build a prototype! Ideation

Print each screen to visualize the flows more easily.

Page 87: User Experience 101 for Developers

Got flows? Now build a prototype! Ideation

Print each screen to visualize the flows more easily.

Posted by Coleen Baik on Twitter's blog

Page 88: User Experience 101 for Developers

User Experience Design in Three Easy Steps

ResearchLearn what your users are trying to accomplish.1Ideation Work through different ideas that would meet those goals.2EvaluationTest prototypes with users, and iterate when you find issues.3

Page 89: User Experience 101 for Developers

The usual approach to evaluation Evaluation

On a scale of 1-10, how painful was your last User Acceptance Testing session?

Page 90: User Experience 101 for Developers

The usual approach to evaluation Evaluation

On a scale of 1-10, how painful was your last User Acceptance Testing session?

Page 91: User Experience 101 for Developers

The usual approach to evaluation Evaluation

On a scale of 1-10, how painful was your last User Acceptance Testing session?

Page 92: User Experience 101 for Developers

The concept of UAT is broken Evaluation

Page 93: User Experience 101 for Developers

The concept of UAT is broken Evaluation

Requirements-Driven Software Development Must Die by Fred Beecher

Page 94: User Experience 101 for Developers

The concept of UAT is broken Evaluation

Requirements-Driven Software Development Must Die by Fred Beecher

Beta

Page 95: User Experience 101 for Developers

Show prototypes to stakeholders Step through the flow you’ve planned and

show how the user will meet their goals Prepare for change requests, though

most will be cosmetic If changes are non-trivial, ask how it ties

back to the user’s goal Once you build up trust and goodwill, try

walking through your sketch

Get feedback along the way Evaluation

Posted by Coleen Baik on Twitter's blog

Page 96: User Experience 101 for Developers

Show prototypes to stakeholders Step through the flow you’ve planned and

show how the user will meet their goals Prepare for change requests, though

most will be cosmetic If changes are non-trivial, ask how it ties

back to the user’s goal Once you build up trust and goodwill, try

walking through your sketch

Get feedback along the way Evaluation

Posted by Coleen Baik on Twitter's blog

Page 97: User Experience 101 for Developers

Introduce the prototype to the user. Ask them to click through and try to

accomplish their goal. Don’t be a “talking manual.” Tell them you’re testing the software,

not them. Ask them to “think out loud.” Take notes on what happens. Adjust the UI where necessary

Usability Testing Evaluation

Posted by Coleen Baik on Twitter's blog

Usability Test by l-i-n-k on flickr.com

Page 98: User Experience 101 for Developers

User Experience Design in Three Easy Steps

ResearchLearn what your users are trying to accomplish.1Ideation Work through different ideas that would meet those goals.2EvaluationTest prototypes with users, and iterate when you find issues.3

Page 99: User Experience 101 for Developers

Quick story: checking the weather

Page 100: User Experience 101 for Developers

Quick story: checking the weather

Page 101: User Experience 101 for Developers

Quick story: checking the weather

Page 102: User Experience 101 for Developers

Quick story: checking the weather

Page 103: User Experience 101 for Developers

Quick story: checking the weather

Page 104: User Experience 101 for Developers

Quick story: checking the weather

Page 105: User Experience 101 for Developers

Quick story: checking the weather

Page 106: User Experience 101 for Developers

Quick story: checking the weather

Page 107: User Experience 101 for Developers

Quick story: checking the weather

Page 108: User Experience 101 for Developers

Quick story: checking the weather

Page 109: User Experience 101 for Developers

What if I was going skiing?

Page 110: User Experience 101 for Developers

What if I was packing for Disneyworld?

Page 111: User Experience 101 for Developers

User Experience Design in Three Easy Steps

ResearchLearn what your users are trying to accomplish.1Ideation Work through different ideas that would meet those goals.2EvaluationTest prototypes with users, and iterate when you find issues.3

Page 112: User Experience 101 for Developers

Ross Belmont

Chief Experience Designer@rossbelmont

Page 113: User Experience 101 for Developers

Ross Belmont

Chief Experience Designer@rossbelmont