User Interface Design Research Notes

User Interface Design
  • Focus on designing graphical interfaces for software systems.

Importance of User Interface
  • System users often judge a software system by its interface.
  • A poorly designed interface can lead users to make catastrophic errors.
  • Poor UI design is a significant reason why many software systems are never utilized.

User-Centered Design
  • The software development process should prioritize user needs.
    • Understand Users: Recognize who the users are and what tasks they perform.
    • Design Based on Tasks: Create software that directly addresses user tasks.
    • Involve Users in Decision-Making: User input should guide design decisions.
    • Prototype Testing: Users should test prototypes, online help, and drafts of user manuals.

Benefits of Focusing on Users
  • Reduces:
    • Training and support costs
    • Learning time for the system
    • Development costs by focusing on necessary features
    • Future costs related to modifying the system
  • Improves efficiency, attractiveness, and user satisfaction leading to a greater willingness to adopt the system.

Understanding Users
  • Characteristics of users that software engineers must understand:
    • Goals for using the system.
    • Typical patterns of use.
    • Demographics (age, occupation, etc.).
    • Knowledge of the domain and technology.
    • Physical ability and constraints.
    • Psychological traits and emotional responses.

User Interface Design Basics
  • Should be integrated with other software engineering activities.
  • Conduct use case analyses to define necessary UI tasks.
  • Use iterative prototyping to refine these UI tasks, leading to clear requirements.

Usability vs. Utility
  • Utility: Does the system provide capabilities to achieve user goals?
  • Usability: Can users easily learn and operate these capabilities?
  • Both are crucial and must be assessed based on user context.

Aspects of Usability
  • Learnability: Speed for new users to become proficient.
  • Efficiency of Use: Speed for expert users to complete tasks.
  • Error Handling: How well the system prevents, detects, and corrects errors.
  • Acceptability: User satisfaction regarding the system.

Basic Terminology in UI Design
  • Dialog: Interaction window with the user that isn’t the main UI.
  • Control/Widget: Components within the user interface.
  • Affordance: Actions users can take at any time.
  • State: Information displayed at any dialog stage.
  • Mode: Restrictions on user actions within the interface.
  • Feedback: System responses to user actions.

Usability Principles
  1. Do not solely rely on usability guidelines; always test with actual users.
  2. Base UI on users’ tasks through use case analysis.
  3. Simplify action sequences to achieve tasks.
  4. Ensure visibility of available user commands.
  5. Provide detailed feedback and effective error messages.
  6. Allow users the ability to undo actions and easily navigate.
  7. Maintain adequate response times, ideally under one second for most actions.
  8. Use clear encoding techniques for user understanding.
  9. Keep the UI uncluttered and well-organized.
  10. Consider the needs of diverse user groups, including those with disabilities.
  11. Provide accessible help and organized documentation.
  12. Maintain consistency in layouts and graphic designs.

Encoding Techniques
  • Various formats to convey information:
    • Text and fonts
    • Icons and photographs
    • Diagrams, colors, and groupings
    • Sounds, animations, and video.

UI Design Principles
  • UI design must account for user needs, experiences, and capabilities.
  • Users should participate in design processes, which should include iterative prototyping.
  • Cognitive factors like short-term memory should guide design decisions.

Common Design Errors
  • Lack of consistency.
  • Excessive memorization required from users.
  • Inadequate guidance or help.
  • Poor response times or user unfriendliness.

Evaluating User Interfaces
  • Heuristic Evaluation: Identify usability defects in use cases and document findings.
  • User Observation: Select representative users, observe their interactions, and debrief afterward to capture usability challenges.