Skip to content

Instantly share code, notes, and snippets.

@eonist
Last active April 28, 2025 14:05
Show Gist options
  • Save eonist/6b311febace86784c5f9b7e4411546ad to your computer and use it in GitHub Desktop.
Save eonist/6b311febace86784c5f9b7e4411546ad to your computer and use it in GitHub Desktop.
HIG - User Interaction
  • User Interaction: Details best practices for interactions, including gestures, touch targets, and feedback mechanisms like haptics[4].

Here's a breakdown of Apple's Human Interface Guidelines (HIG) focused on User Interaction, synthesized from the latest documentation:


Core Interaction Principles

  • Clarity: Every interactive element (buttons, gestures) must be instantly recognizable and unambiguous[3][5].
  • Feedback: Provide immediate visual, haptic, or auditory responses to user actions[6][8].
  • Consistency: Use standard system controls and interaction patterns to match user expectations[5][7].

Key Components

1. Gestures

  • Direct vs. Indirect: Prefer indirect gestures (e.g., button taps) for common actions, and reserve direct gestures (e.g., swipes) for content manipulation[2].
  • Standard Gestures:
    • Tap: Primary action (e.g., selecting an item).
    • Swipe: Navigation (e.g., back/forward) or revealing options (e.g., "Delete" in lists)[6].
    • Pinch: Zooming content (maps, images).
    • Drag: Reordering lists or moving objects[6].
    • Long Press: Contextual menus or secondary actions (use sparingly)[6].
  • Avoid Conflicts: Ensure gestures don’t overlap with other interactive elements[6].

2. Feedback Mechanisms

  • Haptics: Use UIImpactFeedbackGenerator for tactile responses (e.g., confirming a button press)[6][8].
  • Animations: Smooth transitions (e.g., sliding views) reinforce spatial relationships and state changes[6][9].
  • Visual Cues: Highlight active elements (e.g., button color changes) to confirm interactions[8].

3. Input Methods

  • Multiple Inputs: Support keyboards, touch bars, and accessibility tools (e.g., VoiceOver) alongside touch[3][4].
  • Touch Targets: Minimum 44x44 points for interactive elements to ensure accuracy[8].
  • Discoverability: Provide subtle hints (e.g., bounce animations) to guide users toward hidden gestures[6][9].

4. Error Handling

  • Clear Messaging: Explain errors in plain language and suggest solutions (e.g., "Password incorrect – try again")[3].
  • Preventive Design: Use input validation (e.g., disabling invalid form submissions) to minimize errors[3][8].

5. Accessibility

  • Dynamic Type: Support adjustable text sizes for readability[4].
  • VoiceOver: Ensure all interactive elements have descriptive labels[4].
  • Customization: Allow users to adjust gesture sensitivity or feedback intensity[8].

Best Practices

  • Performance: Ensure feedback occurs within 100ms to prevent perceived lag[8].
  • Contextual Actions: Use haptics/animations proportionally (e.g., stronger feedback for critical actions like deletions)[6][8].
  • Testing: Conduct A/B tests to refine gesture responsiveness and feedback styles[6][8].

Platform-Specific Notes

  • iOS: Prioritize edge swipes (e.g., system back gesture) and avoid overriding system-wide gestures[2][6].
  • macOS: Use keyboard shortcuts (⌘C, ⌘V) alongside trackpad gestures[3].
  • watchOS: Simplify interactions (e.g., force touch for contextual menus)[^HIG].

By adhering to these guidelines, designers create intuitive, responsive interfaces that align with Apple’s ecosystem while reducing cognitive load for users.

Citations: [1] https://developer.apple.com/design/human-interface-guidelines [2] https://developer.apple.com/design/human-interface-guidelines/gestures [3] https://www.netguru.com/blog/ios-human-interface-guidelines [4] https://developer.apple.com/design/human-interface-guidelines/accessibility [5] https://dev.to/matheussricardoo/navigating-apples-human-interface-guidelines-hig-a-practical-guide-26ka [6] https://moldstud.com/articles/p-building-intuitive-gestures-in-ios-app-design [7] https://pageflows.com/resources/apples-human-interface-guidelines/ [8] https://moldstud.com/articles/p-designing-touch-responsive-interfaces-for-mobile-devices-best-practices-and-tips [9] https://developer.apple.com/videos/play/wwdc2018/803/


Answer from Perplexity: pplx.ai/share

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment