CSCI 630 - Software Engineering
User Interface Design
Good user interfaces are designed, they don't happen by chance!
- interface design begins with careful analysis of the user, the task and the environment
- user scenarios are created and validated
- prototyping is a common approach to user interface analysis and design.
- early involvement of users makes them more likely to accept the final product
- user interfaces must be field tested and validated prior to general release
- Place User in Control
- Define interaction in such a way that the user is not forced into performing unnecessary or undesired actions
- Provide for flexible interaction (users have varying preferences)
- Allow user interaction to be interruptible and reversible
- Streamline interaction as skill level increases and allow customization of interaction
- Hide technical internals from the casual user
- Design for direct interaction with objects that appear on the screen
- Reduce User Memory Load
- Reduce demands on user's short-term memory
- Establish meaningful defaults
- Define intuitive short-cuts
- Visual layout of user interface should be based on a familiar real world metaphor
- Disclose information in a progressive fashion
- Make Interface Consistent
- Allow user to put the current task into a meaningful context
- Maintain consistency across a family of applications
- If past interaction models have created user expectations, do not make changes unless there is a good reason to do so
- Usability Assessment by Observing Users
- Is system usable without continual help of instruction?
- Do rules of interaction help a knowledgeable user work efficiently?
- Do interaction rules become more flexible as users become more knowledgeable?
- Has system been tuned to the physical and social user environment?
- Is the user aware of the state of the system?
- Does the user know where he or she is at all times?
- Is the interface structured in a logical and consistent manner?
- Are interaction mechanisms, icons, and procedures consistent across the interface?
- Does the interaction anticipate errors and help users correct them?
- Is the interface tolerant of errors made?
- Is the interaction simple?
- User Interface Design Process (Spiral Model)
- User, task, and environment analysis and modeling
- Interface design
- Interface construction
- Interface validation
![]()
- Interface Analysis Goals
- Understand people who interact with system through the interface
- Understand tasks end-users must perform to do their work
- Understand the content presented as part of the interface
- Understand the nature of the environment in which tasks will be performed
- Analysis of Physical Work Environment
- Where will the interface be located physically?
- Will the user be sitting, standing, or performing other tasks unrelated to the interface?
- Does the interface hardware accommodate space, light, or noise constraints?
- Are there special human factors considerations driven by environmental factors?
- User Analysis Sources
- User interviews
- designers meet with end-users individually or in groups
- do not be swayed by one strong opinion - identify majority
- Sales input
- sales people help designers categorize users and better understand their needs
- Marketing input
- marketing analysis can help define market segments
- can help understand how each segment might use the software
- Support input - support staff can provide good input
- what works and does not
- what users like
- what features generate questions
- what features are easy to use
- Representing Workflow Analysis (swimlane diagram)
![]()
Notes and figures from: