Human-Computer Interaction: Channels, Models, and Interfaces

Lecture 8:

Input-Output Channels:

Input-Output channels in the context of human-computer interaction (HCI) refer to the means by which users interact with a computer system. Inputs are the actions or signals provided by the user to the system, while outputs are the responses or feedback provided by the system to the user. These channels serve as bridges between the user and the computer, facilitating communication and interaction.

Input via Senses:

Input via senses refers to the process of providing information to a computer system through human senses such as sight, hearing, touch, and so on. In HCI, input devices translate physical actions or stimuli into digital signals that the computer can understand and process. Common input devices include keyboards, mice, touchscreens, microphones, and cameras, each catering to different sensory modalities.

Output via Effectors:

Output via effectors involves delivering feedback or information from the computer system to the user through various output devices. These devices translate digital data into perceptible forms that users can perceive through their senses. Examples of output devices include monitors, speakers, printers, and haptic feedback devices. The effectiveness of these output devices significantly influences the user’s experience and interaction with the system.


Vision is one of the primary senses through which humans perceive the world around them. In the context of HCI, vision plays a crucial role in interacting with computer systems through visual interfaces. Visual interfaces present information, graphics, and interactive elements on screens, allowing users to navigate, manipulate, and interpret digital content. Designing visually appealing and intuitive interfaces is essential for enhancing user engagement and usability.

Human Eye:

The human eye is a complex sensory organ responsible for visual perception. It consists of various components such as the cornea, iris, lens, retina, and optic nerve, each playing a specific role in the process of vision. When interacting with computer systems, users rely on their eyes to receive visual information presented on screens or displays. The ability of the human eye to perceive colors, shapes, movements, and text influences the design and presentation of graphical user interfaces (GUIs) in HCI. Understanding the capabilities and limitations of the human eye is crucial for designing interfaces that are visually appealing, ergonomic, and accessible to users.

In summary, input-output channels in HCI encompass the exchange of information between users and computer systems through sensory inputs and perceptible outputs. Vision and the human eye are integral components of this interaction, shaping the design and usability of graphical interfaces and digital displays.

Lecture 9 part 1

Conceptual Models:

Conceptual models in the context of human-computer interaction (HCI) are mental representations or frameworks that users develop to understand how a system works and how they can interact with it. These models help users make sense of the system’s functionality and anticipate the outcomes of their actions. Several key principles contribute to the formation and effectiveness of conceptual models:


Visibility refers to the clarity and accessibility of system elements and their affordances, making it evident to users how they can interact with the system. Visible elements provide cues and feedback, guiding users on how to perform tasks effectively. Designing interfaces with clear, intuitive layouts and visual cues enhances visibility and usability.


Affordance refers to the perceived actions or functionalities that an object or interface element offers to users based on its design characteristics. For example, a button’s raised appearance suggests that it can be pressed, indicating its affordance for interaction. Designing interfaces with clear affordances helps users understand how they can interact with different elements and perform tasks efficiently.


Constraints limit the range of possible actions or interactions within a system, guiding users towards appropriate behaviors and preventing errors or unintended outcomes. Constraints can be physical, logical, or cultural in nature, shaping users’ interactions with the system. Well-implemented constraints promote user safety, prevent misuse, and streamline the user experience.


Mapping refers to the correspondence between controls or interface elements and their effects or outcomes within the system. A good mapping ensures that the relationship between user actions and system responses is clear and intuitive, reducing cognitive load and promoting efficient interaction. Designing interfaces with logical and consistent mappings enhances usability and user satisfaction.


Consistency refers to the uniformity and predictability of interface elements, behaviors, and interactions within a system. Consistent design patterns, terminology, and navigation pathways help users build accurate mental models of the system and transfer their knowledge across different contexts or tasks. Consistency fosters familiarity, reduces learning curves, and enhances user confidence and efficiency.


Feedback provides users with information about the outcome of their actions, helping them understand the system’s state and their progress towards their goals. Effective feedback acknowledges user input, confirms successful actions, alerts users to errors or problems, and provides guidance for corrective actions. Timely and informative feedback enhances user control, confidence, and engagement with the system.

In summary, conceptual models serve as cognitive frameworks that users rely on to understand and interact with computer systems effectively. Principles such as visibility, affordance, constraints, mapping, consistency, and feedback contribute to the formation and usability of these models, shaping users’ experiences and interactions with digital interfaces.

Lecture 9

Input-Output Channel:

In the realm of human-computer interaction (HCI), the input-output channel refers to the means by which users interact with a computer system and receive feedback from it. It encompasses various input devices through which users provide commands or data to the computer and output devices through which the computer presents information to the user.

