5. Your Hosts for Today's Session…
Bruce Elgort
OpenNTF Co-Founder
Taking Notes Podcast
Idea Jam
Show-N-Tell-Thursdays
Mad Drummer
Blog: www.bruceelgort.com
Contributing Editor: vowe.net
20. Subtitle:
Learn from the mistakes of others so you won't
be doomed to hear “Whatchu talkin' 'bout
Willis?” from your users!
22. A good user experience is not just nice to
have...it is a MUST HAVE
Just look at how the internet has changed our
perception as to how we look at Notes
applications and how we design them – well
maybe
24. Users are savvy, sophisticated and have little
patience for applications that waste their time
26. The aesthetic qualities of design are very much
a part of the modern application interface
Web 2.0 - they have to look nice and clean and
simple
28. Thus, it's your job as a developer to not only
write good code, but to create a...
Compelling User Experience
33. We've all had to do this, whether it's
formatting the phone number in the
expected way, making sure they enter the
customer account correctly, or validating a
social security number.
34. How to tell your users you hate them and don't trust
them to enter some numbers...
Take a look and let that sink in. Think the users liked
this app?
35. How do we fix this?
When data needs to be stored in a certain format, make sure you
handle it from a programmatic standpoint.
Don't put the effort on the user...that's why you get paid the big
bucks!
41. How do we fix this?
Clearly (in non-tech speak) state the error and direct the user
on what to do next.
Give enough detail so that support can actually help them
47. Doh! Can you say Radio Buttons?
There was all kinds of code behind this control to prevent the
user selecting more than one choice! The question is “WHY?”
49. How do we fix this?
Avoid going against established conventions.
If users expect an element to work one way and it works another,
you will quickly lose their trust.
56. How do we fix this?
When reusing any element, make sure that it fits the context of
what the user is doing.
Make the appropriate modifications to add functionality or
remove unnecessary items to keep from confusing the user.
61. There are just so many things wrong with this one…
1. I got a sunburn from the color
2. Too many choices for radio buttons
3. Why did I need a dialog box for this?
65. How do we fix this?
Color choices in an application should generally be subtle. It's
absolutely necessary to utilize complementary colors from the
same palette.
If you're not sure what a color palette is...go learn it
right after this session
79. Even Amazon got it wrong once…
Listen to Mr. Nielsen:
“Multiple rows create jumping UI elements, which destroy spatial memory
and thus make it impossible for users to remember which tabs they’ve
already visited. Also, of course, multiple rows are a sure symptom of
excessive complexity: If you need more tabs than will fit in a single row, you
need to simplify your design.”
83. How do we fix this?
Tabs are an excellent way to divide content into logical
sections, but like everything else, you can have too much
of a good thing.
Consider limiting tabs to a small set (6-8 is ideal)
88. How do we fix this?
Either hide the function from the user completely or create a
“disabled” state, where the function (button, link, etc.) is still
physically in the same place but doesn't do anything.
Based on the context, consider if you should give the user some
clues about this (via an error message or text label).
95. How do we fix this?
Unless you have a simple design that maps nicely for printing,
create a separate “printer-friendly” version of pages and forms
Remove unnecessary elements:
• Action bars
• Navigation
• Radio buttons and check boxes
• Any other UI element that is
not meant for print
consumption
105. How do we fix this?
Take great care when integrating disparate programs in a composite
application. If the UIs are not complementary, you risk disorienting
the user and making their work harder than using the apps
separately.
Creating a good UI in a composite app environment will be a
challenge and we're just really starting to explore this area. Keep an
eye on the Notes community blogs to see what people are doing.
130. How do we fix this?
Get out of the mindset that all Lotus Notes applications should look
the same and utilize a 2 or 3-pane UI
The application user interface should be designed to facilitate the
work that the user does.
Start your design by focusing on the interface first and let the UI be
driven by user needs
136. What Happened Next
I called customer service (expensive for me in terms of
time...expensive for them in terms of support costs)
Told that the field expected 7 characters (put a zero in front)!
Told to replace the first alpha character with a zero!
138. How do we fix this?
Avoid the need to use voodoo rituals in the first place by coding
your application appropriately.
If you can't avoid the situation, provide clear, detailed, simple
instructions on what is required
Your user's time is their most precious asset. Don't abuse it!
141. How do we fix this?
Get rid of the Admins!?
Administrators DO NOT have the final say in application functionality!
Repeat this mantra: BUSINESS drives APPS, APPS drive Infrastructure
If you are doing it any other way, it's time to make a change...
142. How do we fix this?
Get rid of the Admins!?
Administrators DO NOT have the final say in application functionality!
Repeat this mantra: BUSINESS drives APPS, APPS drive Infrastructure
If you are doing it any other way, it's time to make a change...
145. A very common mistake...
Wasting precious screen real estate with graphics
that don't add to the functionality of the application
And watch out for those background too!
147. How do we fix this?
Make sure features have a definite purpose for being on the screen.
A little decoration is often a good thing to add but not when it
hinders usability.
Also be aware of readability. Your app should be easy on the
eyes, especially for older users.
Tip: Learn about the proper use of whitespace
152. How do we fix this?
If you use an About document and want it to appear when users are new,
invest the time to make it as attractive and useful as the rest of your application.
159. How do we fix this?
If you use features that do not offer any affordances (obvious clues
that let you know what something does), you need to provide users
with clear and direct instructions.
If possible, don't include ambiguous functionality at all. Make
features simple and easy to use.
Here's a good litmus test...
“Is this easy enough that my grandma could do it?”
162. What Can You Take Away?
All of the things we talked about today were UI constructs that
violated some established practices around the user experience.
These practices are the fundamental principles of UI design
164. Keep the fundamentals in mind
In their book “Software for Use”, Larry Constantine and Lucy Lockwood introduce the
six fundamental principles of UI design:
1. The structure principle
2. The simplicity principle
3. The visibility principle
4. The feedback principle
5. The tolerance principle
6. The reuse principle
165. The Structure Principle
The user interface design and layout should have a logical
structure
Organize related information and keep unrelated
information separated
This principle deals with the overall architecture...
Is it clear, concise and cohesive?
166. The Simplicity Principle
The UI should be simple and easy to use. Your users
should be able to figure out common tasks without
help
Focus on simple language...avoid tech talk
Long procedures should be broken into shorter tasks
and have good shortcuts
Simplicity
167. The Visibility Principle
Keep your UI uncluttered and show the user what
they need when they need it...no more!
Don't overwhelm the user with unneeded features or
too many choices
168. The Feedback Principle
Let your users know what is going on...keep them
informed of changes in state, relevant errors, etc.
169. The Tolerance Principle
Your application should be forgiving of user errors and flexible
enough to mitigate problems (allowing undo, rollback, etc.).
Your application should prevent errors as much as possible in the
first place by being tolerant of user input
This is the polar opposite of tolerance!
170. The Reuse Principle
Your application should reuse components and behaviors when
possible and be consistent with user expectations, reducing the
need for users to relearn or remember.