User Experience Components

Although users of some systems may have preconceived impressions of perceived usability based upon marketing and other stimuli, users performing real-life tasks base the usability of systems upon the real-life use. Nevertheless, the impact on the system adoption stimuli may be significant. However, we will not consider them as they are only external factors and do not directly affect the usability.

To achieve the overall usability of the system, we must understand the physical user interfaces of the system that users may interact with while doing their tasks. Focusing on a few of the interfaces may lead to poor usability overall. Following are some of the user interfaces. Although the complete list of all types of user interfaces is huge, the types can be categorized broadly into the following areas:

  • Web-Based User Interface (WUI): An Internet Web browser is used for displaying the user interface of the system. The browser is used to connect to the server to get the (latest) user interface and display to the user by accessing a Web site address (URL). The initial Web-based systems were largely hypertext documents; the focus of the user interface was on presentation. "If you don't grab the users' interest, you will loose them to other Web sites." This philosophy governed the majority of the initial Web systems. Later the Web-based applications inherited the same user expectation on presentation that "grabbed interest".

  • Thick-Client Graphical User Interface (GUI): Unlike the browser-based Web user interfaces, thick-client interfaces must be installed on a computer for users to access the system. The application may contain all the business logic, and it may or may not require connecting to a server. Since most of the processing to display the UI happens on the user's computer, the sophistication and level of interaction of the GUI potentially can be much richer than the WUI or other types of interfaces.

  • Text- or Character-Based User Interface (TUI or CUI): These are the earliest user interfaces, and they are still very popular. ASCII characters are used to create the user interface. Though much debate involves the usability of a GUI versus a TUI/CUI, several sophisticated users find the TUI/CUI easier and less cumbersome to use. To run, this interface requires very little use of input devices other than a keyboard and frequently requires very little in the way of computer resources. Most early systems that have limited processing capabilities use TUI/CUI to display the UI. Most mobile communication devices, such as PDAs, fall into this category. As these devices increase their processing capabilities, they attempt to incorporate richer UI.

  • Voice Response User Interface (VRUI): Very often users think VRUI systems are different. Phones (the most popular VRUI input/output device) are not like computers. Pressing buttons on a phone keypad or speaking are very different and frequently less intimidating activities than is using a computer. Voice response systems are becoming increasingly popular. Banking, e-commerce, and several other industries have adopted such systems widely.

The grammar and physical nature of the different interfaces are diverse, but the underlying principles that result in the overall usability of a system are common. While selecting an appropriate user interface and engaging in an elaborate exercise of development, one needs to adhere to and plan for some of the human computer interaction components that directly affect the usability of a system.

Human Computer Interaction Principles

To understand some of the underlying human computer interaction (HCI) principles that require careful planning by system architects, let us return to Canaxia and read some pages from Nigel's notebook. These are records that Nigel had written following his interactions with his colleagues at Canaxia. Although Nigel's notes are useful in illustrating the underlying HCI principles, you may need to apply the principles in your application context differently, as is true with any generalized example or derived principle.

October 5. Observed the Infrastructure IT Administrator, Lucy, while she was modifying security permissions for the department members following a reorganization at Canaxia. She was working from permissions forms sent to her by the various department heads. These forms defined the necessary security permissions for the department members. Setting the necessary permissions separately for each member is a very tedious undertaking. Lucy actually wrote scripts to aggregate similar users from across departments to apply the necessary security settings. This was very time-consuming, and it took Lucy several attempts to get it right. Lucy needs to repeat the process for setting up email access for these members and setting preferences such as mailbox size and other features. Since this is a different system, her earlier scripts are not useful. Lucy is frustrated. I will continue my observation later.

Usability Principle 1: Systems must provide a way to aggregate data and commands. Users frequently require performing one or more actions on more than one set of data objects.

October 6. I was standing next to the network printer that was printing a large document. When the document finished printing, the owner picked it up and threw it in the recycle bin. "I fired a print command only to realize that it needed additional edits. There is no way to cancel this thing. What a waste!"

I saw Lucy again later in the day. She was trying to install software only to realize that she did not have time to complete it. There was no way to cancel the operation. Lucy will miss the bus today.

Usability Principle 2: Systems should allow users to cancel commands. Users frequently make mistakes or change their minds about operations they do not wish to perform anymore.

October 7. I was observing Dan at the help desk expertly switching between his email and the call log application. He was reading the problem reports, replying to them on email, and entering everything in the call log. Just then a call came in and Dan needed to pick it up on the computer. I was very curious when he first put the call on hold and closed the email application before picking up the call. He said, "When I get a call I cannot seem to use the mouse in the call log application if my email application is running. It was spooky, and then Lucy told me that the voice application for the call conflicts with the email application. This is very irritating."

Usability Principle 3: Systems should allow concurrent use of applications. A user may want to work with arbitrary combinations of applications concurrently.

October 9. I ran into Robert, the technical writer. He was excited with the latest version of Microsoft Word. "You know," he said, "when I typed 'hte' instead of 'the', Word automatically corrected it. Wow! I don't need to watch common words closely." This made me think that depending on context, error correction can be enforced directly (e.g., automatic text replacement, fields that only accept numbers), or suggested through-system prompts.

