The 6 Step Program to Create Better UIs for Design-Impaired Engineers

Post on 06-Jul-2015

2.150 views 1 download

description

Let’s face it: as software engineers we all suck when creating user interfaces. We studied and worked all our lives to understand complex systems, so we take it for granted that other people will also cope well with complexity. That is simply not true: the complex UIs we create are the main reason why some of our projects have not been successful in the long run. So, how can you design better user interface? It's easy, you just need to follow these 6 steps...

Transcript of The 6 Step Program to Create Better UIs for Design-Impaired Engineers

“Don’t make me

think!”

Tiago SimõesR&D, OutSystems

Usability

Usability

“We don’t need it”

“We have no budget for it”

Agenda

1. Collect and prioritize user stories

2. Understand UI costs

3. Prototype

4. Be agile

5. Test, test, test

6. Make it look good

1. Collect User Stories

“As a team manager, Johnny Boss needs to see a calendar with all the team member's vacations, so he can understand if there are important overlaps before he approves someone's vacations.”

• Get 2 or 3 personas

• Get ~20 user stories

• Prioritize this list (High, Medium, Low)

The most common the User Story

the cheaper should be the UI Path

2. UI Path costs

1. Location costs

“don’t make me think”

2. Wait costs

immediate response and feedback

3. Input costs

number of clicks and keystrokes

2.1 Location costs

Eye fixation(the F pattern)

Top down, left to right

Attention floats to AttractorsAttractors define clusters

Attractors = Titles, Prompts, LabelsVisually relevant = Bigger, Bold, Different ColorShould be with the user language or the user data

e.g.Find the status of an

hot opportunity

1. Top-down2. Jump from attractor to

attractor3. Until cluster is located

1. Table lines typically define clusters

Location rules of thumb

• The less elements in a page the easier it is to find what you want

• Group related elements

• Order is very important

– most common should be on top

• Attractors above or on the left

• Use the user language for attractors!!!

2.2 Wait costs(minimize latency)

• Load New Page - $$$

• Popup - $$

• Ajax - $

2.3 Input costs(forms…)

• Typing - $ x number of keystrokes

• Click - $

• Click to focus - $$

Style Guide CRUD = High cost!

Save and Cancel have almost the same location cost

If company does not exist need to create company+ 3 clicks + 1 input + 3 page loads!

2 clicksseveral scrollshigh location cost

What are the problems here? How could this be improved?

Save & New(when this is a common use case -1 page load)

Company will be created if it does not exist

Few inputs - decrease location cost

Cancel is a link(not so common)

Very few mandatory inputs

Best input depends on domain

Combo Box Finite,small domain

Auto complete Finite,large domain

Input Infinite, evenly distributed domain

Input rules of thumb

• Order of inputs in form is important

– Put mandatory on top

– Order optional by frequency of filling

• Minimize

– Typing

– Switching between typing and clicking

• Focus automatically

• Use the TAB

• Use defaults as much as possible

How to cut UI Path costsfor common User Stories?

User Story

As an account manager, Sally Reep needs to see the opportunities that are estimated to close this quarter.

9 clicks1 page load1 ajaxsome high locations costs(e.g. quarter end date)

Standard CRUD = High cost!

What are the problems here? How could this be improved?

Smart Defaults

Common Use Case(show only pending)

Less commonon the sidebar

Default sort order is very important(most common use cases at the top)1 click

1 page load

Larger link for the identifying label

User Story

As an account manager, Sally Reep needs to log information after talking with a contact.

Standard Master/Details = High cost!

1 difficult location3 clicks1 popup1 input

What are the problems here? How could this be improved?

Show Page

1 easy location (large size, center stage)1 input2 clicks

User Stories

As a sales manager, Sheila Manny needs to…

constantly monitor the team’s global quarterly status, to know if they will reach their quota

see the quarterly quota status for each account manager, so she can follow up with them

check the pipeline to make sure there are enough opportunities in the early stages

get the next quarter’s forecast, so she can show it to the CEO.

These are the most important user stories. How would you implement them?

In her homepage

Different homepage per user profile

Account Manager

Sales Manager

What are my KPI's?What are my most common user stories?

3. Prototype

4. Be Agile

5. Test, test, test

OK, that makes UI’s easier.How can I make them pretty?

CRAP design rules

Remember• Most common user stories need cheaper UI paths

• Location costs• Wait costs• Input costs

• Select carefully• Labels - in user language• Sort order• Smart defaults• Homepages

• Prototype• Usability testing• CRAP design rules

Questions?

Thank You!

tiago.simoes@outsystems.com