Digital Edition

SYS-CON.TV
Dialog Boxes, Habituation, and Single Threaded Thought
Being able to process information and analyze it intelligently is crucial to our ability to solve problems

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.

About 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.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

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.




ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mis...
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objecti...
High-velocity engineering teams are applying not only continuous delivery processes, but also lesson...
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offe...
Data scientists must access high-performance computing resources across a wide-area network. To achi...
"Akvelon is a software development company and we also provide consultancy services to folks who are...
"MobiDev is a software development company and we do complex, custom software development for everyb...
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are...
"We're developing a software that is based on the cloud environment and we are providing those servi...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22n...
The question before companies today is not whether to become intelligent, it’s a question of how and...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22n...
In his session at 21st Cloud Expo, James Henry, Co-CEO/CTO of Calgary Scientific Inc., introduced yo...
While some developers care passionately about how data centers and clouds are architected, for most,...
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native a...
"NetApp is known as a data management leader but we do a lot more than just data management on-prem ...
"We're focused on how to get some of the attributes that you would expect from an Amazon, Azure, Goo...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection...
"We work around really protecting the confidentiality of information, and by doing so we've develope...