Design Principle:

Design principles are fundamental guidelines or rules that inform the creation of effective and user-friendly interfaces. They encompass principles such as simplicity, consistency, visibility, feedback, and affordance, among others. These principles guide designers in creating interfaces that are intuitive, efficient, and satisfying for users to interact with.

The Computer:

The computer serves as the central processing unit in the interaction between users and digital systems. It processes input provided by users through various input devices, executes commands or algorithms, and produces output that is presented to users through output devices. Computers come in various forms, including desktops, laptops, tablets, and smartphones, each with its own input and output capabilities.

Text Entry Devices:

Text entry devices are input devices specifically designed for entering textual information into a computer system. They include keyboards, handwriting recognition systems, and speech recognition systems, each catering to different user preferences and needs.


Keyboards are the most common text entry devices, featuring a set of keys arranged in a specific layout. There are different types of keyboards, including standard QWERTY keyboards, ergonomic keyboards, and virtual keyboards. Keyboards allow users to input alphanumeric characters, symbols, and commands by pressing keys.

Handwriting & Speech Recognition:

Handwriting recognition systems enable users to input text by writing characters or words with a stylus or finger on a touchscreen or digital pad. Speech recognition systems, on the other hand, allow users to input text by speaking commands or dictating text to the computer, which converts spoken words into written text using natural language processing algorithms.

Positioning, Pointing and Drawing:

Positioning, pointing, and drawing devices enable users to interact with graphical user interfaces (GUIs) by manipulating on-screen objects, selecting options, and drawing or annotating digital content. Common devices in this category include mice, touchpads, touch-sensitive screens, and digital pens.

Mouse and Touchpad:

Mice and touchpads are pointing devices that allow users to control the movement of a cursor on a computer screen. Users can click, double-click, right-click, and drag objects using these devices, making them essential for navigating GUIs and interacting with graphical elements.

Touch-sensitive Screens:

Touch-sensitive screens, also known as touchscreen displays, allow users to interact directly with on-screen elements by touching or tapping them with their fingers or styluses. Touchscreens are commonly used in smartphones, tablets, kiosks, and interactive displays, offering intuitive and direct manipulation of digital content.

Display Devices:

Display devices present visual output from the computer to the user, including text, graphics, videos, and other multimedia content. Common display technologies include bitmap screens such as cathode ray tube (CRT) and liquid crystal display (LCD) monitors, as well as digital paper displays used in e-readers and electronic signage.

Bitmap Screens (CRT & LCD):

Bitmap screens display visual information using a grid of pixels, with each pixel representing a single point of color on the screen. CRT monitors use electron beams to illuminate phosphors on a glass screen, while LCD monitors use liquid crystal cells that change opacity to control the passage of light.

Digital Paper:

Digital paper displays mimic the appearance and texture of traditional paper, allowing users to view and interact with digital documents in a format that resembles printed paper. Digital paper technology typically utilizes electronic ink or e-paper technology, offering high contrast and low power consumption for extended battery life.

Paper: Printing Scanning:

While not typically considered input-output channels in the traditional sense, paper-based technologies such as printing and scanning serve as interfaces between digital and physical formats. Printers produce physical copies of digital documents on paper, while scanners capture physical documents and convert them into digital formats for storage or manipulation on a computer. These technologies bridge the gap between analog and digital information, enabling seamless interaction between physical and digital worlds.

Lecture 10


Interaction in the context of human-computer interaction (HCI) refers to the dynamic exchange of information and actions between users and computer systems. It encompasses various modes of communication, feedback mechanisms, and user actions that facilitate effective and efficient interaction with digital interfaces.

Models of Interaction:

Models of interaction provide frameworks for understanding and designing the interaction between users and computer systems. They describe the flow of information, actions, and feedback within an interactive system and help designers conceptualize and evaluate user interfaces. Common models include the command-response model, the event-driven model, the state-transition model, and the object-oriented model, each emphasizing different aspects of interaction design.


Ergonomics, also known as human factors or human engineering, focuses on optimizing the design of physical and cognitive interfaces to match the capabilities and limitations of human users. It considers factors such as posture, movement, comfort, accessibility, and safety to enhance user experience and minimize the risk of fatigue, strain, and injury during interaction with interfaces.

Physical Aspects of Interfaces:

Physical aspects of interfaces encompass the tangible components and properties of interactive systems, including input devices, output devices, controls, displays, and physical environments. Designing interfaces with ergonomic layouts, appropriate sizing, tactile feedback, and intuitive affordances enhances usability and user satisfaction.

Industrial Interfaces:

