9.7 things every programmer should know about user experience

103
9.7 Things Every Programmer Should Know About User Experience [email protected] 1 Tuesday, March 9, 2010

Upload: devnexus

Post on 28-Jan-2015

116 views

Category:

Documents


7 download

DESCRIPTION

The success of Web 2.0 and the popularity of mobile applications has revealed an important fact. Having an engaging or otherwise compelling user experience is critical to an application's success. Given a choice, people will replace an application they find difficult to use with something that's easier; even if the replacement doesn't do everything the original did. Some businesses bring in professional User Experience Designers in an attempt to deal with this issue. The problem is that most designers don't actually write code, and running code is the key factor in determining what kind of user experience your customers have.That's why it is critical that you understand the principles and fundamentals presented in this talk. You'll leave with a better handle on what user experience is, and what you can do to ensure your application delivers the best possible user experience to your customers

TRANSCRIPT

Page 1: 9.7 Things Every Programmer Should Know About User Experience

9.7 ThingsEvery Programmer Should KnowAbout User Experience

[email protected]

1Tuesday, March 9, 2010

Page 2: 9.7 Things Every Programmer Should Know About User Experience

2Tuesday, March 9, 2010

Page 3: 9.7 Things Every Programmer Should Know About User Experience

3Tuesday, March 9, 2010

Page 4: 9.7 Things Every Programmer Should Know About User Experience

• Programmer / Software Architect /Fan of User Experience Design

• Speaker JavaOne 2008 Atlanta IT Architect Regional Conference - IASA 2007, 2009, and 2010 DevNexus 2010

• Author “97 Things Every Programmer Should Know” - 2010 “97 Things Every Software Architect Should Know” - 2009 “User Experience: The Hidden Art Everyone Sees” - IASA 2007 “Mind Like A Sword” - blog at mindlikeasword.blogger.com

Who am I?

4Tuesday, March 9, 2010

Page 5: 9.7 Things Every Programmer Should Know About User Experience

5Tuesday, March 9, 2010

Page 6: 9.7 Things Every Programmer Should Know About User Experience

Who are you?(A) User Experience Designer?

(B) Architect?

(C) Programmer?

(D) Other?

6Tuesday, March 9, 2010

Page 7: 9.7 Things Every Programmer Should Know About User Experience

THE FOLLOWING TALK HAS BEEN APPROVED FORTHIS AUDIENCE

BY YOUR ATTENDANCE, WHICH IMPLIES CONSENT

THE FOLLOWING TALK HAS BEEN APPROVED FORTHIS AUDIENCE

BY YOUR ATTENDANCE, WHICH IMPLIES CONSENT

mindlikeasword.blogger.com [email protected] [email protected]

7Tuesday, March 9, 2010

Page 8: 9.7 Things Every Programmer Should Know About User Experience

8Tuesday, March 9, 2010

Page 9: 9.7 Things Every Programmer Should Know About User Experience

You have been warned!

9Tuesday, March 9, 2010

Page 10: 9.7 Things Every Programmer Should Know About User Experience

There is always a user experience.

Thing to Know #1

10Tuesday, March 9, 2010

Page 11: 9.7 Things Every Programmer Should Know About User Experience

What is “user experience”?

11Tuesday, March 9, 2010

Page 12: 9.7 Things Every Programmer Should Know About User Experience

User experience describes how people feel when they use your product.

12Tuesday, March 9, 2010

Page 13: 9.7 Things Every Programmer Should Know About User Experience

User experience is subjective and may change over time.

Thing to Know #2

13Tuesday, March 9, 2010

Page 14: 9.7 Things Every Programmer Should Know About User Experience

What is user experience design?

14Tuesday, March 9, 2010

Page 15: 9.7 Things Every Programmer Should Know About User Experience

User experience design is about designing things consciously, and not just letting things happen.

15Tuesday, March 9, 2010

Page 16: 9.7 Things Every Programmer Should Know About User Experience

User experience design is a process not a step. The goal is making things simple and pleasurable for the user.

Thing to Know #3

16Tuesday, March 9, 2010

