Presentation Rules for Good UI Design


What separates a good user interface from a bad one? How do you make sure that your customers' experience with your software leaves them feeling good about you? We will go over some rules, tips, and tricks for designing a good user interface that will hopefully lead you to building better and more usable applications in the future.
Published on: 2011-12-20T07:25:01.000Z
Channel: Devoxx'11 (all)
Tags: gui RIA design
Speakers:

Joe Nuxoll


JavaPosse.com Member


Slides:

Rules for Good UI Design


Rules for Good UI Design rules, tips and tricks for designing an enjoyable software experience Joe Nuxoll

@joeracer



Joe Nuxoll


Joe Nuxoll @joeracer @javaposse

What is UI?


What is UI?

What is UI? User Interface?


What is UI? User Interface?

What is UX?


What is UX?

What is UX? User Experience?


What is UX? User Experience?

Cartoon



User Experience Elements



User Experience


User Experience: How your software works in the real world, or how a person feels about using your product. Jason Putori

Going through the sign up flow


Going through the sign up flow Completing a task in the product Error message in the product Jason Putori

Customer Experience:


Customer Experience: The sum of all interactions a customer has with your company, positive or negative. Jason Putori

Going through the sign up flow


Going through the sign up flow +5 Completing a task in the product +10 Error message in the product -5 Viewing your home page +1 Reading a marketing email -10 Dealing with customer service -5 Jason Putori

User Experience = Human Experience


User Experience = Human Experience People prefer software that helps them by making their life easier - not more difficult

User Experience = Human Experience


User Experience = Human Experience People prefer software that helps them by making their life easier - not more difficult

Design + Engineering


Design + Engineering

What is design?


What is design?

What is engineering?


What is engineering?

Marketing / Product Folks


· Marketing / Product Folks · Designers (Visual / Interaction) · Front-end UI Developers (HTML/CSS/JS) · Web UI Developers (Java/.NET/PHP/...) · Back-end Developers (services, db, ...)

Marketing / Product Folks


· Marketing / Product Folks · Designers (Visual / Interaction) · Front-end UI Developers (HTML/CSS/JS) ENGINEERING / IT ·Web UI Developers (Java/.NET/PHP/...) · · Back-end Developers (services, db, ...)

Marketing / Product Folks


· Marketing / Product Folks · Design Agency (Visual / Interaction) · Front-end UI Developers (HTML/CSS/JS) ENGINEERING / IT ·Web UI Developers (Java/.NET/PHP/...) · · Back-end Developers (services, db, ...)

Marketing / Product Folks


· Marketing / Product Folks · Designers (Visual / Interaction) · Front-end UI Developers (HTML/CSS/JS) · Web UI Developers (Java/.NET/PHP/...) · Back-end Developers (services, db, ...)

UI Engineering


UI Engineering · Marketing / Product Folks · Designers (Visual / Interaction) · Front-end UI Developers (HTML/CSS/JS) · Web UI Developers (Java/.NET/PHP/...) · Back-end Developers (services, db, ...)

Web 2


Web 2 Mobile RIAs

Design = UI Engineering


Design = UI Engineering UI Engineering = Design

Agile


Agile Design and Engineering need to work together more closely

Cross Train


Cross Train

X-Train Fundamentals


X-Train Fundamentals · These are very different fields for some · They are closely related for others · Educate engineers on design process · Educate designers on engineering process · Encourage dialog & mutual skills appreciation

TANGENT ALERT


TANGENT ALERT You're mostly engineers in here, so let's do some Cross Training right now!

A Design Process


A Design Process

Concept (Business Need)


1. Concept (Business Need) 2. Information Architecture (IA) / Interaction Design (ID) WIREFRAMES / FLOW CHARTS · · Iterate w/ Feedback Loop Prototype(s) 3. Visual Design (VD) / Interaction Polish HIGH FIDELITY MOCKUPS · · Iterate w/ Feedback Loop Prototype(s) 4. Production Plan

Internal Design Review / Ideation


