Mobile App Wiki

Mobile App Wiki

mobileapp.wiki

Home

Categories

mobileapp.wiki

Mobile App Wiki

Mobile app development knowledge base

PrivacyHomeSitemapRSS
© 2026 mobileapp.wiki
Home/UI/UX/Haptic Feedback in Mobile Apps: Types, Best Practices, and Implementation
UI/UX4 min read

Haptic Feedback in Mobile Apps: Types, Best Practices, and Implementation

Add haptic feedback to your mobile app the right way. Learn about iOS Taptic Engine, Android vibration APIs, feedback types, and when to use each one.

haptic-feedbacktaptic-enginevibrationiosandroiduxtouch-feedbackcore-hapticsuifeedbackgenerator

Table of Contents

What Is Haptic Feedback?Why Haptic Feedback MattersHaptic Types on iOSUIImpactFeedbackGeneratorUISelectionFeedbackGeneratorUINotificationFeedbackGeneratorCore HapticsHaptic Feedback on AndroidWhen to Use (and When Not to)Implementation Best PracticesHaptic AccessibilityRelated Topics

What Is Haptic Feedback?

Haptic feedback uses vibrations and tactile sensations to communicate information through touch. Modern smartphones have precise linear actuators that create nuanced vibrations far beyond the crude buzzing of early phones. A light tap confirms a selection, a firm thump signals impact, and quick pulses indicate a warning.

Apple's Taptic Engine and Android's amplitude-controlled vibration motors create distinct patterns that users subconsciously associate with specific actions.

Why Haptic Feedback Matters

Haptic feedback serves three purposes. Confirmation tells users their touch was registered without looking at the screen. Communication uses different patterns to convey success, error, or warning. Engagement creates a physical sense of quality and polish that visual feedback alone cannot achieve.

Apps with thoughtful haptic feedback consistently score higher in user satisfaction surveys.

Haptic Types on iOS

UIImpactFeedbackGenerator

Simulates physical impact with five styles:

StyleSensationUse Case
LightGentle tapToggle switches, selection changes
MediumFirm pressButton confirmation, snapping to position
HeavyStrong thumpSignificant actions, drag-and-drop landing
RigidSharp, preciseAlignment snaps, ruler ticks
SoftDull, roundedFlexible surfaces, stretchy interactions

UISelectionFeedbackGenerator

A subtle tick designed for scrolling through discrete values. Used in pickers, sliders snapping to positions, and selection wheels. This is the lightest haptic type available on iOS.

UINotificationFeedbackGenerator

Three distinct patterns for outcomes. Success is a light bounce (payment completed, item saved). Warning is an attention-getting pattern (approaching a limit). Error is a sharp double-tap (failed action, invalid input).

Core Haptics

For advanced use cases, Core Haptics provides complete control over custom sequences of transient (tap) and continuous (buzz) events with precise timing, intensity, and sharpness. Used in games, music apps, and immersive experiences.

Haptic Feedback on Android

HapticFeedbackConstants: Built-in patterns through View.performHapticFeedback() including CONFIRM, REJECT, LONG_PRESS, CONTEXT_CLICK, CLOCK_TICK, and KEYBOARD_TAP.

VibrationEffect (API 26+): Custom patterns with amplitude control. createOneShot for single vibrations, createWaveform for sequences, and createPredefined for standard effects.

Rich Haptics (API 30+): Android 11 introduced GESTURE_START, GESTURE_END, DRAG_START, and more nuanced effects. Android 12+ improved hardware support further.

Important: haptic quality varies significantly across Android devices. Flagship phones from Samsung, Google, and OnePlus have excellent motors. Budget phones may have crude vibration hardware. Always test on multiple devices and provide fallback patterns.

When to Use (and When Not to)

Good use cases: Toggle switches (light impact), pull-to-refresh threshold (selection tick), swipe actions (impact when revealed), drag-and-drop landing, long press menus, payment confirmation (success notification), form validation errors, slider steps, and tab switching.

Bad use cases: Every button tap (overwhelming and quickly annoying), scrolling (continuous haptics are distracting), background events (haptics should respond only to user actions), text input (the system keyboard already handles this), and frequent automated updates like live scores (too repetitive).

Implementation Best Practices

Prepare generators before you need them. On iOS, call prepare() on UIFeedbackGenerator before the expected haptic (for example, when a drag gesture begins). Without preparation, there is a noticeable delay on the first fire.

Respect user settings. Both platforms let users disable haptics. iOS handles this automatically through UIFeedbackGenerator. On Android, check system settings for haptic preferences.

Keep it subtle. The most common mistake is overuse. If everything vibrates, nothing stands out. Reserve strong haptics for significant moments.

Match audio and visual feedback precisely. A button animation must coincide exactly with the haptic pulse. Mismatched timing feels wrong even if users cannot explain why.

Haptic Accessibility

Some users have conditions making vibrations uncomfortable or imperceptible. Never rely solely on haptics for critical information. Always pair with visual and audio feedback. Support users who disable haptics entirely. Consider offering a haptic intensity setting within your app.

Related Topics

  • Gesture Navigation Guide
  • Micro-Interactions Guide
  • Mobile Accessibility Guide

How did you find this article?

Share

← Previous

Apple Human Interface Guidelines: The Complete Guide for App Developers

Next →

Material Design 3: The Complete Guide for Android App Developers

Related Articles

Apple Human Interface Guidelines: The Complete Guide for App Developers

Master Apple Human Interface Guidelines (HIG) to build iOS apps that feel native, pass App Store review, and deliver great user experiences.

Material Design 3: The Complete Guide for Android App Developers

Learn Material Design 3 (Material You) for building modern Android apps with dynamic color, updated components, and adaptive layouts.

Mobile App Onboarding: Patterns, Best Practices, and Conversion Tips

Explore proven onboarding patterns for mobile apps including walkthroughs, progressive disclosure, and personalization to boost user activation.

Mobile Accessibility: A Complete Guide to Building Inclusive Apps

Build accessible mobile apps that work for everyone. Covers VoiceOver, TalkBack, Dynamic Type, color contrast, and WCAG compliance for iOS and Android.

Dark Mode Implementation: A Practical Guide for iOS and Android

Implement dark mode correctly on iOS and Android. Covers semantic colors, image adaptation, testing strategies, and common pitfalls to avoid.