Page 17: 9.7 Things Every Programmer Should Know About User Experience

Why is it important?

17Tuesday, March 9, 2010

Page 18: 9.7 Things Every Programmer Should Know About User Experience

There is always a user experience.

“Third Base”

18Tuesday, March 9, 2010

Page 19: 9.7 Things Every Programmer Should Know About User Experience

User experience is a key to the success, or

failure of your product.

Thing to Know #4

19Tuesday, March 9, 2010

Page 20: 9.7 Things Every Programmer Should Know About User Experience

“Attractive things work better.”

from “Emotional Design” by Donald Norman

20Tuesday, March 9, 2010

Page 21: 9.7 Things Every Programmer Should Know About User Experience

Really?

21Tuesday, March 9, 2010

Page 22: 9.7 Things Every Programmer Should Know About User Experience

iPhone Ocarina

$1 Million in 6 months!

22Tuesday, March 9, 2010

Page 23: 9.7 Things Every Programmer Should Know About User Experience

23Tuesday, March 9, 2010

Page 24: 9.7 Things Every Programmer Should Know About User Experience

24Tuesday, March 9, 2010

Page 25: 9.7 Things Every Programmer Should Know About User Experience

“Make the screen five inches by eight inches and you’ll rule the world.”

Alan Kay about the iPhone

25Tuesday, March 9, 2010

Page 26: 9.7 Things Every Programmer Should Know About User Experience

26Tuesday, March 9, 2010

Page 27: 9.7 Things Every Programmer Should Know About User Experience

How much is a button worth?

Real-World Example 1

27Tuesday, March 9, 2010

Page 28: 9.7 Things Every Programmer Should Know About User Experience

Would you believe$300 Million?

28Tuesday, March 9, 2010

Page 29: 9.7 Things Every Programmer Should Know About User Experience

http://www.uie.com/articles/three_hund_million_button

29Tuesday, March 9, 2010

Page 30: 9.7 Things Every Programmer Should Know About User Experience

http://www.uie.com/articles/three_hund_million_button

30Tuesday, March 9, 2010

Page 31: 9.7 Things Every Programmer Should Know About User Experience

Why should you care?“Because caring about things like beauty makes us better programmers and engineers. We make better things. Things that aren't just functional, but easy to read, elegantly maintainable, easier--and more joyful--to use, and sometimes flat-out sexy. A passion for aesthetics can mean the difference between code that others enjoy working on vs. code that's stressful to look at.”

Kathy Sierra - Creating Passionate Users

31Tuesday, March 9, 2010

Page 32: 9.7 Things Every Programmer Should Know About User Experience

Who are you?(A) User Experience Designer?

(B) Architect?

(C) Programmer?

The answer isn’t A, B, or C.It’s A and B, or A and C.

32Tuesday, March 9, 2010

Page 33: 9.7 Things Every Programmer Should Know About User Experience

You are a user experience designer.

Thing to Know #5

33Tuesday, March 9, 2010

Page 34: 9.7 Things Every Programmer Should Know About User Experience

How do we design compelling/great/positive user experiences?

34Tuesday, March 9, 2010

Page 35: 9.7 Things Every Programmer Should Know About User Experience

Things to Know #6

More interactivity is better than less.

35Tuesday, March 9, 2010

Page 36: 9.7 Things Every Programmer Should Know About User Experience

WiFi at Starbucks

36Tuesday, March 9, 2010

Page 37: 9.7 Things Every Programmer Should Know About User Experience

37Tuesday, March 9, 2010

Page 38: 9.7 Things Every Programmer Should Know About User Experience

38Tuesday, March 9, 2010

Page 39: 9.7 Things Every Programmer Should Know About User Experience

39Tuesday, March 9, 2010

Page 40: 9.7 Things Every Programmer Should Know About User Experience

40Tuesday, March 9, 2010

Page 41: 9.7 Things Every Programmer Should Know About User Experience

41Tuesday, March 9, 2010

Page 42: 9.7 Things Every Programmer Should Know About User Experience

42Tuesday, March 9, 2010

Page 43: 9.7 Things Every Programmer Should Know About User Experience

43Tuesday, March 9, 2010

Page 44: 9.7 Things Every Programmer Should Know About User Experience

44Tuesday, March 9, 2010

Page 45: 9.7 Things Every Programmer Should Know About User Experience

45Tuesday, March 9, 2010

Page 46: 9.7 Things Every Programmer Should Know About User Experience

46Tuesday, March 9, 2010

Page 47: 9.7 Things Every Programmer Should Know About User Experience

47Tuesday, March 9, 2010

Page 48: 9.7 Things Every Programmer Should Know About User Experience

48Tuesday, March 9, 2010

Page 49: 9.7 Things Every Programmer Should Know About User Experience

49Tuesday, March 9, 2010

Page 50: 9.7 Things Every Programmer Should Know About User Experience

50Tuesday, March 9, 2010

Page 51: 9.7 Things Every Programmer Should Know About User Experience

51Tuesday, March 9, 2010

Page 52: 9.7 Things Every Programmer Should Know About User Experience

52Tuesday, March 9, 2010

Page 53: 9.7 Things Every Programmer Should Know About User Experience

53Tuesday, March 9, 2010

Page 54: 9.7 Things Every Programmer Should Know About User Experience

54Tuesday, March 9, 2010

Page 55: 9.7 Things Every Programmer Should Know About User Experience

Dealing with the Dentist

55Tuesday, March 9, 2010

Page 56: 9.7 Things Every Programmer Should Know About User Experience

56Tuesday, March 9, 2010

Page 57: 9.7 Things Every Programmer Should Know About User Experience

57Tuesday, March 9, 2010

Page 58: 9.7 Things Every Programmer Should Know About User Experience

58Tuesday, March 9, 2010

Page 59: 9.7 Things Every Programmer Should Know About User Experience

59Tuesday, March 9, 2010

Page 60: 9.7 Things Every Programmer Should Know About User Experience

60Tuesday, March 9, 2010

Page 61: 9.7 Things Every Programmer Should Know About User Experience

61Tuesday, March 9, 2010

Page 62: 9.7 Things Every Programmer Should Know About User Experience

62Tuesday, March 9, 2010

Page 63: 9.7 Things Every Programmer Should Know About User Experience

63Tuesday, March 9, 2010

Page 64: 9.7 Things Every Programmer Should Know About User Experience

64Tuesday, March 9, 2010

Page 65: 9.7 Things Every Programmer Should Know About User Experience

Which one wouldyou rather use?

65Tuesday, March 9, 2010

Page 66: 9.7 Things Every Programmer Should Know About User Experience

Thing to Know #7

Test Driven Development is a user experience tool.

66Tuesday, March 9, 2010

Page 67: 9.7 Things Every Programmer Should Know About User Experience

Ever been in a code review?

67Tuesday, March 9, 2010

Page 68: 9.7 Things Every Programmer Should Know About User Experience

Look at things from your user’s point of view.

68Tuesday, March 9, 2010

Page 69: 9.7 Things Every Programmer Should Know About User Experience

People

Interface

Data

From “Designing the obvious”

69Tuesday, March 9, 2010

Page 70: 9.7 Things Every Programmer Should Know About User Experience

Use Interface

Interface

Business Logicand Data

70Tuesday, March 9, 2010

Page 71: 9.7 Things Every Programmer Should Know About User Experience

UserInterface

Interface

Business Logicand Data

71Tuesday, March 9, 2010

Page 72: 9.7 Things Every Programmer Should Know About User Experience

UserInterface

72Tuesday, March 9, 2010

Page 73: 9.7 Things Every Programmer Should Know About User Experience

Things to Know #8

User Interface != User Experience

73Tuesday, March 9, 2010

Page 74: 9.7 Things Every Programmer Should Know About User Experience

Your user’s mental model is a key to success.

Things to Know #9

74Tuesday, March 9, 2010

Page 75: 9.7 Things Every Programmer Should Know About User Experience

75Tuesday, March 9, 2010

Page 76: 9.7 Things Every Programmer Should Know About User Experience

