| By Joe Winchester | Article Rating: |
|
| July 9, 2009 01:30 PM EDT | Reads: |
1,638 |
In Jef Raskin's excellent book, The Humane User Interface, he discusses how the human brain is able to perform many tasks simultaneously while only having the ability to focus on one conscious thought at a time. Being able to process information and analyze it intelligently is crucial to our ability to solve problems, but once we have learned how to deal with a particular situation, just as vital is our ability to remember and recall the response without thinking. This allows us to drive a car while thinking about what we're going to have for dinner that evening. If, on said journey, an unexpected situation does occur, it's important that the brain recognizes it as such, pages out the pictures of seared sea bass, tasking the conscious high-priority brain to analyze and react to ensure we don't cause an accident. This process by which conscious though is relegated to subconscious processing is known as habituation and is important to GUI design for a number of reasons.
Users don't want to think about your application - they want to use it without engaging their conscious brain. An example is when a dialog appears, it means they have to stop their thoughts of dessert choices, so their reaction is based around thinking as little about whatever the dialog is asking
them, and to move back to subconscious operation of the software as quickly as possible. Wizards fall especially foul of this when they gray out finish buttons until a minimum amount of information has been completed. All the user will do is enter whatever it takes to get the "Take me back to day-dreaming-Finish" button enabled, causing bogus values in entry fields, next pages with potentially important information that won't get visited, and so forth. A problem all dialogs suffer from is that since they are separate windows covering the original application, they are obscuring information (possibly modally) and the user's natural desire is to get rid of them by dismissing them.
The other problem with habituation is that whatever technique is used to try to grab the user's conscious brain will eventually become relegated to subconscious processing when done a number of times. An example of this is the ubiquitous "Are you sure? Yes/No" pop-up. Users get asked this so many times that pressing "Yes" is the default response whatever the question; so developers, when trying to ensure the user really does read the question because something irreversible is about to happen, play tricks like swapping the "Yes" and "No" buttons and changing which one is the default. Web sites that solicit e-mails often use this trick to keep you awake with two questions, both of which are asking whether you want to receive spam from them, one of which must be checked and the other unchecked; however, without reading them in detail you run the risk of being double spammed, hence you're kept awake and might read the rest of the gubbins the site is pushing.
The whole process by which users learn and operate software and whether subconsciously learned actions or conscious interrupted responses are being used is a topic that I think we don't pay enough attention to when designing user interfaces, and is responsible for a very high rate of so-called "computer errors," which often is a euphemism for incorrect operation. The basic assumption for any user interface should be to ask as little information as possible, to not ask questions (Jef Ruskin believes strongly in this and in having everything undoable so even if bad things happen, Ctrl+Z always undoes them), and to avoid dialogs altogether.
Published July 9, 2009 Reads 1,638
Copyright © 2009 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Joe Winchester
Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.
![]() |
JulesLt 07/10/09 04:28:00 AM EDT | |||
I know you're suggesting modal dialog boxes are bad altogether, but a good recommendation (generally adhered to on OS X, but also backed by Joel Spolsky's User Interface Design for Developers) is that rather than Yes/No and OK/Cancel, dialog box buttons should always be verbs - Delete/Cancel, Save/Cancel. This avoids needing to read a sentence to understand what the button may do. But you are right - I like the idea of a system where you never 'save' and can always 'undo' - I think Etoile looks really interesting in that respect. |
||||
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Performance Tuning Essentials for Java
- It's the Java vs. C++ Shootout Revisited!
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- My Thoughts on Ulitzer
- Oracle-Sun: IBM Reportedly Behind Delay
- Ulitzer Live! New Media Conference & Expo
- Ulitzer Aid Campaign for the Typhoon Ondoy Victims
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Cloud Computing Journal Opens "Readers' Choice Awards" Nominations
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Performance Tuning Essentials for Java
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- Confessions of a Ulitzer Addict
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?




































