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

"Akvelon is a software development company and we also provide consultancy services to folks who are...
More and more brands have jumped on the IoT bandwagon. We have an excess of wearables – activity tra...
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-O...
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it r...
The taxi industry never saw Uber coming. Startups are a threat to incumbents like never before, and ...
The next XaaS is CICDaaS. Why? Because CICD saves developers a huge amount of time. CD is an especia...
One of the biggest challenges with adopting a DevOps mentality is: new applications are easily adapt...
We are seeing a major migration of enterprises applications to the cloud. As cloud and business use ...
HyperConvergence came to market with the objective of being simple, flexible and to help drive down ...
Deep learning has been very successful in social sciences and specially areas where there is a lot o...
In his session at 21st Cloud Expo, James Henry, Co-CEO/CTO of Calgary Scientific Inc., introduced yo...
For better or worse, DevOps has gone mainstream. All doubt was removed when IBM and HP threw up thei...
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking q...
Containers are rapidly finding their way into enterprise data centers, but change is difficult. How ...
I think DevOps is now a rambunctious teenager - it's starting to get a mind of its own, wanting to g...
"MobiDev is a software development company and we do complex, custom software development for everyb...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applicatio...
Learn how to solve the problem of keeping files in sync between multiple Docker containers. In his ...
Creating replica copies to tolerate a certain number of failures is easy, but very expensive at clou...
"This week we're really focusing on scalability, asset preservation and how do you back up to the cl...