Human Computer Interaction Notes

Donald Norman’s model - 7
Abowd and Beale framework - 4
Nielsen’s (1994) - 10
Shnedierman and Plaisant’s (2010) - 8
Norman’s 7 Principles - 7
Universal design principles - 7

Lecture 01

What is HCI?

  • An Academic Discipline:
    • Studying people interacting with (computer) technology.
  • A Design Discipline:
    • Designing interventions for systems involving people and technology.

Design - Three 'Use' Words

  • Useful:
    • Functional, performs tasks.
  • Usable:
    • Easy to use, performs the right tasks, enjoyable user experience.
  • Used:
    • Attractive, available, acceptable to the organization.

Lecture 03

Principles and Foundations of HCI

  • HCI combines three main research activities:
    • Creating usability methods and Capturing user experience.
    • Developing new systems, tools, and techniques.
    • Modeling and understanding human behavior.

Influence of Experimental Psychology

  • Models human neuromuscular motor control and perceptual abilities.
    • Focus on controlled experiment paradigm:
    • Independent and dependent variables.
    • Formulating hypotheses.
    • Describing experimental procedures.
    • Ensuring reproducibility.
    • Analyzing results with statistical hypothesis tests.
  • Experiments are based on models.
  • Experimental design must capture realistic models.
  • Tradeoff between internal and external validity:
    • Internal validity: Accuracy of experiment's results.
    • External validity: Generalizability of results to real-world scenarios.

Beyond Controlled Experiments

  • Challenges with ensuring high internal validity can affect usefulness.
  • Low ecological validity indicates poor real-world application.
  • Alternative research methods:
    • Ethnographic research.
    • Recording anecdotal experiences and subjective reactions.
    • Collecting qualitative data using:
      • Think-aloud protocols.
      • Structured interviews.
      • Video coding and transcription.
    • Surveys, focus groups, participatory design, and automated log analysis.

Lecture 06

Donald Norman’s model

Seven stages

  1. user establishes the goal
  2. formulates intention
  3. specifies actions at interface
  4. executes action
  5. perceives system state
  6. interprets system state
  7. evaluates system state with respect to goal

Norman’s model concentrates on user’s view of the interface

Abowd and Beale framework

extension of Norman…

their interaction framework has 4 parts

  1. user
  2. input
  3. system
  4. output

each has its own unique language

interaction ⇒ translation between languages

problems in interaction  =  problems in translation

Lecture 07 - Heuristics

Nielsen’s (1994):

  1. Visibility of system status
  2. Match between system and the real world
  3. User control and freedom
  4. Consistency and standards
  5. Error prevention
  6. Recognition rather than recall
  7. Flexibility and efficiency of use
  8. Aesthetic and minimalist design
  9. Help users recognize, diagnose, and recover from errors
  10. Help and documentation

Shnedierman and Plaisant’s (2010):

  1. Strive for consistency
  2. Cater to universal usability
  3. Offer informative feedback
  4. Design dialogues to yield closure
  5. Prevent errors
  6. Permit easy reversal of actions
  7. Support internal locus of control
  8. Reduce short-term memory load
New suitable Heuristics (for this day and age):
Here are six new suitable heuristics for this day and age:
  1. Prioritise Both Functionality and User Experience: While functionality remains crucial, modern interactive systems must prioritise user experience to be successful. This means designing systems that are not only usable, but also enjoyable and engaging. This principle aligns with the increasing focus on user experience in areas like internet shopping, online communities, and home entertainment, where enjoyment and experience are becoming important decision points for users.
  2. Design for Diverse Modalities and Contexts:  With the rise of ubiquitous and wearable computing, interactive systems need to be designed for diverse modalities, including touch, voice, gestures, and sensors. The design should seamlessly integrate these modalities and adapt to different user contexts, such as location, environment, and emotional state.
  3. Enable Seamless Transition from Novice to Expert: Systems should be easy to learn for new users but also offer flexibility and efficiency for experienced users. Gesture keyboards, for example, can accommodate both novices who trace letters and experts who gesture whole words. This approach ensures that the system remains usable as users gain proficiency.
  4. Embrace Transparency and Control in AI Integration: As AI and LLMs (Large Language Models) become increasingly integrated into interactive systems, transparency and user control are paramount. Users should be informed about how AI is being used and have the ability to understand and potentially modify recommendations or outputs generated by AI. This promotes trust and prevents users from feeling overwhelmed or manipulated by the technology.
  5. Design for Accessibility from the Outset: Accessibility should not be an afterthought but an integral part of the design process. This involves considering the needs of users with disabilities and incorporating features like alternative input methods, adjustable text sizes, and real-time sign language interpretation. Designing for accessibility from the start ensures a more inclusive and user-friendly experience for everyone.
  6. Consider Ethical Implications Throughout the Design Process: Designers must be mindful of the ethical implications of their work, particularly concerning privacy, security, and potential biases. This includes responsible data collection practices, transparent algorithms, and designing systems that promote user well-being and social good. As AI-powered systems become more sophisticated, addressing ethical concerns proactively is crucial for building trust and ensuring responsible innovation.
