Warning: Declaration of Thesis_Comment::start_lvl(&$output, $depth, $args) should be compatible with Walker::start_lvl(&$output, $depth = 0, $args = Array) in /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/functions/comments.php on line 0

Warning: Declaration of Thesis_Comment::end_lvl(&$output, $depth, $args) should be compatible with Walker::end_lvl(&$output, $depth = 0, $args = Array) in /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/functions/comments.php on line 0

Warning: Declaration of Thesis_Comment::start_el(&$output, $comment, $depth, $args) should be compatible with Walker::start_el(&$output, $object, $depth = 0, $args = Array, $current_object_id = 0) in /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/functions/comments.php on line 0

Warning: Declaration of Thesis_Comment::end_el(&$output, $comment, $depth, $args) should be compatible with Walker::end_el(&$output, $object, $depth = 0, $args = Array) in /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/functions/comments.php on line 0


by Zack on July 25, 2009


Aza Raskin echoed the words of his father when he wrote Never Use a Warning When you Mean Undo. The basic idea is Are you sure? style warning dialogs don’t work. After a while you stop reading the dialog and just click yes. Ideally everything would be undoable and we would never need to ask are you sure.


Some actions are permanent and cannot be undone. Would you like to reformat your hard drive? In those cases Jef Raskin (Aza’s dad) suggests you prompt the user in a way that makes sure they read the dialog. To reformat your hard drive type REFORMAT and press OK. This type of draconian interface works well for tasks that are seldom used and cause you to lose your data, but they are too heavy-handed for everyday tasks.

On the web many actions reach out to remote servers that don’t support undo. We should get better about undoing some of them —Are you sure you want to leave this page before saving your data?— others —Spell checking isn’t complete. Are you sure you want to send this email?— really can’t be undone. In those cases you need to let the user know what is happening, but prompting them falls victim to the miasma of messages inundating us in the digital medium. The solution is integrated messages.

Integrated messages

We are all familiar with the red squiggly lines under mispleled words. They let us know what is going on while we are working and without interrupting us. They also make it easy to scan; take a quick glance at your document and you’ll know if it has any misspellings.


Anyone familiar with Twitter has seen the integrated character count that tells you when your message is too long. These types of integrated messages let you avoid surprising the user. Surprises are inherently difficult in computer software because we tend to ignore them.

We tend to ignore surprises.

There are big surprises —a tiger jumping out at you— that we can’t ignore and there are little surprises —a car alarm going off, an extra light on your car dashboard, and dialogs popping up and asking you questions— that we always ignore. Those surprises are annoyances and we want to be rid of them as soon as possible. When software surprises you it is almost always a little annoyance.

Integrating messages avoids surprising people. Imagine if Twitter didn’t show you the character count and just popped up warnings when you tried to send your message. A little usability problem like that might have been enough to make Twitter fail.

A few examples

The beauty of integrated messages is that you aren’t limited to the same old user interactions. There are many ways to get creative. But there are also some golden oldies with a lot of life still left in them.

Decorate text. When your user is typing something changing the way their text looks is a simple way of drawing their attention.

Decorate icons . You can also add decoration to icons. A little error flag can go a long way.

Add running counters like Twitter’s character count. They let the user know what is happening without disrupting them or risking habituation.

Changing colors works very well with form fields. Dynamically changing the background of a field to red instantly tells your user that something is wrong. Integrated messages don’t have to tell you everything. Alerting the user that something is wrong without interrupting them is enough.

These are just a few mechanisms for integrated messages. You can get really creative with them. What about a field that vibrates when it need attention? Or a blue sky background that get progressively cloudy with every misspelling? What are some of the creative ways you integrate your messages?

Fatal error: Uncaught Error: Class 'thesis_comments' not found in /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/comments.php:24 Stack trace: #0 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-includes/comment-template.php(1508): require() #1 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/functions/loop.php(92): comments_template() #2 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/functions/loop.php(8): thesis_single_loop() #3 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/html/content_box.php(66): thesis_loop_posts() #4 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/html/content_box.php(42): thesis_content_column() #5 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/html/content_box.php(25): thesis_columns() #6 /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/lib/html/frameworks.php(27): in /nfs/c04/h03/mnt/66302/domains/gettheeye.com/html/wp-content/themes/thesis_16/comments.php on line 24