--- name: hci description: Human-computer interaction design principles license: MIT metadata: audience: developers category: design --- ## What I do - Design intuitive human-computer interfaces - Apply cognitive load theory - Implement gesture and voice interactions - Create natural user interfaces - Evaluate interaction paradigms - Optimize user task efficiency ## When to use me When designing interactive systems, selecting interaction modalities, or optimizing user efficiency. ## Key Concepts ### Interaction Paradigms ``` CLI: Command-line interfaces GUI: Graphical user interfaces WIMP: Windows, Icons, Menus, Pointers NUI: Natural User Interfaces TUI: Tangible User Interfaces ``` ### Fitts's Law ``` Time = a + b * log2(D/W + 1) D = distance to target W = width of target ``` - Larger targets are faster to click - Edges and corners are optimal positions - Context menus reduce travel distance ### Hick's Law ``` RT = a + b * log2(n + 1) n = number of choices ``` - Minimize options for speed - Use progressive disclosure - Chunk information ### Design Principles 1. Visibility of system status 2. Real-world mapping 3. User control 4. Error prevention and recovery 5. Consistency 6. Flexibility 7. Aesthetic design 8. Help and documentation ### Cognitive Models - GOMS (Goals, Operators, Methods, Selection) - Keystroke-Level Model (KLM) - Cognitive Walkthrough - Think-aloud protocol ### Input Modalities - Mouse/keyboard - Touch gestures - Voice commands - Eye tracking - Brain-computer interfaces - Motion sensors