🎨 Unit 10 • UI/UX Design Masterclass

Interaction Design (IxD)

Mastering the dynamics of human-computer interaction: Don Norman's foundational design principles, affordances, feedback loops, signifiers, systemic consistency, error prevention, Dan Saffer's micro-interaction framework, transition physics, and mobile touch ergonomics.

⚡ Foundations: Affordance, Signifiers & Feedback
🛡️ Heuristics: Error Prevention & User Control
🌀 Micro-Interactions: Triggers, Rules, Feedback & Loops
📱 Touch Ergonomics: 44/48dp Targets & Gestures
01

Core Principles of Interaction Design

Interaction Design (IxD) focuses on the conversation between humans and digital systems. While visual UI defines appearance, IxD defines behavior over time. Don Norman established six fundamental principles that govern intuitive human-machine interaction:

1. Affordances

The fundamental physical or perceived properties of an object that determine how it can be used. A chair affords sitting; a button affords pressing. In digital software, affordances are simulated via light, shadow, and depth cues.

2. Signifiers

Perceptible visual signals indicating where and how action takes place. While a door handle has physical affordance, a "Push" sign or a bevel is a signifier directing human intention.

3. Feedback Loops

Sending information back to the user acknowledging that an action was received and processed. Without feedback within 100ms, users perceive the system as unresponsive and double-click or abandon.

4. Consistency

Reusing familiar patterns, spatial positions, and terminologies across screens (Internal Consistency) and across common platform expectations (External Consistency).

5. Visibility

The more visible possible actions are, the more likely users will discover them. Core functions should never be hidden under obscure sub-menus or invisible gestures.

6. User Control & Freedom

Empowering users with explicit exits ("Emergency Exits"), multi-level Undo/Redo mechanisms, and non-destructive cancellation paths when unintended states occur.

1
Step 1: Visual Perception of Signifier
User views an elevated purple container with rounded corners and a drop shadow, interpreting its affordance as a clickable button.
2
Step 2: Physical Action & Kinesthetic Trigger
User taps or clicks. The element immediately depresses via scale transform (0.98x) and shifts to its active state (< 50ms).
3
Step 3: Deterministic System Feedback
A spinner replaces the text, communicating active processing. Upon server resolution, a green checkmark confirms success.
02

Error Prevention & Constraints Architecture

Jakob Nielsen's fifth usability heuristic states: "Better than good error messages is a careful design which prevents a problem from occurring in the first place." Modern interaction designers divide human errors into two distinct psychological categories:

1. Slips (Unconscious Execution Errors)

Occur when the user has the correct intention but performs an erroneous action automatically due to distraction or motor inaccuracy.

  • Mitigation: Input format masks (e.g., auto-formatting credit card dashes), file-type restrictions on dropzones, and sensible default parameters.
2. Mistakes (Conscious Mental Model Mismatch)

Occur when the user forms an incorrect goal based on flawed system information or ambiguous labeling.

  • Mitigation: Clear confirmation modals before irreversible destructive actions, explicit preview screens before final order placement, and inline warning callouts.
Error Prevention Pattern System Mechanism User Experience Benefit
Poka-Yoke Constraints Disabling invalid calendar dates (e.g., return flight before departure) Eliminates syntax errors before network submission
Confirmation Thresholds Requiring user to type repository name to confirm deletion Forces deliberate cognitive pause before catastrophic data loss
Forgiving Formats Accepting phone numbers with spaces, parentheses, or dashes Accommodates user habits without throwing parsing exceptions
Grace Period / Undo Toast 5-second countdown banner with "Undo" button upon archiving email Superior to interrupting confirmation popups for low-risk actions
03

Dan Saffer’s Micro-Interaction Framework

Micro-interactions are contained product moments that revolve around a single use case: toggling a switch, liking a post, setting an alarm, or adjusting a slider. Dan Saffer deconstructed every micro-interaction into four interlocking components:

micro-interaction-structure.ascii
[ 1. TRIGGER ] --------------> [ 2. RULES ] --------------> [ 3. FEEDBACK ]
User clicks bookmark button     If unbookmarked -> save     Haptic pulse + icon
(or incoming notification)      If bookmarked   -> remove   animates from outline to fill
                                                                   |
                                                                   v
[ 4. LOOPS & MODES ] <---------------------------------------------+
If user repeatedly taps: trigger confetti animation
If user holds button: open "Save to custom list" drawer mode
1. Triggers

Initiate the micro-interaction. Can be User-Initiated (clicking a button, pulling to refresh, swiping a card) or System-Initiated (battery drops below 20%, download completes).

2. Rules

Determine what happens after the trigger fires. The rules dictate conditional pathways, data validation, and parameter constraints invisible to the user.

3. Feedback

The sensory verification of the rules executing: audio clicks, visual animations, color transitions, or tactile haptic pulses.

4. Loops & Modes

Meta-rules governing lifecycle. Does the interaction repeat? How does behavior adapt over time (e.g., "Don't show this tip again")?

04

Interactive States: Hover, Click, Focus & Loading

Fluid digital products respond gracefully to every phase of pointer and keyboard navigation. The CSS snippet below demonstrates an accessible, multi-state interactive button equipped with high-performance GPU transforms, accessible focus rings, and an animated loading spinner:

interactive-states.css
/* Production-Grade Multi-State Interactive Button */
.btn-interactive {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  min-width: 44px;
  padding: 10px 20px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #ffffff;
  background-color: #8b5cf6;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  /* Hardware-accelerated transitions */
  transition: background-color 0.18s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.12s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.18s ease;
  will-change: transform, box-shadow;
}

/* 1. HOVER STATE: +10% Luminosity & Elevation Lift */
.btn-interactive:hover:not(:disabled) {
  background-color: #7c3aed;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.35);
}

/* 2. ACTIVE / CLICK STATE: Depress & Physical Compression */
.btn-interactive:active:not(:disabled) {
  transform: translateY(1px) scale(0.98);
  box-shadow: 0 1px 4px rgba(139, 92, 246, 0.2);
}

/* 3. FOCUS-VISIBLE STATE: Keyboard Navigation Ring (WCAG 2.2) */
.btn-interactive:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px #8b5cf6;
}

/* 4. LOADING STATE: Spinner Animation & Disabled Pointers */
.btn-interactive.is-loading {
  pointer-events: none;
  opacity: 0.85;
}

.spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
💡 Why will-change: transform Matters

Animating geometric properties like width, height, or top forces browser layout recalculation and paint reflows (causing stuttering 30fps jank). Animating transform and opacity leverages the GPU compositor layer, guaranteeing buttery-smooth 60fps to 120fps performance.

05

Page Transitions & Motion Physics

Digital motion is not cosmetic decoration; it is a spatial narrative tool that prevents cognitive disorientation during navigation. Interfaces should mirror real-world Newtonian physics using carefully tuned easing curves:

