Lec 4: Interactive System Life Cycle

Lec 4: Interactive System Life Cycle

Human-Computer Interface Development Life Cycle

Introduction to Human-Computer Interfaces

  • The lecture introduces the topic of human-computer interface development, specifically focusing on the life cycle involved in creating interactive systems.
  • Previous lectures covered software engineering life cycles and their importance in systematic software product development.

Waterfall Model Overview

  • The waterfall model is highlighted as a fundamental software development lifecycle model consisting of 6 or 7 stages: feasibility study, requirement analysis, design, coding, testing, integration, deployment, and maintenance.
  • Emphasis is placed on user-centric design for software intended for layman users to ensure usability.

Challenges with the Waterfall Model

  • The classical waterfall model does not adequately address user feedback at each stage, which is crucial for developing usable systems.
  • Iterations between stages are necessary to incorporate user input; however, this can complicate the linear flow of the waterfall model.

Refining the Life Cycle for User-Centric Design

  • A refined life cycle is proposed that accommodates iterations while maintaining clarity in the process.
  • This new model includes stages such as feasibility study, requirement gathering and analysis, followed by an iterative design-prototype-evaluate cycle before moving to implementation.

Stages of the Refined Life Cycle

Requirement Gathering Stage

  • Focuses on identifying requirements from end-users rather than just clients using techniques like contextual inquiry and ethnographic studies.

Design-Prototyping-Evaluation Cycle

  • Involves three sub-stages: designing based on requirements, building prototypes from designs, and conducting early evaluations based on user feedback.

Software Development Lifecycle for User-Centric Design

Early Evaluation and Prototyping

  • The process of early evaluation and prototyping should be simplified to allow for quicker achievement, reducing the time needed to build or evaluate a prototype.
  • Two key concepts in design are highlighted: interface design and interaction from the end user's perspective, which do not involve implementation or coding at this stage.

Interface vs. Code Design

  • The initial focus is on designing the interface and interactions to create prototypes that can be quickly evaluated and refined until no further changes are necessary.
  • Once the interface design stabilizes, attention shifts to code design, which involves iterative processes within the design team without requiring end-user feedback.

Importance of Iterative Cycles

  • There are two distinct cycles mentioned: one for interface design (which includes user input) and another for code design (which relies on internal team brainstorming).
  • Effective early evaluation is crucial for ensuring usability in interface design; however, prototyping is not required during code design iterations.

Implementation Phase

  • Implementation involves traditional coding practices such as writing, testing, and debugging code. A well-prepared design minimizes costly modifications later.
  • After implementation, an empirical study is necessary to assess overall product usability with end users, employing systematic approaches rather than ad hoc methods.

Cost Considerations in Empirical Studies

  • Conducting an empirical study requires careful planning since it can be resource-intensive; ensuring a high-quality implemented product beforehand reduces potential issues.
  • If earlier stages are poorly executed, multiple iterations may be needed during empirical studies, increasing costs and potentially delaying product delivery.

Summary of Key Concepts

  • The discussion outlines a software development lifecycle tailored for user-centric designs that emphasizes user feedback throughout various stages.
Video description

Design & Implementation of Human-Computer Interfaces Course URL: https://onlinecourses.nptel.ac.in/noc22_cs125/preview Prof. Samit Bhattacharya Department of Computer Science and Engineering IIT Guwahati