Presents a complete overview of user interface design and development from beginning to end. Ex.___
Provides students with useful hands-on tips they can use in the classroom or in actual design situations. Ex.___
Allows readers to see how the topics fit in real-world design situations. Ex.___
Allows students to focus exclusively on the topic being presented. Ex.___
Exposes students to a range of design techniques. Ex.___
Provides readers with an essential reference guide for user interface design and development. Ex.___
The complete, practical handbook for effective UI design, development, and usability engineering.
Using extensive practical examples, the Practitioner's Handbook for User Interface Design and Development illuminates today's best practices for user interface design, usability, and user-centered development. Robert J. Torres introduces user interfaces from three points of view: the user, the developer, and the system. Next, he introduces a complete user-centered UI development process, beginning at the highest level and then drilling down to each phase of the lifecycle. For every stage, Torres offers clear principles, specific guidelines, and practical heuristics for self-assessment. Coverage includes:
Whether you're a developer, project manager, usability specialist, IT manager, software customer, or researcher, Practitioner's Handbook for User Interface Design and Development will be your definitive resource for building great user interfaces.
I. PRELIMINARIES.1. Introduction.
A Project—Keeping Things Real. A Challenge. Causes of Software Project Failure or Success. An Approach to Processes. An Approach to Solutions. Best Practices. The Remainder of the Journey. Back to the Project. References.2. User-Centered Design Through Delivery.
Key Principles for Being User Centered. Back to the Project. References.3. Understanding People.
Ergonomics and Human Factors. Ergonomics and Human Factors of Software. Sociological Ergonomics. Implications of Software Design and Development. Back to the Project. References.4. A User-Centered Product Team.
The Ergonomics of Software Development. Implications of Software Development. A Different Perspective on the Team Model. Required Development Skills. An Approach to Skill Building. Skills for Managers. An Analogy. The Project and a User-Centered Product Team. References.5. Popular UI Styles.
Graphical User Interface (GUI). Web User Interface (WUI). Handheld User Interface (HUI). Application Layer of a Software UI. Object-Oriented Uis. Implications of UI Styles on the Project. References.6. Participatory Methods.
Techniques for User Participation During Planning. Techniques for User Participation During Requirements. Techniques for User Participation During Design. Techniques for User Participation During Construction. Techniques for User Participation During Product Evaluation. Techniques for User Participation During Postdeployment. Involving Users in the Project. References.7. A Word About Tools.
Software. Hardware. Facilities. Materials. Tools needed for the Project.
II. GETTING STARTED.8. Planning a UI Design and Development Effort.
Planning a UI Design and Development Effort. Schedules and Iterative Processes. Staffing, Skills, and Other Resources. Planning for the Major Usability Factors. References.9. Requirements.
Key Features. Requirements-Gathering Approach. UI Requirements. Requirements for the Project. References.10. Users, Their Work Environment, and Tasks.
Understanding a Product's Users, Work, and Environment. Methods. Example Questions. Users, Tasks, and Environments for the Project. References.11. Conceptual Design and Architecture.
Vision Setting. Distributing the Components of Work. UI Architecture—A Very High-Level Design. Conceptual Design for the Project. References.12. Principles, Guidelines, and Style Guides.
Good Things to Do—Principles, Standards, Guidelines, and Style Guides. Some Definitions. Prescriptive Style Guides. Prescriptive Solutions for Common Problems. Prescriptive Style Guide Development. Useful Techniques. A Management View. Principles and Guidelines for the Project. References.13. Mockups, Simulations, and Prototypes.
Definitions. Goals. Design Instantiation Techniques. Organizational Considerations. Throw-aways. Misconceptions. Back to the Project. References.14. Usability Evaluation.
Evaluation Goals. Types of Evaluations. Preparing for an Evaluation. Conducting an Evaluation. Data Evaluation. Developer Participation. A Word About Desk Checking. Back to the Project. References.15. Iteration.
Prerequisites. Finding the Big Hitters. Defects, Keepers, and Trade-offs—Techniques and Diagnostics. Short-Term and Long-Term Effects. Follow-Up Analysis. Rapid Turnaround and Optimization. Organizational and Technical Considerations. Back to the Project. References.
III. GETTING SERIOUS.16. High Level Design.
Setting Context within a Development Cycle. Definitions and Design Input. OO Components. Design for “Desktop” Behavior. Design a UI Flow. Design the Major Screens—Features, Data, Content, and Commands. Design the Major Dialogs. Installation, Print, and Other System Features. Back to the Project. References.17. Specification Techniques.
The Needs and Challenges. Specification Approaches. Levels of Specification—Conceptual, High Level, Detailed, Implementation. An Outline—In the Beginning, Middle, and End. An Approach for Projects. Back to the Project. References.18. Low-Level Design.
Details! DETAILS!! DETAILS!!! Designing the Details—Sizing, Focus, Cursor Placement, Graying, and More. Things Hard to Predict. A Final Check Before Moving On. Back to the Project. References.19. Product Construction, Test, and Deployment.
Ensuring a Smooth Transition from Design. Implementation Design, Code, and Unit Test. System and Other Tests. Challenges, Solutions, and Lessons. Requirements Met? Trade-offs, Compromises, and Surprises. Deployment. Back to the Project. References.
IV. WRAPPING UP.20. Looking Back and Beyond.
Although there are a large number of software products in the world today, the number of software user interfaces with high usability is painfully small. Furthermore, the number of software products with overall high usability is even smaller. These days, as in the past, it takes more than just a pretty interface to achieve high and competitive overall user satisfaction. An aesthetic interface with in-depth character is what users, customers, and business sponsors are seeking.
This is a daunting task for software designers and developers who are under constant pressure to reduce product cost, reduce development time, deliver increasing features, and improve quality relative to competition in a rapidly changing world wide environment. People in the software development business today (and in particular, those focusing on user interface and usability) must approach the job with caution and humility - there are lots of things to learn and do very quickly and effectively. No one person has all the answers to deal with so many simultaneous and competing challenges.
The primary goals for this book are to
The focus of the text is on application software user interfaces, which is where the majority of user interface work exists. However, the techniques are applicable to development of software user interfaces for operating systems. In a more general sense, the general concepts are applicable to user interfaces of systems of different types.
Let's begin by discussing the task, the audience, and criteria that this text addresses.The Task
Of course, the task that is explored in depth is that of planning, designing, constructing, validating, and deploying user interface software that meets requirements and helps achieve product goals for the user interface and usability in general. Each key subtask is described, rules of thumb (heuristics) provided, and examples explored. The intent is to provide effective guidance to achieve effective results. The guidance provided is typically not described in any other publication. Guidance in the text is experience-based and derived from a large number of projects, i.e., the school of hard knocks.The Audience
There are several intended users of this information.
A major objective is to guide a software developer who understands the basics of user interface development to design and implement better user interfaces more effectively.
In addition, this book is intended to be a more complete reference for user interface design and development than others available.