Industrial interfaces are specialized interfaces designed for use in industrial settings, such as manufacturing plants, control rooms, and process control systems. These interfaces prioritize reliability, efficiency, and safety, often featuring ruggedized hardware, intuitive controls, and real-time feedback to support critical tasks and workflows in industrial environments.

Common Interaction Styles:

Interaction styles represent the ways in which users interact with computer systems and the interface paradigms employed to facilitate these interactions. Common interaction styles include:

  • Command Line Interface (CLI): Users interact with the system by typing commands into a text-based interface, which interprets and executes commands to perform tasks.
  • Menus: Users navigate hierarchical menus containing options and commands, selecting desired actions by navigating through menu structures.
  • Natural Language: Users communicate with the system using natural language inputs, such as spoken or written sentences, which are interpreted and processed by natural language processing algorithms.
  • Question/Answer and Query Dialogue: Users engage in a dialogue with the system by asking questions or submitting queries, receiving responses or search results based on the system’s understanding of the query.
  • Form-Fills and Spreadsheets: Users input data into predefined forms or spreadsheet-like interfaces, entering values into cells or fields and performing calculations or data manipulations.
  • WIMP Interface (Windows, Icons, Menus, Pointing): Users interact with graphical user interfaces (GUIs) featuring windows, icons, menus, and pointing devices such as mice or touchpads, enabling direct manipulation of graphical elements and visual feedback.

These interaction styles offer different trade-offs in terms of complexity, efficiency, learnability, and flexibility, catering to diverse user needs and preferences in various contexts of use.

Lecture 11

Life-cycle Models for Interactive Systems:

Life-cycle models for interactive systems provide structured approaches for designing, developing, and maintaining interactive software applications. These models outline the phases, activities, and deliverables involved in the development process, guiding practitioners through each stage of the product life cycle. Here are six commonly used life-cycle models:

1. Waterfall Model:

The waterfall model follows a linear and sequential approach to software development, with distinct phases such as requirements analysis, design, implementation, testing, deployment, and maintenance. Each phase must be completed before moving on to the next, resembling a waterfall flowing downwards. While the waterfall model offers clarity and simplicity, it lacks flexibility for accommodating changes late in the development process.

2. Spiral Model:

The spiral model combines elements of iterative development with the systematic approach of the waterfall model. It consists of multiple cycles, each comprising four main phases: planning, risk analysis, engineering, and evaluation. The spiral model emphasizes risk management by iteratively building and refining prototypes, allowing for early identification and mitigation of potential issues. This iterative nature makes it suitable for projects with evolving requirements and high levels of uncertainty.

3. RAD Model (Rapid Application Development):

The RAD model focuses on rapid prototyping and iterative development to accelerate the delivery of software products. It involves short development cycles, user feedback, and continuous refinement of prototypes to quickly address user needs and preferences. The RAD model emphasizes active user involvement throughout the development process, promoting collaboration and responsiveness to changing requirements.

4. Star Life-cycle Model:

The Star life-cycle model integrates elements of user-centered design (UCD) with traditional software development methodologies. It emphasizes understanding user needs, iteratively designing and evaluating prototypes, and incorporating user feedback into the development process. The Star model comprises three main phases: analysis, design, and implementation, with user involvement and evaluation activities throughout each phase.

5. Usability Engineering Model:

The usability engineering model prioritizes usability throughout the software development life cycle, aiming to optimize user experience and satisfaction. It involves conducting user research, defining usability requirements, designing user interfaces, and evaluating usability through usability testing and user feedback. The usability engineering model emphasizes iterative refinement based on user-centered design principles and usability best practices.

6. Goal Directed Model:

The goal-directed model focuses on understanding user goals and tasks to inform the design and development of interactive systems. It involves identifying user goals, analyzing user tasks, and designing interfaces that support efficient and effective task completion. The goal-directed model emphasizes iterative prototyping and evaluation to ensure that user goals are met and user needs are addressed throughout the development process.

These life-cycle models provide valuable frameworks for planning, managing, and executing interactive system projects, each offering unique strengths and suitability for different project contexts and requirements. By selecting and adapting the appropriate life-cycle model, development teams can enhance productivity, quality, and user satisfaction in interactive system development.

Lecture 12

Goal-Directed Methodology:

The Goal-Directed Methodology is a user-centered design approach that focuses on understanding users’ goals and tasks to inform the design and development of interactive systems. This methodology emphasizes the importance of aligning system functionality and user interfaces with the goals and needs of the intended users. By prioritizing user goals, designers can create interfaces that are intuitive, efficient, and satisfying to use.

Types of Users:

In the Goal-Directed Methodology, designers typically consider various types of users who may interact with the system. Understanding the characteristics, preferences, and goals of different user groups enables designers to tailor the interface to meet diverse user needs effectively. Here are some common types of users considered in this methodology:

1. **Primary Users:**
   Primary users are the main audience or target users of the interactive system. They directly interact with the system to accomplish their goals and tasks. Designers focus on understanding the primary users’ characteristics, behaviors, preferences, and goals to ensure that the interface meets their needs effectively.

2. **Secondary Users:**
   Secondary users are individuals who may indirectly interact with the system or have a stake in its success but are not the primary audience. They may include administrators, managers, support staff, or other stakeholders involved in the system’s use, management, or maintenance. Designers consider the needs and requirements of secondary users to ensure that the system supports their roles and responsibilities effectively.

3. **Tertiary Users:**
   Tertiary users are individuals or groups who may be impacted by the system’s use or outcomes but do not directly interact with it. They may include customers, clients, or external stakeholders affected by the system’s products, services, or decisions. Designers consider the potential impacts on tertiary users and aim to minimize negative consequences while maximizing benefits.

4. **Novice Users:**
   Novice users are individuals who are new to the system or have limited experience with similar systems. Designers focus on creating interfaces that are easy to learn and use, providing clear guidance and support to help novice users accomplish their goals effectively.

5. **Expert Users:**
   Expert users are individuals who have extensive experience and proficiency with the system or similar systems. Designers aim to provide advanced features, shortcuts, and customization options to support expert users’ efficiency and productivity while avoiding unnecessary complexity or barriers to task completion.

6. **Occasional Users:**
   Occasional users are individuals who use the system infrequently or irregularly. Designers aim to create interfaces that are intuitive and forgiving, allowing occasional users to perform tasks efficiently without requiring extensive training or support.

By considering the needs and characteristics of these different user types, designers can create interfaces that accommodate diverse user groups effectively, enhancing usability, satisfaction, and overall user experience.

Lecture 13


A prototype is a preliminary version or representation of a product, system, or interface that is created to test and validate design concepts, functionalities, and user interactions before final development. Prototypes can take various forms, ranging from simple sketches or wireframes to interactive simulations or working models. The primary purpose of prototyping is to gather feedback, identify design flaws, and iterate on design improvements early in the development process, ultimately leading to the creation of a successful final product.

**Prototyping Techniques:**

Prototyping techniques encompass a range of methods and tools used to create prototypes for different purposes and stages of the design process. Some common prototyping techniques include:

1. **Paper Prototyping:** Sketching or drawing interface concepts on paper to simulate interactions and gather feedback quickly and affordably.

2. **Wireframing:** Creating low-fidelity digital mockups or blueprints of interfaces using specialized software to visualize layout, navigation, and content structure.

3. **Clickable Prototypes:** Building interactive prototypes with basic functionality using prototyping tools or software to simulate user interactions and workflows.

4. **Wizard of Oz Prototyping:** Simulating interactive features or functionalities manually behind the scenes while presenting a facade of automation to users, allowing designers to test concepts without fully implementing them.

5. **Rapid Prototyping:** Using 3D printing or computer-aided design (CAD) tools to create physical prototypes of products or components for testing and validation.

6. **Simulation Prototyping:** Creating virtual simulations or models of complex systems or processes to explore potential outcomes and interactions in a controlled environment.

**Low Fidelity:**

Low-fidelity prototypes are rough, basic representations of a design concept or interface with minimal detail and functionality. They are typically quick and inexpensive to create, using simple materials such as paper, sketches, or digital wireframes. Low-fidelity prototypes focus on conveying essential aspects of the design, such as layout, structure, and flow, while omitting finer details and interactions. These prototypes are useful for exploring multiple design alternatives, gathering early feedback, and validating high-level concepts before investing significant time and resources in development.

**High Fidelity:**

High-fidelity prototypes are more refined and detailed representations of a design concept or interface, often closely resembling the final product in terms of appearance and functionality. They are typically created using specialized prototyping software or tools and may incorporate realistic graphics, interactive elements, and dynamic behaviors. High-fidelity prototypes aim to simulate the user experience as closely as possible, allowing designers to conduct more realistic usability testing, gather detailed feedback, and refine the design before final implementation. However, they require more time, effort, and resources to create compared to low-fidelity prototypes.

Lecture 14

**Design Synthesis in Human-Computer Interaction (HCI):**

Design synthesis in human-computer interaction (HCI) involves the process of integrating knowledge, insights, and design principles to create effective and user-centered interfaces. It encompasses translating user needs, requirements, and design goals into tangible design solutions that address users’ tasks, preferences, and contexts of use. Design synthesis bridges the gap between user research, conceptualization, and implementation phases of interface design, facilitating the development of intuitive, usable, and aesthetically pleasing interfaces.


