User Interface Design - Lecture Slides | CS 3300, Study notes of Software Engineering

Material Type: Notes; Class: Intro to Software Engr; Subject: Computer Science; University: Georgia Institute of Technology-Main Campus; Term: Fall 2005;

Typology: Study notes

Pre 2010

Uploaded on 08/05/2009

koofers-user-gzb-1
koofers-user-gzb-1 🇺🇸

9 documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
User Interface Design
Chapter 16 +.
Importance of UI Design
System users often judge system quality by its
interface rather than its functionality
Computers are now being used by many non-technical
people
Implementers are often poor judges of interface
acceptability and effectiveness
Poor user interface design can decrease the
effectiveness, productivity and safety of software
intensive systems
The interface to o ne tool may psychologically "interfere"
with the interface to another. Hence tool integration is
important
A significant percentage of application code is
devoted to the user interface
As much as 70% for some classes of applications
Human Factors
Limited capacity of human short-term
memory; need to "chunk"
111100001111111110
111 100 001 111 111 110
7 4 1 7 7 6
7/4/1776
Human Factors
Limited capacity of human short-term memory;
need to "chunk"
People make mistakes
People have different interaction preferences
People perform differently
novice, knowledg eable intermittent, frequent expert
Performance improves as people learn to use a
system
Many human factor aspects of UI are measurable
There exist some experimental results, but
technology is being driven by the market rather than
by research
pf3
pf4
pf5
pf8

Partial preview of the text

Download User Interface Design - Lecture Slides | CS 3300 and more Study notes Software Engineering in PDF only on Docsity!

• User Interface Design

  • Chapter 16 +.

Importance of UI Design

  • System users often judge system quality by its interface rather than its functionality - Computers are now being used by many non-technical people - Implementers are often poor judges of interface acceptability and effectiveness
  • Poor user interface design can decrease the effectiveness, productivity and safety of software intensive systems - The interface to one tool may psychologically "interfere" with the interface to another. Hence tool integration is important
  • A significant percentage of application code is devoted to the user interface - As much as 70% for some classes of applications

Human Factors

• Limited capacity of human short-term

memory; need to "chunk"

Human Factors

  • Limited capacity of human short-term memory; need to "chunk"
  • People make mistakes
  • People have different interaction preferences
  • People perform differently
    • novice, knowledgeable intermittent, frequent expert
  • Performance improves as people learn to use a system
  • Many human factor aspects of UI are measurable
  • There exist some experimental results, but technology is being driven by the market rather than by research

Measurable Human Factor Goals

• Time to learn

• Speed of performance

• Rate of errors

• Subjective satisfaction

• Retention over time

Aspects of UI Design

  • Menu selection formats
    • Click, letters, numbers; pulldown, popup, cascading
  • Message wording, terminology, abbreviations, syntax
  • Character set, fonts, highlighting, color
  • Devices
    • Keyboards, displays, cursor control, virtual reality
  • Modalities
    • Sound, touch, position sensor
  • Response times, display rates
  • On-line help, tutorials, training and documentation
  • Error interaction and recovery

Structure of UI

• Presentation: display of computer

generated or processed information

• Dialog: controlled solicitation of user

input

• Application interface: the two way

translation of processing requests

between the user interface software and

application software

Presentation Issues

• Information visualization

  • digital vs. analog, text vs. graphs…

• Animation

• Use of colors, fonts, highlights

• Text vs. graphics

• Static vs. dynamic

• Ambient vs. requested

Other interaction styles

• Programming language

• Handwriting

• Voice / speech

• Drawing

UI services

  • Macro commands; hot keys; accellerators
  • Undo; redo
  • Cut; copy; paste
  • On-line help; tutorials
  • Default values
  • User confirmation; customization files
  • Command files

UI integration

  • There is now an abundance of applications available to typical computer users
  • Similar sounding operations in separate applications may cause very different actions to be taken
  • Hence, integration speeds learning and reduces errors
  • It can also increase productivity by allowing separate applications to interact effectively

Aspects of integration

  • Presentation integration: same message format, highlighting, and WIMP styles across applications
  • Dialog integration: message and error interactions, data entry, and menu control behaving similarly
  • Semantic intergration: identical actions in separate applications behaving identically

Integration metaphors

  • One way that integration has been facilitated in the past is through the use of a consistent metaphor for all applications.
  • This includes applications written by the user
  • Examples of metaphors that have been used are the following: - Desktop - Window manager - Screen editor - Spreadsheet - Data base

UI Principles

  • Know the user; support transition
  • Organize application interface around tasks
  • Limit reliance on human memory
  • Provide easy ways to do common things
  • Common look and feel; integration; use of metaphor
  • Engineer for error
  • Measure; evaluate; refine

More UI principles

Principle Description User familiarity The interface should use terms and concepts which are drawn from the experience of the people who will make most use of the system. Consistency The interface should be consistent in that, wherever possible,comparable operations should be activated in the same way. Minimal surprise Users should never be surprised by the behaviour of a system. Recoverability The interface should include mechanisms to allow users to recover from errors. User guidance The interface should provide meaningful feedback when errors occur and provide context-sensitive user help facilities. User diversity The interface should provide appropriate interaction facilities for different types of system user.

Error message guidelines

  • Product
    • Be as specific and precise as possible
    • Be constructive: indicate what needs to be done
    • Use a positive tone: avoid condemnation
    • Choose user-centered phrasing
    • Consider multiple levels of messages
    • Keep consistent grammatical form, terminology, and abbreviations
  • Process
    • Establish a message quality control group
    • Include messages in the design phase
    • Place all messages in a file
    • Review messages during development
    • Attempt to eliminate the need for messages
    • Carry out acceptance tests
    • Collect frequency data for each message
    • Review and revise messages over time

Analysis

  • Task analysis
    • Models the steps involved in completing a task
    • Task breakdown, looping, conditionality, concurrency
  • Interviewing and questionnaires
    • Asks the users about the work they do
  • Ethnography
    • Observes the user at work

Usability Attributes

Attribute Description Learnability How long does it ta ke a new user to become productive with the system? Speed of operation How well does the system response match the userÕs work practice? Robustness How tolerant is the system of user error? Recoverability How good is the system at recovering from user errors? Adaptability How closely is the system tied to a single model of work?

Sample Evaluation Techniques

• Questionnaires for user feedback

• Video recording of system use and

subsequent tape evaluation

• Instrumentation of code to collect

information about facility use and user

errors

• The provision of code in the software to

collect on-line user feedback

UI Design Technology

  • WYSIWYG UI-building tools
  • Widget libraries;
  • UI toolkits
  • Special purpose graphics hardware
  • Animation scripting
  • Virtual reality
  • Hypertext
  • Groupware Libraries for 3D presentations
  • Model-based user interface generation
    • User, display, presentation, dialog, application models
  • Scripted GUI testers

Direct Manipulation Interface

• Continuous representation of objects;

visible feedback

• Physical actions instead of complex

syntax

• Rapid, incremental, reversible

operations

• Shallow learning curve