views:

184

answers:

4

When designing a good Web GUI what expectations can we expect from an end user?

I've come up with the following, but I wonder if there are any others which can suggest..

  • If I click on a hyperlink it will take me to another page/part of this page
  • If I tick/untick a checkbox it might alter the page state (enable/disable elements)
  • If I click on a button I expect it to do something to data.
  • If I click on a button I expect something to happen immediately (either to the current page, or for me to be taken to another page)
  • If I have clicked on a hyperlink and it has taken me to another page, I expect to be able to use the Back button to get back to the previous page in a state similar to that which I left it in
  • If I change something in a form, I can change it back to its previous value if necessary
  • Unless I click on the 'Submit' button nothing should happen to my data.
  • If I bookmark/favourite a page then it should show the same related data each time I visit it
  • If text is underlined and looks like a link, it should be a link and act as one

The reasoning behind this question is more a 'UI from hell' one. For example I have come across pages which checking a tickbox next to a record will delete it, straight away, via ajax. To me that just seems wrong, a checkbox is a toggle - something which a delete operation definitely isn't!

+7  A: 
  • If some text is underlined it shall be a link.

  • If I press the back button I shall go back to the previous page, which I will recognise as the previous page.

  • If something is happening aysnchronously it shall be obvious to me that it is in flight, and obvious when and in what state it completes.

  • If I want to expand or shrink the text size (ctrl++, ctrl+-) it shall not be at the expense of the layout.

  • I shall not be presented with a set of radio inputs where I wish to select more than one item.

  • If I want to disable Javascript or Flash I shall be allowed to do so, and still have access to the basic features of the site.

annakata
Last one is very true, however a lot of developers ignore these people.
alex
+6  A: 
  • If a form doesn't validate, I don't expect to have to retype it before trying again
  • If a control is disabled, it should be greyed out / denoted in some way
  • When I press back I expect to go back, not get thrown out of the system (bloody banking websites)
Neil Aitken
+1 for not refilling forms, and I'd go +2 if I could for the disabled grey
annakata
(although sometimes the better solution is not to display a disabled control at all)
annakata
+2  A: 

There are fundamental principles of UI design embedded in this question. I strongly recommend everyone who touches on UI design should read, at a minimum, our very own Joel's "Controlling Your Environment Makes You Happy", an article that I read some years ago that has stuck with me and is still as relevant today as it was the day it was written.

I also recommend the book "Don't Make Me Think!" as an excellent resource on the principles of good UI design, particularly on the power and importance of convention.

Your list is all about conventions.

Several comments:

  • The Back button has always been (and will probably always be as long as the Web exists) controversial. There are security and usability reasons to disable it's use. Double-submit might be an annoyance on a forum but it can be a costly error with an order to buy shares. This can be handled with other techniques (eg POST+REDIRECT+GET or overwriting the browser history) but the point remains: Back button behaviour is not always desirable let alone required;
  • Bookmarking a page and expecting the results has some merit (eg if I bookmark a quote for GOOG then I should go back there and get a current quote, not the quote I saw at the time I bookmarked, obviously) but a page result can also be costly so this may not always be appropriate.

I'll add a couple:

  • If I can click on it and it's not a button then the cursor should change to a hand when my mouse is over it;
  • Conversely, if the cursor changes to a hand, I shold be able to click on it and it'll do something; and
  • If there's a box containing some text that has a border and it looks like a text element on a form, then I should be able to type in it unless it indicates that it is "read-only" or "disabled" (eg by greying it out).
cletus
I agree that there are times where back button / reposting is unwanted but most sites fudge the handling of it. Banking sites are notorious in that they kick you out for using back, even when nothing was submitted.
Neil Aitken
True but sometimes I think that is unintended consequences. Like some manager decides no pages should be cached for security. The result of this can be clicking back resubmits the page.
cletus
I have the 'Don't Make me Think!' book on order already - I'm glad its been recomended!
Ash
A: 

If an ad says i've won a million dollars, give me the money. If not, make the ad go away.

Arve Systad