Motion Type Recommended Duration Optimal Bézier Curve Behavioral Intent
Micro-interactions (Icons, checkboxes) 100ms – 180ms cubic-bezier(0, 0, 0.2, 1) (Ease Out) Immediate optical acknowledgment without lag
Entering Elements (Modals, bottom sheets) 220ms – 300ms cubic-bezier(0.16, 1, 0.3, 1) (Decelerate) Arrives rapidly, then slows gently into position
Exiting Elements (Dismissed cards) 150ms – 200ms cubic-bezier(0.4, 0, 1, 1) (Accelerate) Leaves swiftly; users do not watch exiting elements
Page Transitions (Route changes) 300ms – 400ms cubic-bezier(0.4, 0, 0.2, 1) (Standard Easing) Maintains continuity without halting workflow
accessible-page-transition.css
/* Smooth Route Slide-In Transition */
.page-enter {
  opacity: 0;
  transform: translateY(16px);
  animation: pageSlideIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes pageSlideIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* WCAG Accessibility: Respecting User Motion Sensitivity */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
06

Gesture-Based Interactions & Touch Target Ergonomics

Mobile Gesture Taxonomy
  • Tap / Press: Primary binary selection (triggers button, opens link).
  • Double Tap: Zooming media content, instant "Like" heart reaction.
  • Swipe / Fling: Carousel pagination, archive email, dismiss notification pill.
  • Pinch / Spread: Granular multi-touch image scaling and map manipulation.
  • Long Press: Contextual quick-action menus, drag reordering trigger.
Fitts's Law in Touch Target Design

Fitts's Law states: The time required to rapidly move to a target area is a function of the distance to the target and the width of the target (T = a + b log2(2D/W)).

  • Screen Edges & Corners: Have infinite virtual width because the finger or cursor stops at the physical bezel.
  • Bottom Navigation: Placing primary targets along the bottom edge minimizes distance D for thumb ergonomics.
1
Natural Thumb Zone (Bottom 1/3 of Viewport)
Requires zero hand repositioning. Reserved for primary CTA buttons, search tabs, and bottom sheets.
2
Stretch Zone (Center Viewport)
Accessible with mild thumb extension. Ideal for scrollable content cards, feed items, and medium-priority toggles.
3
Hard-to-Reach Zone (Top 20% of Screen)
Requires shifting grip or using second hand. Strategic location for irreversible actions (e.g., "Sign Out", "Delete Account") to prevent accidental triggers!
07

Viva Voce & Engineering Interview Questions

Q1 • Theory What is the fundamental distinction between an Affordance and a Signifier in IxD?
An Affordance represents the actual relationship between an object and an actor (what actions are physically or computationally possible, e.g., a touch screen can be tapped). A Signifier is any perceptible visual, auditory, or tactile indicator that communicates where the action should take place and how it will behave (e.g., a drop-shadowed rounded rectangle with "Submit" text signifying it is a button).
Q2 • Framework Explain the four components of Dan Saffer’s micro-interaction framework with a real-world example.
The four components are: 1. Trigger (user taps Instagram heart icon), 2. Rules (if unliked, increment like count by 1 and dispatch API call), 3. Feedback (the heart icon scales up, bounces with spring physics, and fills solid red with an accompanying haptic pulse), and 4. Loops & Modes (if tapped again, rule reverses; double-tapping image activates identical trigger).
Q3 • Psychology How do Slips differ from Mistakes in user interaction psychology, and how does design address each?
A Slip occurs when the user has the correct plan but performs the wrong action automatically due to distraction or motor error (addressed through input masks, confirmation toasts, and undo capabilities). A Mistake occurs when the user forms an erroneous mental model and intentionally executes the wrong plan (addressed through descriptive labels, inline help documentation, and explicit preview dialogs).
Q4 • Engineering Why is Fitts’s Law crucial when positioning interactive elements on mobile devices?
Fitts's Law dictates that target acquisition speed depends on distance and target size. By placing critical interactive buttons at the bottom of the screen (minimizing distance to the resting thumb) and sizing targets to at least 44×44 pt (maximizing target area), developers reduce muscular fatigue and eliminate mis-tap latency.
Q5 • Accessibility Why must web applications support prefers-reduced-motion in interaction design?
Users with vestibular disorders or motion sensitivities can experience severe dizziness, nausea, and vertigo from large-scale UI animations (parallax scrolls, rapid zooms, sliding page transitions). The CSS media query @media (prefers-reduced-motion: reduce) allows developers to substitute complex animations with simple, instant opacity crossfades.
Q6 • Performance Why should CSS interaction animations use transform and opacity instead of top, left, or height?
Changing top, left, margin, or height triggers the browser's Layout and Paint engines on the CPU, forcing geometric reflow across adjacent DOM elements and causing dropped animation frames. In contrast, transform and opacity are processed directly by the GPU's compositor thread, enabling hardware-accelerated 60fps to 120fps motion.
Q7 • Ergonomics What is the minimum touch target dimension mandated by Apple HIG and Google Material Design?
Apple’s Human Interface Guidelines mandate a minimum interactive touch target of 44 × 44 points, while Google’s Material Design specifies 48 × 48 density-independent pixels (dp). Even if the visible graphic icon is only 20px, the interactive tap bounds must meet these standards to prevent missed touches.
Q8 • Usability What is the difference between an Undo Toast notification and a Confirmation Dialog modal?
A Confirmation Dialog is an intrusive modal barrier that halts the user's flow before execution (best reserved for high-risk, irreversible destructions like deleting a production database). An Undo Toast executes the action immediately but provides a temporary (e.g., 5-second) non-blocking window to reverse it, preserving flow efficiency for routine actions.