Duke’s Bank: JEE Tutorial

Swing App talks to Controllers. Controllers talk to entities.Each Account must have at least one Customer

76Tuesday, March 9, 2010

Page 77: 9.7 Things Every Programmer Should Know About User Experience

77Tuesday, March 9, 2010

Page 78: 9.7 Things Every Programmer Should Know About User Experience

78Tuesday, March 9, 2010

Page 79: 9.7 Things Every Programmer Should Know About User Experience

Duke’s Bank: Redone

79Tuesday, March 9, 2010

Page 80: 9.7 Things Every Programmer Should Know About User Experience

80Tuesday, March 9, 2010

Page 81: 9.7 Things Every Programmer Should Know About User Experience

81Tuesday, March 9, 2010

Page 82: 9.7 Things Every Programmer Should Know About User Experience

Things to Know #9.7

This is just the beginning.

82Tuesday, March 9, 2010

Page 83: 9.7 Things Every Programmer Should Know About User Experience

From “Creating Passionate Users”

83Tuesday, March 9, 2010

Page 84: 9.7 Things Every Programmer Should Know About User Experience

84Tuesday, March 9, 2010

Page 85: 9.7 Things Every Programmer Should Know About User Experience

Confession / Test

This talk has been a user experience.

85Tuesday, March 9, 2010

Page 86: 9.7 Things Every Programmer Should Know About User Experience

How to craft a User Experience

From “Passionate User’s” blog by Kathy Sierra86Tuesday, March 9, 2010

Page 87: 9.7 Things Every Programmer Should Know About User Experience

Resources

• “Creating Passionate Users” - Kathy Sierra

• Podcasts:pixel8 : What makes great user experiences?dConstruct 2006, 2007UX WeekAdaptive Path

• Search the web for UX or UX Design

87Tuesday, March 9, 2010

Page 88: 9.7 Things Every Programmer Should Know About User Experience

Resources

88Tuesday, March 9, 2010

Page 89: 9.7 Things Every Programmer Should Know About User Experience

Resources

89Tuesday, March 9, 2010

Page 90: 9.7 Things Every Programmer Should Know About User Experience

Resources

90Tuesday, March 9, 2010

Page 91: 9.7 Things Every Programmer Should Know About User Experience

Resources

91Tuesday, March 9, 2010

Page 92: 9.7 Things Every Programmer Should Know About User Experience

Resources

92Tuesday, March 9, 2010

Page 93: 9.7 Things Every Programmer Should Know About User Experience

Contact me at:[email protected]

93Tuesday, March 9, 2010

Page 94: 9.7 Things Every Programmer Should Know About User Experience

Contact me at:[email protected]

94Tuesday, March 9, 2010

Page 95: 9.7 Things Every Programmer Should Know About User Experience

95Tuesday, March 9, 2010

Page 96: 9.7 Things Every Programmer Should Know About User Experience

Make it easy to do the right thing, and hard to do the wrong thing.

96Tuesday, March 9, 2010

Page 97: 9.7 Things Every Programmer Should Know About User Experience

Do you know this man?

97Tuesday, March 9, 2010

Page 98: 9.7 Things Every Programmer Should Know About User Experience

Think about the User?or

Think about the Product?

98Tuesday, March 9, 2010

Page 99: 9.7 Things Every Programmer Should Know About User Experience

Please silenceyour communication

devices.

Thank you

99Tuesday, March 9, 2010

Page 100: 9.7 Things Every Programmer Should Know About User Experience

“Once you start down the dark path,forever will it dominate your destiny.”

- Master Yoda

100Tuesday, March 9, 2010

Page 101: 9.7 Things Every Programmer Should Know About User Experience

You may be a User Experience Designer

• Ever design a web page or a GUI?

• Ever design an APIor a class someone else used?

101Tuesday, March 9, 2010

Page 102: 9.7 Things Every Programmer Should Know About User Experience

You may be a User Experience Designer

• Ever had your code reviewed?

102Tuesday, March 9, 2010

Page 103: 9.7 Things Every Programmer Should Know About User Experience

103Tuesday, March 9, 2010