Chapter 1: The UUI - The Useable User Interface


Overview

And to think, the day had been going so well for me. I got up on time, I ate a healthy breakfast, the mail came early, the birds were singing, and the day was perfect. That is, it was perfect, until it happened.

What happened? The software that had long been my friend decided to try my patience one more time, and my head came very close to exploding. In desperation I looked to the sky and saw a few sprinklings of clouds as they started to turn gray, bragging of the looming thunderstorm they were about to bring.

You’ve probably had days like this. Think about the software you use on a daily basis. Can you think of anything that you don’t like about it? Can you think of things that just go wrong when you use it? Or maybe you just have a list of annoyances about the software.

Without naming names, here’s a list of my complaints about the software program I was using:

  • I clicked the wrong menu item and a dialog box I wasn’t interested in opened. That’s fine (my mistake), but when I pressed Esc, the dialog box didn’t go away. It just stayed there, grinning at me, taunting me, daring me to click the Cancel button.

  • The buttons have a strange look about them and the program ignores the colors and themes that I have chosen for my Windows XP computer. While this doesn’t really change the useability of the software, it does make it a tad bit more annoying.

  • Some of the buttons do not respond to the keyboard. You must click them with the mouse. (Others do respond to the keyboard.)

  • Various child windows (that is, smaller windows that are part of the program) open unexpectedly, without me manually opening them. And these child windows have buttons. If I happen to be typing into a different child window, and just by chance I hit the spacebar, that window that opened will receive the spacebar and interpret me as clicking its default button. (Wouldn’t you know, these buttons do respond to the keyboard.)

  • When I start up the software, I have to waitand waitand wait before it does anything. Worse, during this time, my whole computer seems to slow way down.

  • This software has the ability to communicate over the Internet. I have a cable modem, but once I accidentally chose the modem option. I don’t have a phone cable hooked to my computer. And so I had to waitand waitand wait until the software figured out the dial tone was not present.

  • While using a dialog box, I pressed Tab to get to another control in the dialog box. The focus, however, switched not to the control I expected. Pressing Tab over and over, I saw the focus go in a very strange order throughout the dialog box.

  • At one point the program let me type in a few paragraphs. After doing so, I wanted to edit the text a bit. I clicked on some text in the middle. Then, as I tried to use keyboard commands to select the text, I held down the Shift key and pressed the right-arrow key while holding down Ctrl to select some text word-by-word. (So far so good.) I went too far, so, while still holding down Ctrl, I pressed left-arrow. But instead of unselecting the rightmost word, the selection expanded to the left from where I began. This is not standard.

All this was just one program. Now here are some things I ran into with some other programs on that very same fateful day:

  • I clicked the close button, and a small dialog box opened asking if I was sure I wanted to quit. I accidentally clicked back on the main windowand the small dialog box vanished. I could continue using the program as if I had not clicked the close button. But when I moved the main window, I could see that the dialog box was still there. It had just gone in back and was hiding.

  • One program I use occasionally decides it has to do some figuring or calculating or something (I honestly don’t know what it is doing), and it slows my whole computer to a crawl. It’s not a good software neighbor. (It probably does what is called a tight loop, which is a topic I mention in Chapter 8, “Under the Hood.”

  • And then consider this example: A friend of mine was typing a long e-mail message using one of the free Internet e-mail servers. She clicked Send, and something went awry on the Internet and she got the infamous “Cannot find server” message. She clicked back. The message “Page has expired” came up. Her e-mail message? Gone forever. (I encouraged her to always press Ctrl+A and then Ctrl+C to select all the text and copy it to the clipboard just in case.)

These are just a few items for you to think about. I’m sure you’ve created in your mind your own list of frustrations. You are, after all, a user of a computer as much as you are a programmer. In the sections that follow I talk about ways you can keep your software from being frustrating.

So first, let me present my Golden Rule of Software:

RULE

Make it invisible. The user’s mind can focus on either the work the user is trying to accomplish or the software itself. The moment the user focuses on the software itself is the moment she stops thinking about her work and starts to become frustrated with your software. Suppose you’re expecting a phone call regarding a possible six-figure job. The phone rings, and you go answer it. Easy. But what if when you answer the phone, you are startled to hear a voice say, “This is your telephone speaking. I have encountered a software error. Please retype your password before accepting the incoming call.” Can you say blood pressure medicine? I think you get the point. You want the phone to be invisible so you can just use it and focus on the real task of talking on the phone. Same with your software. The user has a job to perform and doesn’t want to have to worry about your software because it functions poorly.




Designing Highly Useable Software
Designing Highly Useable Software
ISBN: 0782143016
EAN: 2147483647
Year: 2003
Pages: 114

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net