/ references / case-studies / mobile-apps / ios-onboarding.md
ios-onboarding.md
  1  # iOS Onboarding Flow
  2  
  3  ## Overview
  4  - **Type:** Mobile app (Onboarding screens)
  5  - **Style:** Professional + Excitement
  6  - **Primary color:** System blue or brand color
  7  - **Typography:** SF Pro (iOS system font)
  8  
  9  ## Why It Works
 10  
 11  1. **Progressive disclosure** — Shows one feature per screen. No overwhelming information dumps.
 12  2. **Visual + text balance** — Large illustration/icon (60% of screen), concise text (40%).
 13  3. **Clear progress indicator** — Dots or progress bar shows "3 of 5" so users know how long this takes.
 14  4. **Skip option** — Always provide a way to skip onboarding. Respect user time.
 15  
 16  ## Key Patterns
 17  
 18  ### Onboarding Screen Structure
 19  ```css
 20  .onboarding-screen {
 21    display: flex;
 22    flex-direction: column;
 23    height: 100vh;
 24    padding: 60px 32px 40px;
 25    background: white;
 26  }
 27  
 28  .onboarding-visual {
 29    flex: 1;
 30    display: flex;
 31    align-items: center;
 32    justify-content: center;
 33    margin-bottom: 40px;
 34  }
 35  
 36  .onboarding-visual img {
 37    max-width: 280px;
 38    max-height: 280px;
 39  }
 40  
 41  .onboarding-content {
 42    text-align: center;
 43  }
 44  
 45  .onboarding-content h1 {
 46    font-size: 28px;
 47    font-weight: 700;
 48    line-height: 1.2;
 49    margin-bottom: 12px;
 50    color: #000;
 51  }
 52  
 53  .onboarding-content p {
 54    font-size: 17px;
 55    line-height: 1.5;
 56    color: #666;
 57    margin-bottom: 32px;
 58  }
 59  
 60  .progress-dots {
 61    display: flex;
 62    gap: 8px;
 63    justify-content: center;
 64    margin-bottom: 24px;
 65  }
 66  
 67  .dot {
 68    width: 8px;
 69    height: 8px;
 70    border-radius: 50%;
 71    background: #ddd;
 72  }
 73  
 74  .dot.active {
 75    background: #007AFF;
 76  }
 77  
 78  .btn-primary {
 79    width: 100%;
 80    padding: 16px;
 81    font-size: 17px;
 82    font-weight: 600;
 83    color: white;
 84    background: #007AFF;
 85    border: none;
 86    border-radius: 12px;
 87    margin-bottom: 12px;
 88  }
 89  
 90  .btn-skip {
 91    width: 100%;
 92    padding: 16px;
 93    font-size: 17px;
 94    font-weight: 400;
 95    color: #007AFF;
 96    background: transparent;
 97    border: none;
 98  }
 99  ```
100  
101  ## iOS Design Guidelines
102  
103  - **Touch targets:** Minimum 44x44pt
104  - **Safe areas:** Respect top notch and bottom home indicator
105  - **Typography:** SF Pro Text (body), SF Pro Display (large text)
106  - **Corner radius:** 12-16pt for buttons, 8-12pt for cards
107  - **Shadows:** Subtle, iOS uses light shadows (0 2px 8px rgba(0,0,0,0.1))
108  
109  ## When to Use
110  First-time user experience, feature announcements, permission requests.
111  
112  ## Key Takeaway
113  Mobile onboarding should be fast (3-5 screens max), visual (show don't tell), and skippable (respect user agency).