These new heuristics build on the foundations of established HCI principles and address the evolving technological landscape. They reflect the need for a more holistic and human-centered approach to design that prioritises user experience, accessibility, and ethical considerations alongside functionality.

Lecture 08 - Design Rules

Types of Design Rules

  • Principles
    • Abstract, low authority, high generality
  • Standards
    • Specific, high authority, limited application
  • Guidelines
    • Lower authority, more general application

Main Principle 

Sub Principle 

Learnability 

  • How easy to use new product 

  • Can user learn the steps to their use case well 

Predictability 

Can guess how to use with XP from previous 

Synthesizability 

Reflecting on the effect of actions 

Familiarity 

Familiarness to other systems (even with colours) 

Generalizability 

Extending interactions from previous and apply  

Consistency 

Should not be lot different/confusing from previous 

Flexibility 

  • User has options to fulfil a use case 

Dialogue Initiative 

Does user initiate the I/O? 

Multi-threading 

Can we do multi-tasking 

Task Migratability 

  • Handover the system to take over 

  • Let user start and system do work 

Substitutivity 

Having multiple paths to do a task 

Customizability 

Modifying the UI by 

User 

adaptability 

System 

adaptivity 

Robustness 

  • There is support for users to handle errors 

  • Ensuring actions are repeated 

Observability 

Can user see the working status & internal state 

Recoverability 

Letting user to undo & rectify error 
- going back & retry 

Responsiveness 

  • With elastic services in cloud computing - not an issue 

  • Not letting too much waiting time 

Task conformance 

Mature systems should have all general service available 

Norman’s 7 Principles

  1. Use both knowledge in the world and knowledge in the head.
  2. Simplify the structure of tasks.
  3. Make things visible: bridge the gulfs of Execution and Evaluation.
  4. Get the mappings right.
  5. Exploit the power of constraints, both natural and artificial.
  6. Design for error.
  7. When all else fails, standardize.

Lecture 09 - Evaluation Techniques​

  1. By Expert
    1. Cognitive Walkthrough​
    2. Heuristic Evaluation​
    3. Review-based evaluation​ from the literature
  2. By User
    1. Laboratory studies​
    2. Field studies​

Lecture 10 - Universal Design

Universal design principles

  1. equitable use
  2. flexibility in use
  3. simple and intuitive to use
  4. perceptible information
  5. tolerance for error
  6. low physical effort
  7. size and space for approach and use

Users with disabilities

• visual impairment
– screen readers, SonicFinder
• hearing impairment
– text communication, gesture, captions
• physical impairment
– speech I/O, eyegaze, gesture, predictive systems (e.g. 
Reactive keyboard)
• speech impairment
– speech synthesis, text communication
• dyslexia
– speech input, output
• autism
– communication, education

Lecture 11 - Implementation Support

  • Programming Tools:

    • HCI's impact on programmers: The evolution of coding has changed how programmers interact with systems.
    • Levels of services for programmers: Tools have advanced from hardware-specific to interaction-technique specific. This includes layers like:
      • Windowing systems
      • Interaction toolkits
      • User Interface Management Systems (UIMS)
  • Windowing Systems:

    • Roles:
      • Provide device independence by abstracting hardware, using models like pixels, PostScript, GKS, and PHIGS.
      • Enable resource sharing for simultaneous user tasks by isolating applications.
    • Architectures: The PDF discusses three potential software architectures, all assuming a separate device driver but differing in multiple application management. The client-server architecture is highlighted.
    • X Windows:
      • Uses a pixel imaging model with a pointing mechanism.
      • Employs the X protocol for server-client communication.
      • Includes a separate window manager client to enforce input/output policies like input focus, window arrangement, and inter-client data transfer.
  • Programming the Application:

    • Read-evaluation loop: Processes user events within a loop. Simple for modal dialogues but complex for non-modal ones.
    • Notification-based: Uses callbacks triggered by events. Easier for non-modal dialogues but requires mode flags for modal ones.
    • System style: The chosen style influences the interface.
      • Modal dialogue boxes are straightforward with event loops but harder with notifications.
      • Non-modal dialogue boxes are the opposite.
    • Implementation and design: Design should guide implementation, not the other way around.
  • Toolkits:

    • Interaction Objects: Toolkits abstract input and output as interaction objects, promoting consistency, generalizability, and object-oriented programming.
    • Examples:
      • Java AWT: Provides basic widgets and uses a notification-based approach.
      • Java Swing: Built atop AWT, it offers higher-level features and uses the MVC architecture.
  • User Interface Management Systems (UIMS):

    • Purpose: UIMS reside above toolkits, making interface creation more accessible to non-programmers.
    • Concerns: UIMS focus on conceptual architecture, implementation techniques, and support infrastructure.
    • Terminology: Alternative terms include UI development system (UIDS) and UI development environment (UIDE), with Visual Basic as an example.
    • Conceptual Architecture:
      • UIMS emphasize separation between application semantics and presentation, enhancing portability, reusability, interface diversity, and customizability.
      • The Seeheim model is a significant conceptual architecture.
  • Seeheim Model and Extensions:

    • Layers: The Seeheim model proposes layers like Presentation, Dialogue Control, and Functionality (application interface).
    • Conceptual vs. Implementation: The Seeheim model, while born from implementation, is primarily conceptual.
    • Semantic Feedback: Different feedback types (lexical, syntactic, semantic) have varying speeds; rapid semantic feedback might be necessary in some cases.
    • Bypass/Switch: Allows direct but controlled communication between the application and presentation for rapid semantic feedback.
    • Arch/Slinky: Expands on Seeheim, adding more layers (e.g., lexical/physical) and allowing layer importance to vary between systems or components.
  • Monolithic vs. Component-Based:

    • Seeheim leans towards large components, while smaller components, often used with object-oriented toolkits, can be more manageable.
    • Smalltalk's MVC (Model-View-Controller) is an example of a component-based approach.
  • MVC and Alternatives:

    • MVC (Model-View-Controller): Though widely used, its pipeline nature (input → control → model → view → output) poses challenges in graphical interfaces where input interpretation requires output context.
    • PAC (Presentation-Abstraction-Control): Closer to Seeheim, PAC offers a cleaner separation but is less prevalent in practice than MVC.
  • UIMS Implementation:

    • Dialogue Controller Techniques:
      • Menu networks
      • State transition diagrams
      • Grammar notations
      • Event languages
      • Declarative languages
      • Constraints (important for both single and multi-user interfaces)
      • Graphical specification
    • Graphical Specification:
      • Involves drawing components and defining actions via scripts or links.
      • Though popular, it can obscure the system's overall flow due to its focus on individual screens.
  • Dialogue Control Trends:

    • A shift is observed from internal control (e.g., read-evaluation loop) to external control and presentation control (e.g., graphical specification).