Internal Design Review / Ideation · · · · · · Design team members in one room Tack-up mocks from each member Each member presents their concepts Everyone else provides clear, unfettered feedback and newly spawned ideas Everyone has an opinion, and that's okay nobody gets hurt DIRECTED SESSION

Design Review with Business


Design Review with Business · · · · Design Director presents concepts Everyone else provides feedback and newly spawned ideas Everyone has an opinion, and that's okay Design Director works hard to LISTEN and read between the lines, since most people aren't trained to give clear, unfettered feedback

Design is Subjective


Design is Subjective · Unlike pure engineering, there is no OBJECTIVELY CORRECT answer · There are principles to follow - the science of computer human interaction · Design Direction is key · Design by Committee FAILS · Design by Heuristics always WINS but often LOOKS ASSY

TANGENT ALERT


TANGENT ALERT Congratulations! Cross Training complete!

CoLocation


Co Location

Prototype Production


Prototype Production

Prototype Prototype Prototype


Prototype Prototype Prototype Prototype Prototype Prototype Protot Prototype rototype Prototype Prototype Prototype Prototyp rototype Production Most Important to Business Most Likely to Affect Future Thinking


Okay, so how about those rules, tips and tricks?

The underlying data structure ...


The underlying data structure should NOT define the user interface.

Windows Form



Not typically aoffirst rule right?


· Not typically aoffirst rule right? but you're a bunch engineers, · Engineers think in terms of efficient storage & retrieval. · Should not be required to grok the data structure to be productive.

Screenshot



corollary


corollary The user interface should NOT define the underlying data structure.

Consider UI / data separately


· Consider UI / data separately · Be mindful of both · Often good UI uses a transform layer · UI-only services with separate cache

Need must proceed technology


Need must proceed technology.

Technology is a means to an end


· Technology is a means to an end. · Desktop? Mobile? Holodeck? Web? · Which flavor(s)? · Postpone platform choice until you know what you need to build. · How can you leverage shared tech?

Start the process with real use cases


Start the process with real use cases.

Why do we need the software?


· Why do we need the software? · What would be the ideal way to accomplish the intended task? equivalent process? · What is the existing zero-bits · Do we know that software can improve the existing process?

Identify distinct categories of people


Identify distinct categories of people that will be using your software.

Define personas if > 1


· Define personas if > 1 · How do they differ? · Enough significant differences to warrant a separate UI?

Think in flows, not features


Think in flows, not features.

UI is a moving, living thing


· UI is a moving, living thing. · Not a feature list or static screens · Static screen design is rarely adequate to understand scope. · People must experience your UI to form an opinion about it.

Prototype often


Prototype often. Abandon prototypes often.

If you can efficiently...


· If you can efficiently use your target platform for prototyping, great. · Don't over-commit to prototypes. · Prototypes should be built quickly, then tossed out with no regrets.

Make the next step obvious


Make the next step obvious.

Google



Form Example



Reduce the number of perceived things


Reduce the number of perceived things.

Cognitive load


· Cognitive load increases with each element on the screen this screen? · How much work is required to "win"

Perception


Perception: 1. Negative shape + aesthetics 2. Element parsing / counting 3. Tackle the first element emotional workload execute

Form



Form



Tesla



Tesla



Tesla



Leverage muscle memory


Leverage muscle memory. Be consistent.

Apple Website



Apple Website



Apple Website



Think outside the page load


Think outside the page load. If you can do stuff in-place, do it.

Antwerp/Metropolis



Google Maps



Screenshot



Use transitions to change state


Use transitions to change state.

Visual / animated transition


· Visual / animated transition between states maintains context · Person has less trouble understanding where they went and how to get back

Demo Websites



Iterate & Refine


Iterate & Refine. Iterate & Refine.

Software is only bits


· Software is only bits. · Swap out the engine out of the 747 during flight. Go ahead. · Find out what your people like / dislike. · Never break the user experience.

Provide your customers with a great experience


Provide your customers with a great experience. Don't just get the damn product shipped.

Questions?


Rules for Good UI Design rules, tips and tricks for designing an enjoyable software experience Joe Nuxoll