UNF CEN 6070 - Usability Basics for Software Developers

Unformatted text preview:

22 IEEE SOFTWARE January/February 2001 0740-7459/00/$10.00 © 2001 IEEEContrary to what some might think, us-ability is not just the appearance of the userinterface (UI). Usability relates to how thesystem interacts with the user, and it includesfive basic attributes: learnability, efficiency,user retention over time, error rate, and sat-isfaction. Here, we present the general us-ability process for building a system with thedesired level of usability. This process, whichmost usability practitioners apply with slightvariation, is structured around a design-evaluate-redesign cycle. Practitioners initiatethe process by analyzing the targeted usersand the tasks those users will perform. Clarifying usability conceptsAccording to ISO 9241, Part 11, usabilityis “the extent to which a product can be usedby specified users to achieve specified goalswith effectiveness, efficiency, and satisfactionin a specified context of use.”2This definitionties a system’s usability to specific conditions,needs, and users—it requires establishing cer-tain levels of usability based on the five basicattributes.Usability engineering defines the target us-ability level in advance and ensures that thesoftware developed reaches that level. Theterm was coined to reflect the engineering ap-proach some usability specialists take.3It is“a process through which usability character-istics are specified, quantitatively and early inthe development process, and measuredthroughout the process.”4Usability is an is-sue we can approach from multiple view-points, which is why many different disci-plines, such as psychology, computer science,and sociology, are trying to tackle it. Unfor-tunately, this results in a lack of standard ter-minology. In fact, the term usability engineer-ing is not universally accepted—other termsused include usage-centered design, contex-tual design, participatory design, and goal-directed design. All these philosophies adhereto some extent to the core issue of usabilityengineering: evaluating usability with realusers from the first stages of development.Usability attributesWe can’t define usability as a specific as-focusUsability Basics forSoftware DevelopersXavier Ferré and Natalia Juristo, Universidad Politécnica de MadridHelmut Windl, Siemens AG, GermanyLarry Constantine, Constantine & LockwoodThis tutorialexamines therelationshipbetween usabilityand the userinterface anddiscusses howthe usabilityprocess follows adesign-evaluate-redesign cycle. It alsodiscusses somemanagementissues anorganizationmust face whenapplying usabilitytechniques. In recent years, software system usability has made some interesting ad-vances, with more and more organizations starting to take usability seri-ously.1Unfortunately, the average developer has not adopted these newconcepts, so the usability level of software products has not improved.usability engineeringpect of a system. It differs depending on theintended use of the system under develop-ment. For example, a museum kiosk must runa software system that requires minimumtraining, as the majority of users will use itjust once in their lifetime. Some aspects of us-ability—such as efficiency (the number oftasks per hour)—are irrelevant for this kindof system, but ease of learning is critical.However, a bank cashier’s system would re-quire training and would need to be highly ef-ficient to help reduce customer queuing time.Because usability is too abstract a term tostudy directly, it is usually divided into theattributes we mentioned at the beginning ofthe article:5■ Learnability: How easy it is to learn themain system functionality and gain pro-ficiency to complete the job. We usuallyassess this by measuring the time a userspends working with the system beforethat user can complete certain tasks inthe time it would take an expert to com-plete the same tasks. This attribute isvery important for novice users.■ Efficiency: The number of tasks per unitof time that the user can perform usingthe system. We look for the maximumspeed of user task performance. Thehigher system usability is, the faster theuser can perform the task and completethe job.■ User retention over time: It is critical forintermittent users to be able to use thesystem without having to climb the learn-ing curve again. This attribute reflectshow well the user remembers how thesystem works after a period of nonusage.■ Error rate: This attribute contributes neg-atively to usability. It does not refer to sys-tem errors. On the contrary, it addressesthe number of errors the user makes whileperforming a task. Good usability impliesa low error rate. Errors reduce efficiencyand user satisfaction, and they can beseen as a failure to communicate to theuser the right way of doing things.■ Satisfaction: This shows a user’s subjec-tive impression of the system.One problem concerning usability is thatthese attributes sometimes conflict. For ex-ample, learnability and efficiency usually in-fluence each other negatively. A system mustbe carefully designed if it requires both highlearnability and high efficiency—for exam-ple, using accelerators (a combination of keysto perform a frequent task) usually solves thisconflict. The point is that a system’s usabilityis not merely the sum of these attributes’ val-ues; it is defined as reaching a certain level foreach attribute.We can further divide these attributes toprecisely address the aspects of usability inwhich we are most interested. For example,performance in normal use and advancedfeature usage are both subattributes of effi-ciency, and first impression is a subattributeof satisfaction. Therefore, when analyzing aparticular system’s usability, we decomposethe most important usability attributesdown to the right detail level.Usability is not only concerned with soft-ware interaction. It is also concerned withhelp features, user documentation, and in-stallation instructions.Usability and the user interfaceWe distinguish between the visible part ofthe UI (buttons, pull-down menus, check-boxes, background color, and so forth) andthe interaction part of the system to under-stand the depth and scope of a system’s us-ability. (By interaction, we mean the coordi-nation of the information exchange betweenthe user and the system.) It’s important tocarefully consider the interaction not justwhen designing the visible part of the UI, butalso when designing the rest of the system.For example, if a system must providecontinuous


View Full Document

UNF CEN 6070 - Usability Basics for Software Developers

Download Usability Basics for Software Developers
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Usability Basics for Software Developers and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Usability Basics for Software Developers 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?