USER INTERFACE DESIGN

swapnil's picture

Today computers are a widely used business tool, there are literally millions of computer users. Almost all businesses use computers in some form or another to make them productive and help them succeed in a competitive world.

There are several business applications that have been designed to fit specific business models. These computer based, business applications, definitely bring a measurable return to the business in which they are run. Banking, Accounting, Inventory, Management Information System, Knowledge Management Systems and so on are examples of everyday business applications being run on computers.

All applications can be distilled down to two unique sections. The first section captures information and the second section stores such captured information.

In the business world, there are two types of people those who use computers to create business applications and those who use these business applications.

Strangely, it appears that these two types of people come from two totally different worlds. Quite like the catch phrase "Women are from Venus and Men are from Mars". Yet one cannot do with out the other.

Techies, as the application developers like to call themselves seem to have little or no understanding about people who actually use their applications. They are always of the opinion that whatever they create is just perfect and must be used without compliant. Whereas, users of commercial applications always seem to be cribbing that the application never quite takes there needs into account.

There was a time, when computers were huge complicated devices, which required not only massive amounts of electricity, but also the constant attention of specialized people known as users. Back then, if you wanted to become a computer user, you first got yourself a lab coat, then set about a course of study of the black arts of computerdom - learning the commands, codes and recitations needed to make the computer do the things you wanted.

But even in those computer dark ages, there were people who believed that computers should be usable by regular people. An increasing amount of research, including the work at SRI in the 1960s, and later a Xerox Corporation’s Palo Alto Research Center (PARC) was based on this idea.

Innovations such as the mouse, windows, and the desktop environment made it possible to manipulate the computer without remembering and typing character based commands. Familiar desktop elements such as a menu bar, dialog boxes, the trash can and so on, permitted computers to be useable by a wide variety of users (including a few that didn’t even wear lab coats and look like nerds).

The designers of the Apple Macintosh were part of a culture that believed passionately in the importance of good user interface design. In order to pass on their ideas to people outside the immediate human interface community, they struck upon the idea of creating a set of human interface guidelines spelling out the exact way that the various interface elements worked. These guidelines covered everything from the way objects on the screen appear when selected, to the proper command key equivalents to be used for standard menu items.

The most important part of the guidelines, however, was not the directory of interface widgets and gadgets. It was the list of design principles, which they believed lay at the heart of any good graphical user interface. As it turns out, these principles apply no matter whether you are working on a Sun SPARCstation or an Apple Power Macintosh computer. The reason is that most of these principles work on the human abilities and psychology rather than the rules of one platform or another. The following is a list of 10 basic principles that drove the design of Apple's Macintosh. Similar lists appear in the user interface development guidelines for Windows, OS/2, and other major user interfaces.

The principles of User Interface design have been listed below:
Consistency:
Things that work one way in one part of the system should work exactly the same way in other parts as well. This allows users to learn something once, then apply that knowledge again and again as they use the computer.

Consistency between programs, is just as important as consistency within a program. No matter how important the program is, it will not be the only one that your customers are using. If every other program uses a certain key combination to trigger the Save command, it’s not a good idea to use that combination to mean Send in your mail program. Even if your program might be made slightly better by making, these behave in a nonstandard manner, it’s guaranteed to drive your users crazy. If they have any kind of choice, it will also drive them to a competitor’s product.

Aesthetic integrity:
There’s an old saying that says when a man wears a bad suit, people notice the suit. When he wears a good suit , they notice the man. The same goes for interface design . A good design is understated and lets the user concentrate on the information being presented. Bad designs use loud graphics, overly gray, carved backgrounds, and other fashionable ornaments that are just there because the designer thought they looked cool.

Some designers even go so far as to change the look of standard interfaces elements like buttons and scrollbars. This really confuses users, since they assume that the change must have been done for a reason, and they’ll actually put their own rules for how these revised elements differ from the standard ones. It seldom occurs to users that the only reason you made them look different is that you got bored with the regular ones.

See-and-point, not remember-and-type:
Computers are good at remembering things likes codes, command names, and lists of data. We generally are terrible at it. Instead of making users remember and type this sort of data, the computer should always give them a list of valid possibilities and let them choose from it. Not only will the users’ anxiety level drop, but the programmers are spared having to handle all the error conditions, that arise when users guess wrong.

Direct manipulation:
Good Graphical User Interfaces (GUI’s) allow their users to feel as if they are directly controlling a little world inside the computer. Instead of having to learn an abstract set of command words, they can just grab the things they want to work on using the mouse and interact with them directly. Want to delete a document? Drag and drop it on the trashcan icon. Want to move a file from one directory to another? Just grab the file icon and move it to the folder it should be in.

This sort of direct manipulation is the real strength of graphical user interfaces. Instead of memorizing commands and parameters, users are able to learn the behaviors of a few simple interface objects like folders or buttons then apply that knowledge in different situations.

Perceived Stability:
Even if your program thinks it knows what’s best for a user, keep in mind that users are the ones in control, and that no change in their environment should happen without their knowledge and permission. Hence, maintain stability throughout.

Metaphors from the real world:
Sometimes it’s possible to get users comfortable with something in your computer world by equating it to something they already know about from the real world. This is not so much a general principle as it is a really good trick for making an interface understandable to newcomers.

Most graphical user interfaces, for instance, represent hierarchical disk directories as folders. The idea is that since users know how to use folders in the real world (they can put things in them, give them names, put them inside other folders, and so on), they will have an idea of how to use folders when they see them on a computer VDU.

Other metaphors in common use includes various brushes in paint programs, in boxes for mail systems, and even the all purpose Thrash can. Naturally, there are some limits to the use of metaphors, they cannot be used at all in command-line interfaces, but when they can be used properly, they can be very effective.

WYSIWYG:
What You See Is What You Get. Documents on screen should match what they will look like when they are printed. In the old days, word processors often used command characters for font changes, such as control b This is a bold phrase control b, which became This is a bold phrase when printed. This is not WYSIWYG.

Feedback and Dialog:
Good programs never keep the user guessing. They react immediately when users perform an action, such as clicking a button. If something is going to take a long time to process, the computer should keep the user informed about not only what it’s doing, but how long it’s expected to take.

The quality of user feedback a program provides and the user’s blood pressure level is directly related. If the user clicks on a button and your program does not respond in some way within half a second, the user starts getting nervous. One study showed that when the computer failed to visibly respond to a button click, it took just 8.5 seconds for half of the participants to assume the machine was hung and press the restart switch.

Forgiveness:
Humans make mistakes. Good programs allow for this by letting them undo their last action, or even revert to a previous version of the document. If users are about to perform some potentially damaging action from which there is no going back, the computer should inform them of the danger and ask whether they want to proceed.

User Control:
No matter what, the user must be the one in control at all times. Nothing destroys a user’s peace of mind faster than having the computer appear to be taking over some action. Want to generate a few thousand letters and dozens of negative magazine columns? All it took was the rumor that Windows 95 contained a runaway agent would sniff out and report all the software on a user’s system and report it back to Microsoft. Think about this before you design any sort of system, agent or wizard that attempts to put anyone other than the user in control.

These 10 principles of user interface design guide are well known to most anyone who’s ever read an interface design guide. They bear repeating here since they’re probably the most important things to keep in mind when it comes to giving your product a good human interface. Just like those other 10 commandments, the world would be a better place if more folks lived with them in mind.