"Hmm. . . . I really had to type "hte" twice as Word kept correcting it automatically!"

Usability Principle 4: Systems should check for correctness. A user may make an error that he or she does not notice.

October 9. I ran into Dan again. He was like a child, still excited about the toy: Microsoft Word. "I was writing this document and had not saved it when I accidentally pulled the power cord. The computer switched off, and I thought I had lost my work. But guess what? When I launched Word again, the document was automatically saved. I only lost the last five minutes of work."

Usability Principle 5: Systems should allow recovery from systemic failure. A system may suddenly stop functioning while a user is working. Such failures might include a loss of network connectivity or hard drive failure in a user's PC. In these or other cases, valuable data or effort may be lost. Users should be provided with the means to reduce the amount of work lost from system failures.

October 10. I found Lucy in a bad mood again. "This is the fourth change-password request today. When we were implementing the password policy, we thought of it as a great security idea. Now either people have them written on Post-it® notes stuck on their monitors or they call me every other day to reset them. If I get another call today, I will not be able to finish my other work. I really need to catch the bus today."

Usability Principle 6: Systems should allow retrieval of forgotten information: A user may forget information, such as passwords.

October 10. It was dark as I entered my rental car. I was pleasantly surprised to find the ignition lock glowing, and I had no problem putting my key inside and starting the car. What a simple and clever design had made my experience with the car so much better. It gave me assistance when I needed it. Now why couldn't software be so sensitive? The Paperclip in Microsoft Office is too obtrusive, the Tool Tip feature sometimes is nice, and context-sensitive help is good, too. Maybe software is not always bad.

Usability Principle 7: Systems should provide good help. The need of good usable help cannot be understated. Providing contextual, easily navigable, searchable help, written in an easy-to-understand language, with simple examples and cross-links, is a task that should not be underestimated and should be estimated for early in the life cycle.

October 11. I was working with Bob today, our back-office sales assistant. He had received more than ten email messages with orders for twenty products in every message. Bob needed to provide all this information electronically using our order management system. Bob had done this many times over. He started by copying and pasting the product SKUs and quantities into Excel. He then uploaded the Excel spreadsheet into the order management system. "I had to search for the SKUs, then add them to a list, then search for the next SKU, and so on. It used to take a full day. In the new system, I can prepare the list in Excel and upload it. If there is a bad SKU, it tells me. I can do the same work in a couple of hours now."

Usability Principle 8: Systems should allow reuse of existing information: A user may wish to move data from one part of a system to another. Users should be provided with automatic (e.g., data propagation) or manual (e.g., cut and paste) data transports between different parts of a system.

October 14. Robert's initial enthusiasm with Microsoft Office had diminished. "I just installed Visio and have been struggling with this diagram. I need to move this shape a little, and whenever I select the object and use the arrow keys, the page moves instead of the object."

Usability Principle 9: Systems should leverage users' existing knowledge. People use what they already know when approaching new situations. Such situations may include using new applications on a familiar platform, using a new version of a familiar application, or using a new product in an established product line.

October 14. I was looking through my notes of the previous usability test and realized that some of the critical changes had not been incorporated into the upcoming release. "Although the change looks to be simple, it has far-reaching implications. It will take me several days to do. It's impossible to fit it into this release cycle," the lead developer had told me during the release planning session. Upon probing further, I realized he was working with legacy code that was not modular in its structure and was, therefore, not easily maintainable.

Usability Principle 10: Systems should allow easy modificiation of interfaces. Iterative design is the lifeblood of the current software development practice.

October 14. Robert published a set of training slides on the Web server and asked me excitedly to look at the human factors section starting at slide 32. The browser contains no straightforward way to navigate to a different slide.

Usability Principle 11: Systems should allow navigation from within a single view. A user may want to navigate from data visible on-screen to data not currently displayed.

October 16. I was trying to change my password on the enterprise intranet and realized that the password field had a hidden input mechanism. On my third attempt I realized I had changed my password to the same value three times. Apart from increasing some server traffic, no harm has been done.

Usability Principle 12: Systems should display the system state. A user may not be presented with the system state data necessary to operate the system (e.g., uninformative error messages, no file size given for folders). Alternatively, the system state may be presented in a way that violates human tolerances (e.g., it is presented too quickly for people to read). The system state may also be presented in an unclear fashion, thereby confusing the user.

October 16. I saw Robert was quite rushed; he had a document deadline to meet. He was working feverishly on the document on his newly upgraded computer. The computer was a very fast machine, and whenever Robert tried scrolling by moving the cursor, the pages flew past and landed several pages ahead. He then had to scroll back painfully by using the Page Up button to reach the desired section.

Usability Principle 13: Systems should allow working at the user's pace. A system might not accommodate a user's pace in performing an operation. This may make the user feel hurried or frustrated. Systems should account for human needs and capabilities when pacing the stages in an interaction. Systems should also allow users to adjust this pace as needed.