Lecture 14 - Stakeholder requirements

  • Identifying Stakeholders and Their Needs:

    • It is crucial to identify all stakeholders involved in a system, beyond just the direct users. Stakeholders include anyone affected by the system's success or failure, including those who benefit, put in effort, or hold power within the organizational structure.
    • Stakeholders can be classified as primary (direct users), secondary (receive output or provide input), tertiary (indirectly affected), and facilitating (involved in development or deployment).
    • Designers must prioritize stakeholder needs, often with primary stakeholders taking precedence, but this can vary depending on the system's criticality.
  • Addressing Conflicts and Power Dynamics:

    • Systems designed without considering potential conflicts between individuals and groups are likely to fail. Power dynamics within an organization and how the system might shift those dynamics must also be analyzed.
    • For example, a system might disproportionately benefit one group over another, leading to disuse or sabotage. Designing systems with symmetrical effort and benefit distribution can help mitigate this issue.
  • Organizational Context and Impact:

    • Systems should be designed within the broader organizational context, considering existing work practices, communication structures, and potential impacts on management styles.
    • Ignoring the social and organizational aspects can lead to unforeseen consequences and system failure, even when the technical aspects are sound.
  • Methodologies for Understanding Requirements:

    • Socio-technical modeling emphasizes understanding the interplay between the technical, social, organizational, and human aspects of a system. It utilizes methods like interviews, observations, and document analysis to gather information.
    • Soft systems methodology, developed by Checkland, prioritizes understanding the situation fully before considering technological solutions. It involves a seven-stage process, including creating a "rich picture" of the problem and employing the CATWOE model to define the system from different perspectives.
    • Participatory design actively involves users in the design process, fostering a sense of ownership and leading to more user-centered solutions. It employs techniques like brainstorming, storyboarding, and workshops.
    • Ethnographic methods, adapted from anthropology, focus on observing users in their natural work context to gain an unbiased understanding of social and cultural influences on system use.
    • Contextual inquiry, developed by Holtzblatt, combines ethnographic principles with a more structured approach, involving apprenticeships, detailed interviews, and the creation of various models to represent work processes.
  • Measuring Success and Overcoming Challenges:

    • Evaluating the success of a system can be difficult. While economic benefits are often diffuse and challenging to measure, job satisfaction and improved information flow are good indicators.
    • Overcoming the initial hurdle of user adoption is essential, as many systems rely on a critical mass of users to be beneficial. Strategies include targeting specific user groups initially and designing for immediate benefit even with a small user base.

By carefully considering these points and utilizing the various methods and approaches outlined, system designers can create solutions that are not only functional but also meet the diverse needs of stakeholders and seamlessly integrate within the complex social and organizational fabric.

Interaction Design Basics

understand your materials

• understand computers

– limitations, capacities, tools, platforms

• understand people

– psychological, social aspects

– human error

• and their interaction …

Affordance

Can the user afford to understand it?
    icons ‘afford’ clicking

Comments

Popular posts from this blog

Data Visualization Notes