Re: UI design [was Owen Taylor's paper]

Justin Moore <[email protected]>
Newsgroups gmane.linux.redhat.release.limbo
Message-ID <[email protected]>
   This e-mail is probably against my better judgement, but oh well ... :)

> >    If you automatically block them, how do you even know what they have
> > to say?  How do you know whether or not they're important?  And what a
> > plasma physicist may find unimportant, my Great Aunt Tillie might really
> > need to know.
>
> yep your aunt might want to see pop up ads....I certainly don't.

   Apparently I needed some <devils_advocate> tags around that block. ;p

> And like I said..if you are trying to ignore things instead of reading
> them...you shouldn't be seeing them to begin with. And in fact a
> little inconsistancy in interface helps make people read the
> information...its part of what webads call "stickiness". And
> "important" dialog boxes...like "warning: about to start WWIII" should
> use measured amounts of UI inconsistancy to make people stop and think
> before clicking without thinking.

   I agree that important dialogs should stand out and say "Your system
will EXPLODE if you hit ENTER [ BZZT BZZT BZZT!!! ]", but why should
three nearly-identical web browsers have three different arrangements of
Menu Bars or placements of "Continue/Cancel" and "Yes/No"?

   Real-life example: I have my browser notify me when a server offers
me a cookie.  I do this to find out when weird sites sneak through my
junkbuster proxy and try to set "give_him_hot_pr0n=1".  Fortunately the
browsers I use all have consistent placement of "Accept/Reject" boxes.
What if new browser WebFoo comes along using the {gtk2,qt3} toolkit, but
reverses this?  Give me one reason why it's a Good Thing for them to use
a standard toolkit but nonstandard dialogs for common tasks like this.
I consider this information to be "important" in that I want to filter
out my cookies, but at the same time I want to be able to quickly and
efficiently accept/reject the cookies I do/don't want.  I can turn these
boxes on and off, but weird UI placement throws me off _for no good
reason_.

> I know this is hard to believe but thinking is actually a good thing
> to encourage in users...in human beings in general.

   Yeah, don't hurt yourself with the sarcasm there.  I *strongly*
believe in the need for people to educate themselves.  But there are
right ways and wrong ways to go about it.  Giving a user a nice app with
a consistent dialog and plenty of help documentation is the right way.
Making them paranoid and irritable at your product because you randomly
switch around standard dialogs in a nonstandard way is the wrong way.

> Take a good long look at pop ads and web services like banks and you see
> GLARINGLY HUGE inconsistencies from website to website in how things are
> organized.  Sure inside the pages of a certain organization things are
> consistent...but from website to website things are very different.  And
> yet people can navigate the web pretty handily.

   Two completely different issues.  Visiting a website is a temporary
experience, and users expect that each site will have vastly different
layout and look-n-feel.  To support that idea there are loads of visual
clues (each site has different color schemes and logos and such).  To
make two applications look 95% like each other but then have weird
differences in stupid stuff like common dialog boxes is just going to
confuse users.

   All this "keep you on your toes" approach is good if you want to
remain a niche market.  If RedHat has no interest in making a viable
desktop environment, then they can keep me on their toes all they want.
If they *do* want to gain marketshare from Joe Q. Public, they're going
to have to get their ducks in a row over even nitpicky stuff like dialog
box placement.

> You don't want to be annoyed by applications giving you unneeded
> dialog boxes...

   Agreed.

> have then come up iconified by default.

   No, have them pop up by default with something at the bottom that
says a) Click <here> to disable this dialog, b) Click <here> to save my
answer (ie, "Do you want a cookie?").  Galeon and Mozilla are good
examples of this ("Cookies on this site?").  I answer the question once
and I'm done with it, and it does what I want it to.

> Don't give people an excuse to click through on instinct...its a bad
> habit.

   Yes, don't give them an excuse to click-through, but do this through
intelligent selection of when you present dialog boxes and giving the
user control over what they want questions about.

> People don't necessarily want what is best or even good for them.  Don't
> pander to  bad habits...encourage good habits by keeping unneeded and
> unwanted dialogs out of the way. Make users believe that the dialogs
> applications are giving them actually hold information that is of import
> and relevant .  You load up applications with dumbed down wizards and
> dialogs that users can not control...and eventually they get sick of
> them becuase they are unneeded.  Don't give people unneeded information.

   Wow.  I actually agree with 100% of this paragraph.

> Consistant layout just gives people an easy means to ignore the
> information presented

   ... well, up to this part anyway.

> ...if its too much information...or useless information...the content
> needs to be fixed or there need to be user control to limit the flow
> of that noise.

   Ok, I'm back to agreeing with you.

> > We should
> > take as a given that these people are going to zip through the boxes,
> > and plan for that.
>
> No no...you should plan to give people more control over the amount and
> quality of the information the application is trying to present to them.

   That is part of "planning for it."  But what I was trying to get
through with "plan for it" was to have applications be a) robust enough
to recover from an incorrect decision or allow the user to correct it,
and b) don't randomize messages because you will lose users and
marketshare that way;

> If people don't NEED the dialogs and are not READING the dialogs...why
> in the hell do we have the dialogs there?

   Grr.  No no no.  I'm not saying all dialogs should be there, I'm