October 17. Ran into Ravi, the lead developer, in the break room. He was waiting for the code to compile. I ran into him again a couple of hours later, and he was still waiting for the code to compile. When I asked him how long it would take and if he wanted to join me for lunch, he replied, "Five minutes or another hour I don't know."

Usability Principle 14: Systems should predict task duration. A user may want to work on another task while a system completes a long-running operation.

October 18. To make matters worse, Robert spilled coffee on the manuscript. "I wish that I could do a CTRL-Z and undo this!" Though we take this feature for granted today, though there was a time, not too long ago, when applications, such as PageMaker and others, could revert back only to a previously saved state. Now applications such as PhotoShop allow the user multiple Undo and Redo actions, and they offer other advanced functions. On the other hand, almost all of today's Web applications do not support Undo. Experts studying user behavior in a given context are usually required to appropriately design and support Undo functionality.

Usability Principle 15: Systems should support Undo, whereby a user may use the Undo command to revert to the state prior to an action.

October 18. I saw Bob struggling with the new order management system. None of his previous 2 years of working with one order management system seemed to apply to the new system. The nomenclature of terms was different, as was the basic metaphor.

Usability Principle 16: Systems should help users working in an unfamiliar context. Discrepancies between this new context and the one the user is accustomed to may interfere with the ability to work. Systems should provide a novice (verbose) interface to offer guidance to users operating in unfamiliar contexts.

October 19. I was trying to copy a file to another location. After endless churning of the hard drive, I got an error message that the disk did not have enough available space. Darn, why couldn't it have told me this up front? Surely file size comparison is not a complex operation. Had I known the file was so big, I could have compressed it before copying it.

Usability Principle 17: Systems should verify resources before initiating an operation. This failure may cause errors to occur unexpectedly during execution. For example, some versions of Adobe PhotoShop may begin to save a file only to run out of disk space before completing the operation.

October 20. Met with Dan to hear his complaints about the new Help Desk tool. This was the latest state-of-the-art system. It allowed the customer support personnel to view the data that the users were working with as they were working with it. "If I could see the screen of the user on my Windows application, I can better guide them. The labels on my screen are different from those the user sees in the browser."

Usability Principle 18: Systems should operate consistently across views. A user may become confused by functional deviations among different views of the same data. Commands that have been available in one view may become unavailable in another or may require different access methods.

October 20. I was watching Robert work with a 200-page document. He was working with the outline view in Word and had most sections collapsed, except the section he was editing. This gave him a good view of where he was in the overall document, as well as the details of the section he was editing. With a click of a button, he could change the view to a print layout mode and see how it was going to look in print.

Usability Principle 19: Systems should support appropriate visualization. Systems should provide a reasonable set of task-related views to enhance users' ability to gain additional insight while solving problems.

Usability Principle 20: Systems should support comprehensive searching. A user wants to search some files or some aspects of those files for various types of content. For example, a user may wish to search text for a specific string or for all movies for a particular frame. Search capabilities may be inconsistent across different systems and media, thereby limiting the user's opportunity to work. Systems should allow users to search data in a comprehensive and consistent manner by relevant criteria.

Usability Principle 21: Systems should provide ways to evaluate the system. A system designer or administrator may be unable to test a system for robustness, correctness, or usability in a systematic fashion. For example, the usability expert on a development team might want to log test users' keystrokes but may not have the facilities to do so. Systems should include test points and data gathering capabilities to facilitate evaluation.

  • Usability Principle 1: Systems must provide a way to aggregate data and commands.

  • Usability Principle 2: Systems should allow users to cancel commands.

  • Usability Principle 3: Systems should allow concurrent use of applications.

  • Usability Principle 4: Systems should check for correctness.

  • Usability Principle 5: Systems should allow recovery from systemic failure.

  • Usability Principle 6: Systems should allow retrieval of forgotten information.

  • Usability Principle 7: Systems should provide good help.

  • Usability Principle 8: Systems should allow reuse of existing information.

  • Usability Principle 9: Systems should leverage users' existing knowledge.

  • Usability Principle 10: Systems should allow easy modification of interfaces.

  • Usability Principle 11: Systems should allow navigation from within a single view.

  • Usability Principle 12: Systems should display the system state.

  • Usability Principle 13: Systems should allow working at the user's pace.

  • Usability Principle 14: Systems should predict task duration.

  • Usability Principle 15: Systems should support Undo, whereby a user may use the Undo command to revert to the state prior to an action.

  • Usability Principle 16: Systems should help users working in an unfamiliar context.

  • Usability Principle 17: Systems should verify resources before initiating an operation.

  • Usability Principle 18: Systems should operate consistently across views.

  • Usability Principle 19: Systems should support appropriate visualization.

  • Usability Principle 20: Systems should support comprehensive searching.

  • Usability Principle 21: Systems should provide ways to evaluate the system.


Note: The usability requirements have been updated and modified from the original works of Lenn Bass, Bonnie E. John, and Jesse Kates (March 2001).




Practical Guide to Enterprise Architecture, A
A Practical Guide to Enterprise Architecture
ISBN: 0131412752
EAN: 2147483647
Year: 2005
Pages: 148

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