Description

In the early days of computing, technicians in white coats controlled refrigerator-sized computers housed in sealed rooms, far from ordinary users. Today, computers are inexpensive commodities, like television sets, and ordinary people control and interact with them. This new paradigm has led to a burgeoning demand for graphics-intensive and highly interactive interfaces.

Developing User Interfaces is targeted at the programmer who will actually implement, rather than design, the user interface. Most user interface books focus on psychology and usability, not programming techniques. This book recognizes the need for programmers to collaborate with usability experts and psychologists, so topics such as the principles of visualization, human perception, and usability evaluation are touched upon. Yet the primary focus remains on those tools and techniques required for programming the complex user interface.

* Focuses on advanced programming topics * event handling * interaction with geometric objects * widget tool kits * input syntax * Useful to programmers using any language—no particular windowing system or tool kit is presumed, examples are drawn from a variety of commercial systems, and code examples are presented in pseudo code * The basic concepts of traditional computer graphics such as drawing and three-dimensional modeling are covered for readers without a computer graphics background.

Table of Contents

    Preface


    Chapter 1 Introduction



      1.1 What This Book Is About
        1.1.1 Early Computing

        1.1.2 Winds of Change

        1.1.3 The Legacy of Lab Coats

        1.1.4 A Question of Control


      1.2 Setting the Context
        1.2.1 Computer Graphics

        1.2.2 Human Factors and Usability

        1.2.3 Object-Oriented Software

        1.2.4 Commercial Tools


      1.3 An Overview of the User Interface
        1.3.1 The Interactive Cycle

        1.3.2 The Interactive Porthole

        1.3.3 The Interface Design Process


      1.4 Summary


    Chapter 2 Designing the Functional Model



      2.1 Examples of Task-Oriented Functional Design
        2.1.1 Line Oriented vs. Full-Screen Text Editors

        2.1.2 Word Processors

        2.1.3 Why Do Secretaries Have Typewriters?


      2.2 Overall Approach
        2.2.1 Task Analysis

        2.2.2 Evaluation of the Analysis

        2.2.3 Functional Design


      2.3 Task Analysis
        2.3.1 Examples of Task Analysis

        2.3.2 VCR Task Analysis

        2.3.3 Student Registration Task Analysis


      2.4 Evaluation of the Analysis
        2.4.1 Understanding the User

        2.4.2 Goals

        2.4.3 Scenarios

        2.4.4 Programmers and User Interface Design


      2.5 Functional Design
        2.5.1 Assignment of Agency

        2.5.2 Object-Oriented Functional Design


      2.6 Summary


    Chapter 3 Basic Computer Graphics



      3.1 Models for Images
        3.1.1 Stroke Model

        3.1.2 Pixel Model

        3.1.3 Region Model


      3.2 Coordinate Systems
        3.2.1 Device Coordinates

        3.2.2 Physical Coordinates

        3.2.3 Model Coordinates

        3.2.4 Interactive Coordinates


      3.3 Human Visual Properties
        3.3.1 Upd

Details

No. of pages:
414
Language:
English
Copyright:
© 1998
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780080504179
Print ISBN:
9781558604186

About the author

Dan Olsen

Dan R. Olsen, Jr. is the director of the HCI Institute at Carnegie Mellon University and a professor of computer science at Brigham Young University. Dr. Olsen earned his B.S. and M.S. degrees in computer science from Brigham Young University and his Ph.D. in computer and information science at the University Pennsylvania in 1981. He is also the author of User Interface Management Systems. Dr. Olsen has considerable expertise in user interface mangement systems (UIMS), computer graphics, and the construction of compiled and interpreted languages