Design principles in HCI represent fundamental guidelines or concepts that inform the creation of user interfaces. These principles are derived from research findings, best practices, and theoretical frameworks, guiding designers in making informed design decisions. Examples of design principles in HCI include simplicity, consistency, visibility, feedback, error prevention, and user control. By adhering to these principles, designers can create interfaces that are intuitive, efficient, and satisfying for users to interact with.


Design guidelines provide specific recommendations or instructions for designing interfaces based on established principles and empirical evidence. These guidelines offer practical advice on layout, navigation, interaction design, visual aesthetics, accessibility, and other aspects of interface design. Designers use guidelines as reference points and benchmarks to ensure that their designs meet usability standards and address user needs effectively.


Design rules are prescriptive statements or constraints that govern the behavior or appearance of interface elements based on established conventions or specifications. These rules may be enforced by design tools, development frameworks, or platform standards to maintain consistency and coherence across interfaces. Designers follow rules to ensure compliance with platform requirements, accessibility guidelines, and industry standards, thereby enhancing interoperability and user familiarity.


Design standards are formal specifications or criteria established by organizations or governing bodies to regulate the design, development, and evaluation of interfaces. These standards define requirements for usability, accessibility, performance, security, and interoperability, providing a common framework for designers, developers, and evaluators to follow. Examples of design standards in HCI include ISO standards, web accessibility guidelines (WCAG), and platform-specific design guidelines (e.g., Apple Human Interface Guidelines, Google Material Design).


Design patterns are recurring solutions to common design problems or challenges in interface design. They encapsulate proven design solutions, best practices, and heuristics for addressing specific user needs or interaction scenarios. Design patterns provide reusable templates or templates for designers to apply in their own projects, speeding up the design process and promoting consistency and coherence across interfaces. Examples of design patterns in HCI include navigation patterns, form design patterns, feedback patterns, and error handling patterns.


Design imperatives represent essential principles or requirements that must be addressed to ensure the effectiveness, usability, and satisfaction of an interface. They may include user-centric design, accessibility, inclusivity, performance, security, and scalability considerations. Designers prioritize imperatives throughout the design process to ensure that their designs meet user needs, comply with standards, and align with organizational goals and objectives.

Lecture 15

**Behavior and Form:**

In the realm of human-computer interaction (HCI), behavior and form refer to both the functional and aesthetic aspects of software design. Behavior pertains to how users interact with software, while form relates to the visual and ergonomic characteristics of its interface. Balancing these elements is crucial for creating user-friendly and visually appealing software applications.

**Software Posture:**

Software posture refers to the overall look, layout, and arrangement of interface elements within a software application. It encompasses the visual hierarchy, spatial organization, and ergonomic considerations that influence users’ perception and interaction with the interface. Different types of software may have distinct postures depending on their purpose, context of use, and target audience.

**Posture for Desktop:**

Desktop software typically follows certain design conventions and principles to optimize usability and user experience. Here are some key considerations for desktop software posture:

1. **Layout:** Desktop applications often feature a multi-window layout, with different functional areas or modules organized into separate windows or panes. The main window typically contains primary content and navigation controls, while secondary windows may display auxiliary information or perform specific tasks.

2. **Navigation:** Desktop software should provide clear and intuitive navigation pathways to help users navigate between different sections or features of the application. Common navigation elements include menus, toolbars, breadcrumbs, tabs, and navigation panels.

3. **Information Hierarchy:** Effective desktop software design prioritizes information hierarchy, ensuring that important or frequently accessed features are prominently displayed and easily accessible. Clear visual cues, such as size, color, and placement, help users identify primary actions and content areas within the interface.

4. **Consistency:** Consistency in desktop software design promotes familiarity and predictability, reducing cognitive load and enhancing usability. Designers should maintain consistent layout, styling, and interaction patterns across different screens and modules within the application.

5. **Customization:** Providing customization options allows users to tailor the interface to their preferences and workflow. Desktop software may offer features such as customizable toolbars, keyboard shortcuts, and workspace layouts to accommodate diverse user needs and preferences.

6. **Accessibility:** Accessibility considerations are essential for ensuring that desktop software is usable by individuals with disabilities. Designers should adhere to accessibility standards and guidelines, such as providing keyboard navigation, screen reader support, and adjustable font sizes, to make the software accessible to all users.

By carefully considering these factors and principles, designers can create desktop software interfaces that are intuitive, efficient, and visually appealing, ultimately enhancing user satisfaction and productivity.