Human-Computer Interaction (HCI) Fundamentals HCI is the study of how people interact with computers and the extent to which computers are developed for successful human interaction. It has expanded to cover almost all forms of information technology design. Golden Principle: "People should come first." Goal: To develop or improve the safety, utility, effectiveness, efficiency, and usability of systems that include computers. Parts of HCI Human: Individual user or group of users. Computer: Technology ranging from desktops to large-scale systems. Interaction: Direct or indirect communication between a human and computer. Modes of Input for HCI Various ways humans interact with computers, including: Keyboard: Primary device for entering text, characters, numbers, and functions via keys. Mouse: Input device for Graphical User Interfaces (GUI), transmits hand movements to cursor. Uses: Move cursor, open/execute programs, select, drag-and-drop, scroll. Speech: Speech recognition allows spoken input to trigger actions, enhancing user-friendliness and productivity. Gesture: Helps computers understand human body language, enabling human-machine interactions without mechanical devices. Touch: Rapidly developing input method for pointing and selecting objects directly on screen (finger or stylus). Fast and requires no specialized pointing device. Facial Expressions: Natural and powerful way for humans to communicate intentions and emotions, used for visual observation and interaction signals. Other Non-Conventional Modes: Alphanumeric keyboard, chord keyboards, handwriting recognition, phone pad, T9 entry. Human Thinking Processes for Computer-Based Tasks Modes of thinking involved in interacting with computer systems: Abstract Thinking: Using concepts to generalize, relate items, and understand theories. Analytic Thinking: Breaking a whole into parts to examine relationships in a logical, step-by-step manner. Conceptual Thinking: Understanding a situation by identifying patterns, connections, and underlying issues. Concrete Thinking: Comprehending and applying factual knowledge, focusing on specific items rather than theoretical representations. Convergent Thinking: Bringing different perspectives together to find a single, logical answer. Creative Thinking: Fresh perspectives for unorthodox solutions, stimulated by brainstorming or lateral thinking. Critical Thinking: Evaluating authenticity, accuracy, worth, validity, or value of something through precise analysis. Deductive Thinking: Logical process deriving conclusions from generally true premises. Divergent Thinking: Generating creative ideas by exploring many possible solutions. Strategic Thinking: Developing effective plans aligned with organizational objectives, long-term planning. Synthetic Thinking: Understanding and designing systems based on their function within an environment, focusing on interrelationships. Tactical Thinking: Short-term planning to address situations and optimize outcomes. Computational Thinking (CT): Problem-solving methods expressing solutions in ways a computer can execute. Procedural Thinking: Disciplined method of thinking in sequence, order, and logically (e.g., following a recipe). Processes for Computer-Based Tasks Reasoning: Drawing conclusions or inferring new information from existing knowledge. Deductive: Logically necessary conclusions from premises. Inductive: Generalizing from seen cases to infer unseen ones. Abductive: Reasoning from a fact to its cause (explanations). Problem Solving: Finding solutions to unfamiliar tasks using existing knowledge. Skill Acquisition: Gradually acquiring expertise in a domain, moving from novice to expert behavior. Errors and Mental Models: Human errors can have catastrophic effects; mental models (theories people build to understand systems) influence interaction. Cognitive Psychology and Information Processing Views the human mind as an information processor with ordered processing stages: Levels of Processing: Encoding perceptual information, internal psychological subsystems utilizing information, functional organization. Low-Level Information Processing: Input and output of 'raw' data. Input: Devices like mouse, joystick, keyboard; mouse shows advantage in positioning time. Output: Conveying system state and available actions (CRT, flat panels, hardcopy, animated graphics, icons, hypertext). Higher-Level Processing: Identification, classification, understanding, analysis, decision-making. Influence of Human Thinking Processes on HCI Emotion: Reactions to events affecting performance (positive emotions foster creativity, negative emotions narrow focus). Individual Differences: Users vary in physical, intellectual capabilities, stress, fatigue, and age; designs should account for these. Psychology & Design: Applying psychological principles requires understanding context and experimental details. Computer Programmers Thinking Solving problems using procedures that are algorithmic, heuristic, or a combination. Algorithmic: Step-by-step process for data processing or problem-solving. Types: Sequence, Branching (if-then), Loop (repetition). Heuristic: Mental shortcuts for quick problem-solving and judgments. Purposes: Visibility of system status, match with real world, user control/freedom, consistency, error prevention. HCI Analysis Methodologies Norman's Model of Interaction: User formulates a plan, executes it, then evaluates system state. Stages: Goal establishment, intention formation, action sequence specification, action execution, system state perception, system state interpretation, evaluation. Abowd and Beale's Interaction Framework: Breaks interaction into four components: System, User, Input, Output, each with its own language. Nemirovsky's Audience Participation Model: Users as an audience exploring media space rather than just participants. Lindgaard et al's User Needs Analysis: User-centered design and requirements engineering integration. Nielsen's Usability Assessment (7 Principles): Use both knowledge in the world and knowledge in the head. Simplify the structure of tasks. Make things visible. Get the mappings right. Exploit the power of constraints. Design for error. When all else fails, standardize. Models of Interaction Task Models: Describe logical activities to achieve user goals. Cognitive Models: Simulate human problem-solving and mental processing. User Models: How users understand systems and predict performance. Domain Models: Promote commerce, persuasive technology products. Context Models: Environment and user context information. Presentation Models: Visual aspects of the interface. Dialogue Models: How user and system communicate. Developing a Model of Interaction Goals for interaction models: Discoverability: Users can find primary objects and understand actions. Learnability: How easy it is for users to internalize system use. User Efficiency & Productivity: Ease of performing common tasks. System Response Time: How long system takes to respond to actions. Delight: How users feel about using the product. Interaction Styles and Difficulties Devices dictate interaction styles. User/System Dialogue: System image (how system works) vs. user's model (how user understands it). Key Features of Interaction Styles: Command Line Interface (CLI): Text-based, powerful for experts, requires memorization. Menus: Options displayed, less demanding on memory, good for novices. Natural Language: Intuitive but ambiguous, unreliable for computers. Question/Answer & Query Dialogue: Guides users through questions (e.g., web forms) or uses specific syntax for database queries (e.g., SQL). Form-Fills & Spreadsheets: Data entry/retrieval, easy to learn, can take up screen space. Windows, Icons, Menus, Pointers (WIMP): GUI elements, evolved from Xerox Star, supports multitasking, visual representation. Point and Click: Related to WIMP, uses buttons and icons for interaction. Three-Dimensional Interfaces: Uses 3D effects, virtual reality, for immersive experiences. Difficulties: Errors (unexpected messages, incorrect models), problems from human perspective (hard to design, multiprocessing, real-time input, robustness, testing, language support). How to Select and Evaluate Interaction Style Instructing: Users issue commands (typing, selecting, gesturing). Conversing: Users dialog with system (speech, text). Manipulating: Users interact with objects in virtual/physical space. Exploring: Users move through virtual environments or physical spaces. User Interface Requirements Statement about an intended product's function and performance. Principles & Components: Based on user needs, experience, and capabilities. User familiarity, consistency, minimal surprise, recoverability, user guidance, user diversity. Task Analysis: Analyzing how people perform jobs to inform UI requirements. Establishing requirements, designing alternatives, prototyping, evaluating. Theoretical Frameworks in Interaction Design Grounded Theory: Develops theory from systematic analysis of empirical data. Distributed Cognition Theory: Analyzes domain area at varying granularity, focusing on cognitive terms. Activity Theory (AT): Explains human behavior in terms of practical activity with the world. Design Guidelines, Rules, and Standards Consistency: Similar operations and elements for similar tasks. Error Prevention: Design to prevent mistakes, offer clear recovery instructions. Frequent Users: Provide shortcuts. Informative Feedback: Clear responses to user actions. Dialog Closure: Users know when tasks are complete. Easy Reversal: Undo actions to reduce anxiety. Internal Locus of Control: User feels in control of the system. Reduce Short-Term Memory Load: Simple displays, consolidated information. User Interface Widgets Elements like dialog boxes, menus, icons, toolbars. Menu Design: Provide choices, based on task structure, can be drop-down, pop-up. Icon Design: Visual representation of objects/actions, cultural and context-specific. Screen Layout: How tasks are split across screens, visual design principles (wording, color, contrast, alignment, grouping, avoiding clutter). User Interface Requirements (Input/Output) Command Assistance: Help screens, manual pages. Command Prompts: Guidance when errors occur, menus. Context-Sensitive Help: Help tailored to current context. Online Tutorials: Guides user through application basics. Online Documentation: Digital versions of manuals. Wizards and Assistants: Step-by-step tools for task completion. User Interface Properties Availability: Help accessible at any time. Accuracy & Completeness: Help matches system behavior. Consistency: Help system consistent internally and with documentation. Robustness: Help system itself is reliable and predictable. Flexibility: Adapts to user expertise and context. Unobtrusiveness: Does not interrupt user's normal work. Prototyping Manifestation of a design for stakeholder interaction and suitability exploration. Purposes: Discuss ideas, test technical feasibility, clarify requirements, user testing. Techniques: Storyboards: Graphical depiction of intended system's outward appearance. Limited Functionality Simulations: Simulating portions of functionality. High-Level Programming Support: Tools like HyperTalk for rapid prototype creation. Paper Prototypes: Effective for getting user reactions, rapid and cheap. Low-Fidelity Mock-ups: Simple, cheap, quick to produce and modify. Ergonomics and Psychology Ergonomics: Study of physical characteristics of interaction (controls, environment, screen quality). Psychology: Design rationale to make explicit consequences of design for the user. Comparative Evaluation in Interaction Design Assessing suitability of user interface design. Usability Specification: Ideally, interfaces evaluated against, but rarely produced. User Involvement: High user involvement enhances chances of acceptable product. Quality Assurance: Evaluation complements testing. Evaluation Metrics Reliability: Consistency of method (same results under same circumstances). Validity: Measures what it intends to measure. Construct Validity: Measuring what you think you're measuring. Internal Validity: Changes due to tested variable, not others. External Validity: Generalizability of results to real world. Ecological Validity: Environment's influence on results. Biases: Distortions in results (evaluator sensitivity, selective data gathering). Scope: How much findings can be generalized. Iterative Design Improving prototypes based on feedback (design, test, measure, redesign cycles). User Interface (UI) Design Process of making interfaces with focus on looks/style, ease of use, and pleasure. UI Types: Text-Based User Interface (CLI): Keyboard-reliant, powerful, requires command memorization. Graphical User Interface (GUI): Mouse-reliant, user-friendly, easier to navigate and learn. Fitts' Law Predicts the time required to move to a target area based on distance and size. Used to measure pointing device effectiveness. $MT = a + b \log_2(A/W + 1)$ Principles of Perception and Cognition Visibility: Functions are visible, users know what to do next. Feedback: Information about actions taken and accomplished. Constraints: Restricting user interaction to correct actions. Consistency: Similar operations and elements for similar tasks. Affordance: Object attributes suggest how they can be used. User-Centered Design (UCD) Approach to designing highly usable systems by understanding user needs. Importance: Satisfies users, increases loyalty, creates relevant websites. Advantages: Reduced development time, increased sales, improved quality of life, reduced stress, support savings, increased productivity. Techniques: User Analysis: Understand users through observation, interviews, personas. Prototypes: Sketches/mock-ups to evaluate design. Usability Evaluation: Test system usability before existence. Iterative Design: Improving designs based on feedback. Review Process for UI Design of Review Process: Requirements, Analysis, Design, Iteration, Prototyping, Implementation, Deployment. Accessibility Tools and HTML Validation Tools Aids in designing, implementing, evaluating, and customizing user interfaces. Using/Developing Style Guides Focus on stakeholders' needs, involve all groups, support data gathering with props. Designing Written Instruments for Feedback Experimental design, survey methods, usability testing (cognitive walkthroughs, heuristic evaluation, GOMS), statistical analysis. Experimental Design Examples Different Participants: Single group allocated randomly to conditions. Same Participants: All participants perform in all conditions. Matched Participants: Pairs matched on user characteristics. Survey Methods Questionnaires, interviews, focus groups, direct observation, indirect observation. Usability Testing Measures user performance on tasks, identifies errors, collects opinions. Cognitive Walkthroughs: Simulating user problem-solving process. Heuristic Evaluation: Methodical procedure to check UI for usability problems (e.g., Nielsen's principles). Nielsen's Ten Heuristic Principles (Reiterated) Visibility of system status. Match between system and real world. User control and freedom. Consistency and standards. Error prevention. Recognition rather than recall. Flexibility and efficiency of use. Aesthetic and minimalist design. Help, diagnosis and recovery from errors. Documentation and Help.