← Back to Course

Module 24

Mobile Patterns

Part B

Print vs Web

09

undefined

undefined

Part C

Science & Psychology

10

undefined

undefined

undefined
Fitts's Law

undefined

undefined
Touch Accuracy

undefined

undefined
One-Handed Use

undefined

Part D

Real-World Examples

11

Mobile Patterns in Practice

How top apps implement mobile-first design.

Bottom Sheet

Peek → Half → Full

Principles Identified:
Progressive Disclosure Location preview expands to full details
Thumb Zone All controls at bottom of screen
Snap Points Three distinct sheet heights

Swipe Actions

Archive, Flag, Delete

Principles Identified:
Hidden Power Secondary actions revealed on swipe
Visual Hints Partial swipe shows what's available
Undo Safety Accidental deletes can be undone

Bottom Navigation

5 core actions

Principles Identified:
Thumb Zone All primary navigation at bottom
Recognition Icons immediately recognizable
Visual Focus Content area maximized

Part E

Common Failures

12

Mobile Design Mistakes

Common errors that hurt mobile usability.

Failure: Tiny Touch Targets

Hard to tap

Fix: Minimum 44×44pt tap areas

Easy to tap

Failure: Hamburger for Primary Actions

☰

Hidden in corner, hard to reach

Fix: Use visible bottom navigation

🏠🔍➕👤

Visible, in thumb zone

Failure: Ignoring Safe Areas

Button behind notch

Hidden by device cutouts

Fix: Use env(safe-area-inset-*)

Button in safe area

Visible and tappable

Failure: Desktop Hover States on Mobile

Tooltip on hover

No hover on touch!

Fix: Use touch-appropriate feedback

Long-press for info

Touch-appropriate

Part F

Visual Tests

13

Mobile Usability Testing

Validate your mobile design works for real users.

01

Thumb Zone Test

Tests: Reachability

Hold your phone one-handed. Can your thumb reach all primary actions without shifting grip? Frequent actions should be in the comfortable zone (bottom center).

Hold phone normally

Try reaching every button

Note difficult areas

02

Touch Target Audit

Tests: Tap accuracy

Using browser DevTools, measure all interactive elements. Anything below 44×44pt (or 48×48dp on Android) needs larger tap areas.

☑ Buttons: 44pt+ ✓

☑ Links: 44pt height ✓

☑ Icons: 44pt tap area ✓

03

Safe Area Check

Tests: Content visibility

Test on actual devices with notches (iPhone X+, many Android). Check landscape too. Is any content hidden behind notches, rounded corners, or home indicators?

Test on real devices

Both orientations

Check all edges

04

Gesture Discoverability

Tests: Hidden features

Have a new user try your app. Do they discover swipe actions and gestures? If important features are hidden behind gestures, add visual hints.

5-second test

Did user find swipe?

Add hints if not

Part G

CSS Implementation

14

Mobile CSS Implementation

CSS patterns for mobile-first design.

/* Minimum touch target */
.touch-target {
  min-width: 44px;
  min-height: 44px;
  padding: 12px;
}

/* Icon with expanded tap area */
.icon-button {
  width: 24px;
  height: 24px;
  padding: 10px;  /* Increases tap area */
  margin: -10px;  /* Maintains visual spacing */
}

/* Comfortable spacing */
.button-group {
  display: flex;
  gap: 8px;  /* Prevents mis-taps */
}
Touch Target Sizing via CSS
  • min-width/height: 44px - Apple HIG minimum
  • padding expands tap area - Visual element can be smaller
  • gap prevents mis-taps - Space between targets
/* Respect device safe areas */
.container {
  padding-top: env(safe-area-inset-top);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
}

/* Fixed bottom bar */
.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding-bottom: env(safe-area-inset-bottom);
}
Safe Area Padding via CSS
  • env(safe-area-inset-*) - iOS/modern browser support
  • Top for status bar - Also for notch on some devices
  • Bottom for home indicator - Critical for fixed bottom elements
.bottom-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-radius: 16px 16px 0 0;
  padding: 16px;
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
  transform: translateY(100%);
  transition: transform 0.3s ease-out;
}

.bottom-sheet.open {
  transform: translateY(0);
}

.drag-handle {
  width: 32px;
  height: 4px;
  background: #ddd;
  border-radius: 2px;
  margin: 0 auto 16px;
}
Bottom Sheet via CSS
  • border-radius top only - Rounded top corners
  • transform for animation - Slides up from bottom
  • drag-handle visual cue - Indicates draggable
/* Remove 300ms tap delay */
html {
  touch-action: manipulation;
}

/* Active state feedback */
.button:active {
  transform: scale(0.95);
  opacity: 0.9;
}

/* Prevent text selection on buttons */
.button {
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
Touch Feedback via CSS
  • touch-action: manipulation - Removes 300ms delay
  • :active for feedback - Immediate visual response
  • tap-highlight-color - Removes default blue highlight

Part H

Self-Assessment

15

Self-Assessment

Test your understanding of mobile design patterns.

Q1

What is the minimum recommended touch target size?

Click to reveal
Q2

What is the 'thumb zone' and why does it matter?

Click to reveal
Q3

Why use bottom sheets instead of centered modals on mobile?

Click to reveal
Q4

What are safe areas and how do you handle them in CSS?

Click to reveal
Q5

How do you provide feedback for touch interactions?

Click to reveal

Key Takeaways

44pt Minimum Touch Targets undefined

undefined

Design for the Thumb undefined

undefined

Bottom Sheets Over Modals undefined

undefined

Respect Safe Areas undefined

undefined

Touch-Appropriate Feedback undefined

undefined