saying all dialogs should be consistent.  What is so difficult with the
concept of a nice, well-documented, logical, consistent layout, that can
be configured up the wazoo?!?  If *you* want randomized boxes, *fine*,
we'll give you tools to make your desktop fun and unpredictable in new
mind-expanding and thoughtful ways.  But _by default_, a desktop
environment is a *tool*.  Nothing more.

> > Make the buttons consistent; don't piss your users
> > off by putting a "No" box where the "Yes" box usually is and aid them in
> > "No"t saving all the changes they just made to their research paper.
>
> If you really believe button placement is MORE important than the button
> text...turn off all the labels and icons in your menus and dialogs...and
> live in a UI consistant environment...go try to have fun and see how
> much quicker you navigate in your positional consistant interface.

   [ bangs head on table ] No, I'm *not* saying it's MORE important.
Point to EVEN ONE place in my posting where I said it was more
important.  I'm saying it *is* important and can be done in tandem with
application suite improvement.

> GUI's were never designed with layout placement meant to encode
> information...layout is stylistic...not informative.

   *bzzt*, wrong.  Layout == context, context == informative.  Context
allows users to extract information from their environment and
prioritize information and decision.  If I know that my car's important
warning lights are on the right (engine check, overheating), and the
stupid stuff is on the right (ie, Saturn's "you should upshift" light),
I am going to pay more attention when a light on my right-hand-side
comes on than one on the left.  Context conveys information.

> >    Someone clicking through a dialog box without thinking is like
> > pulling a rolling stop at a Stop sign.  We all know we should stop and
> > look and double-check to see what's going on, but in reality we just
> > slow down, give it a quick glance and keep going.  That's human nature,
> > and inconsistent dialog boxes are just going to piss people off.
>
> And we have LAWS against this kind of behavior!!!!!! Should we pull the
> laws off the books..and design our traffic rules around such ignoble
> human nature?

   Grr.  No no no.  Don't pull the rules off the books, but have backup
and safety mechanisms in place for when they will be ignored!!!  Laws
and rules and "should be"s are NOT ENOUGH to ensure correct operation.
We have laws against creating accidents and speeding, but it still
happens, which is why cars are designed to be crash-resistant and
protect the passengers.

> Please you really don't want to use this argument...in fact I'm really
> disappointed in the quality of your debate.

   Personally I'm disappointed with your stooping to personal attacks on
public mailing lists, but what can I do about it? ... Oh I know!!  I'll
make a *rule* stating that people *should* be nice.  That will most
definitely fix it.

> Designing for base human nature does not build a better society...nor
> better technology.

   Yes, "designing for" base human nature is wrong.  "Designing to
withstand" base human nature is right.  Apparently the difference
escapes you.

> > The goal: Get 1 million dollars
> > Today:    You see a $20 bill sitting on the floor.
> >
> > Question: Do you pick it up?  According to you, you wait until you find
> > a check for the full amount sitting on the ground in front of you.
>
> What no....you didn't give me a choice of competing options....

   Indeed.  There outta be a law.

   I'm saying that if you've got an ambitious long-term goal (the $1M)
that will get you 100% of the way there but take 4 years to do, or a
moderate short-term goal (say, $20) that will get you partway towards
your goal and is considerably less work and time spent, which do you do?

> You analogy is not analogous to where Redhat finds itself...with a
> collection of applications with various features and maturity with
> varying UI elements.  Where are the trade-offs between the competing
> interests in your analogy?  If Redhat's gaol is to simplify the default
> desktop experience...a stronger emphasis on application features and
> maturity over UI consistancy is the better compromise in the current
> situation.

   No, if RedHat wants to simplify the desktop experience, they should
make their UI simple and consistent.  If they want to have a stable
desktop with a rich set of applications, then they should emphasize on
features and consistency.  People are more willing to put up with nice
looking crap that works most of the time than they are with
full-featured stuff that confuses them and leads to a greater chance of
lost work and time.  If they want both, they should prioritize, but they
do need to spend time on both.  And since distributions are more about
polishing and presenting existing packages in an interoperable and
user-friendly way than they are about writing desktop applications
themselves, it makes sense for them to focus on UI goodness.

> >    Yes, prioritize, but if there are people that are willing to make the
> > UI consistent, but are unable (or unwilling) to write the next great
> > Killer App (tm), don't tell them that their work is unimportant.  Just
> > because someone is spending time enforcing consistency among a(the)
> > desktop(s), doesn't mean they should drop what they're doing and start
> > working on the Whiz-Bang CPU-to-cerebellum UI hardware/software.
>
> I didn't say the work is unimportant...its just less important.

   Yes, you did say it was unimportant and even outright wrong.

    "And in fact a little inconsistency in interface helps make people
     read the information"

> And how do you enforce consistency among the desktops or among
> websites?  You can't enforce that...unless you OWN the platform and
> dictate to developers.

   ... or projects are open-source and can be modified by anyone.

> You certainly can encourage consistency but to enforce it would imply
> a level of power over others that OSS and web development just can't
> give you.

   Web development, true, OSS, false.  OSS gives you complete control.
100% So much so that recently some of the less reasonable advocates (but
not developers) of Gnome2 and KDE got their panties in a twist about
their work being changed.

Cheers.
-jdm

Department of Computer Science, Duke University, Durham, NC 27708-0129
Email:  [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.