Advertisement
UI & Interface Sounds

How to Design Blip Sounds for Mobile App Buttons and Touch Feedback

A practical guide to blip sounds in mobile apps, covering why most buttons should stay silent, the phone speaker response that changes every frequency decision, the haptic-audio timing window, and the audio session rules that determine whether a blip is heard at all.

Most mobile app buttons should not make a sound. This is the first and most important design principle for mobile blip sounds, and it is the one that most app developers get wrong. The intuition that "a button should confirm the tap" is a game design intuition, not an app design one. In a game, the player expects feedback for every interaction. In an app, the user expects the interface to respond and nothing more, and any sound the app produces is an intrusion that the user has to tolerate.

This is why the default state of a mobile app's audio is silence. A well-designed app has no button sounds at all, or has a very small set of sounds reserved for the moments where the visual feedback is genuinely insufficient. The question is not "which blip should this button use" but "does this button need a blip at all", and the answer is no for the vast majority of buttons in the vast majority of apps.

This article is about the small set of cases where the answer is yes, and the specific constraints that make mobile blips different from the blips in any other context. The blip sound design guide covers the parameter ranges for a blip in isolation; this article is about what happens when those parameters meet a phone speaker, a haptic motor, and a user who did not ask for the app to make noise.

When does a mobile app button actually need a sound?

The cases where a button needs a sound are narrow, and each one has a specific justification that goes beyond "the user tapped it". If a button cannot articulate one of these justifications, it should stay silent.

The action is irreversible and significant. A purchase confirmation, a permanent deletion, an account cancellation. The sound is not confirming that the button was tapped; it is marking the moment as important. A silent version of this button is a button the user can tap without registering that something consequential happened.

The visual feedback is delayed. A button that triggers a network request and only shows its result after the request completes needs an immediate acknowledgement, because otherwise the user taps it again thinking it did not register. The blip fills the gap between the tap and the visual response.

The button is part of a time-sensitive interaction. A camera shutter, a stopwatch, a recording start. The user needs to know the action happened at the moment it happened, and the visual response cannot arrive fast enough.

The button is used by accessibility features. When the user has VoiceOver or TalkBack active, the sound is a secondary confirmation of an action that the screen reader is already announcing. It reinforces the information without replacing it.

The cases where a button does not need a sound are the vast majority. A navigation button, a menu toggle, a text input, a settings change, a scroll — none of these benefit from a sound. The visual change is sufficient, and the sound is a distraction. A keypad in a banking app, a keyboard in a note-taking app, a scrolling list in a social feed — these are the interactions where the user is fastest and least tolerant of sound, and they are the interactions where the app should be silent.

The rule of thumb that works is: if the user would be annoyed to hear the same sound when the app was performing the action in a quiet room, the app should not play it. A sound that is appropriate at 8 PM on a couch is often inappropriate at 7 AM on a train, and the app does not know which situation it is in.

Why does the phone speaker change every frequency decision?

A mobile phone speaker is not a neutral playback device. Its frequency response is dramatic, and it varies significantly between models. The response shape that most phones share is a peak somewhere in the 800 to 1500 Hz range, a sharp rolloff below about 500 Hz, and a second peak above 3000 Hz. The result is that a blip that is balanced on headphones will be either masked or piercing on the phone speaker.

Frequency Phone speaker response Blip behavior
Below 400 Hz Almost no output Inaudible; wasted file size
400 to 800 Hz Rolling off sharply Quiet and muddy
800 to 1500 Hz Peak response Loudest and clearest
1500 to 3000 Hz Flat to slightly reduced Clear, less prominent than the peak
3000 to 5000 Hz Second peak Piercing, fatiguing quickly
Above 5000 Hz Rolling off Harsh and thin

The practical consequence is that a mobile blip should sit in the 800 to 1500 Hz range, which is the range where the speaker reproduces the blip most cleanly. A blip at 1000 Hz that sounds neutral on headphones sounds loud and clear on the phone speaker, which is the correct behavior for a confirmation blip. A blip at 2000 Hz that sounds bright on headphones sounds piercing on the speaker, because it is sitting in the range that the speaker emphasizes.

The frequency range also interacts with the way phones are typically held. A phone held at arm's length in landscape mode is heard from about 30 to 50 centimeters away, which is close enough that the high-frequency content is not attenuated by distance. A phone held in portrait mode is closer to the face, which emphasizes the mid-range. The blip that works in both cases is one that sits in the range the speaker handles well, rather than one that relies on either high or low frequencies to carry the character.

The same speaker response shapes the difference between phones and tablets. A tablet has larger drivers with a wider frequency range, and a blip that is tuned for phone speakers can sound thin on a tablet. The mobile app vs mobile game UI sound comparison covers the broader playback environment considerations; the specific tuning for phone speakers is the narrow range in the table above.

How does haptic feedback change the sound design?

Most modern phones have a haptic motor that can produce a short vibration on a button tap. The haptic and the sound can reinforce each other, but only if they are timed within a specific window. Outside that window, the user experiences two events instead of one, and the button feels unpolished.

The perception threshold for audio-haptic synchronization is asymmetric. When the sound leads the haptic, the user notices the mismatch at around 75 milliseconds of delay. When the haptic leads the sound, the user tolerates up to around 110 milliseconds. This asymmetry is useful in practice, because the haptic motor on most phones takes 10 to 30 milliseconds to reach its full vibration, which means the haptic signal should be sent before the audio signal.

The practical timing for a mobile button:

  • Send the haptic signal first. The haptic motor starts spinning up while the audio system prepares the sound.
  • Play the audio 10 to 20 milliseconds later. The two signals arrive at the user's perception at approximately the same moment.
  • The sound itself should be very short. A 20 to 40 millisecond blip pairs well with a haptic pulse of similar duration. A longer blip makes the haptic feel late, because the sound continues after the vibration has stopped.

The haptic has a second effect on the sound design: it makes the sound less critical. If the button has a haptic, the sound is reinforcement rather than primary feedback. This means the sound can be quieter, because the haptic is already confirming that the tap registered. The sound only needs to add a character that the haptic cannot provide. The audio-haptic synchronization guide covers the full perception model; the mobile button case is a specific application of the same principles.

The haptic also has a failure mode that is specific to mobile. Some phones have weaker haptic motors than others, and some users disable haptics entirely. A button that relies on the haptic to confirm the tap, with the sound as an afterthought, becomes a button that gives no feedback at all on a device with haptics disabled. The sound should be sufficient on its own, with the haptic as an enhancement rather than a requirement.

What audio session and mute switch rules apply?

A mobile app does not control the audio environment the way a game does. The app has to respect the phone's audio session, the user's mute switch, and the audio focus rules of the platform. Getting these wrong produces apps that make noise when they should not, or that produce no sound when the user expects them to.

On iOS, the app has to choose an audio session category when it starts. The category determines how the app interacts with the mute switch and with other audio. For a button blip, the correct category is almost always AVAudioSessionCategoryAmbient.

iOS category Silenced by mute switch Interrupts other audio
Ambient Yes No
Solo Ambient Yes Yes
Playback No Yes
Play and Record No Yes

The Ambient category is the right choice for a button blip because it respects both the mute switch and the user's other audio. If the user is on silent, the blip is silent. If the user is listening to music, the blip plays underneath the music rather than interrupting it. The Playback category, which is the default for media apps, would ignore the mute switch and interrupt the user's music, which is the wrong behavior for a button tap.

On Android, the equivalent is the audio stream type. A button blip should use STREAM_SYSTEM, which is the stream that respects the system sound settings and the phone's silent mode. Using STREAM_MUSIC would play the blip through the music stream, which ignores the silent mode and interrupts any music the user is playing.

The mute switch is the more important of the two considerations. A phone on silent is a user who has explicitly told the phone not to make noise, and an app that plays a sound anyway is an app that has violated the user's intent. This is a common source of one-star reviews for apps that use the wrong audio session category, and it is entirely avoidable by using the correct category from the start.

The UI sound design guide covers the general structure of a UI sound set. On mobile, the structure is smaller: most apps need zero to three sounds, and the rest of the set is silence.

What are the performance and battery considerations for mobile blips?

A blip is a small sound, but on a mobile device every sound has a cost. The audio system has to wake the audio hardware, decode the file, and route it to the output. These operations take time and power, and a blip that plays frequently adds up.

The specific considerations:

Audio hardware wake-up. When a phone has been idle, the audio hardware is in a low-power state. Playing the first sound wakes the hardware, which takes 100 to 300 milliseconds and consumes a burst of power. A blip that plays once when the user taps a button is fine. A blip that plays on every keystroke in a text field keeps the audio hardware awake, which drains the battery.

File decode cost. A short blip in WAV format decodes almost instantly. A compressed blip in MP3 or OGG requires the decoder to run, which costs more CPU. For a button that plays once, the difference is invisible. For an interaction that plays a blip twenty times per second, the decode cost becomes measurable. The file size reduction guide covers the format tradeoffs; on mobile, WAV is preferable for short blips despite the larger file size, because the decode cost is lower and the file size difference is negligible at short durations.

Memory footprint. A loaded audio file stays in memory whether or not it is playing. A game with thirty sounds loaded has thirty files consuming memory. A mobile app with a blip should load the blip only when it is needed and release it afterward, rather than loading the entire audio set at startup. The memory saved is small in absolute terms, but on a phone with aggressive background app management, every megabyte counts.

Background audio behavior. When the app moves to the background, the audio session should be released. A blip that plays while the app is in the background is a bug that users will report, and the fix is to deactivate the audio session when the app enters the background and reactivate it when the app returns to the foreground. This is a standard pattern, but it is frequently missed by developers who only test the app in the foreground.

The combined recommendation for a mobile app is to have zero blip sounds in the normal interaction flow, and to reserve the blip for the small set of interactions where the visual feedback is genuinely insufficient. When the blip is used, it should be WAV format, loaded on demand, played through the Ambient audio session, paired with a haptic that fires 10 to 20 milliseconds before the sound, and released when the app backgrounds.

How should a mobile blip be tested before shipping?

Testing a mobile blip is different from testing a game blip, because the conditions are harder to simulate. The game blip is tested on the game's target platform with the game's typical audio environment. The mobile blip is tested on phones with different speakers, different haptic motors, different audio settings, and different ambient noise environments.

The specific tests that catch the most problems:

Test on the speaker, not on headphones. A blip that sounds neutral on headphones can be piercing on the phone speaker, because the speaker emphasizes the frequencies around 1000 Hz. The test is to play the blip through the phone's built-in speaker at the volume a user would typically use, and to listen for whether it feels too loud or too bright. If it does, the frequency is too high for the speaker.

Test with the phone on silent. The mute switch is the user's explicit instruction to the phone not to make noise. A blip that plays anyway is a bug. The test is to turn the mute switch on and tap the button. If the blip is audible, the audio session category is wrong and needs to be changed.

Test with music playing. The user is often listening to music while using the app. The blip should play under the music, not interrupt it. The test is to start a music track and tap the button. If the music pauses, the audio session is interrupting rather than mixing. The Ambient category avoids this; the Playback category does not.

Test the haptic pairing. The haptic and the sound should arrive at the user's perception at approximately the same moment. The test is to tap the button twenty or thirty times and to notice whether the haptic feels late relative to the sound, early relative to the sound, or simultaneous. The 10 to 20 millisecond offset described earlier is the starting point; the exact offset depends on the specific phone model and needs to be tuned per target device.

Test at the user's typical volume. A blip tested at maximum volume is not representative of how the app will be used. Most users run their phone at 50 to 70 percent of maximum, and a blip that sounds quiet at maximum will be inaudible at the typical level. The blip should be audible at the volume the user actually uses, which means testing at 60 percent of maximum and tuning the blip level to that context.

The final test is the one that is hardest to automate and most important for the user experience. The test is to use the app for an extended period — a full session of the app's typical usage — and to notice whether the blip becomes annoying at any point. If the answer is yes, the blip should not be in the app. A mobile app's audio is judged by whether the user notices it, and the correct design is one where the user never does.

The contrast between mobile apps and games on this point is the whole reason mobile blips need a different design approach. A game can afford to have a prominent blip, because the player has opted into an interactive audio experience. A mobile app cannot, because the user has opted into an interface, not a game. The blip that works for the game is the blip that fails for the app, and the mobile app's blip is the one that almost disappears, because the interface is what the user is actually using.

Generate a Mobile Blip for App Testing

Open the SfxMaker blip generator and create a short blip in the 900 to 1200 Hz range, which is the frequency band that most phone speakers reproduce most cleanly. Export it as a WAV file and test it on an actual phone speaker at typical volume before committing to the design. The test on the device is what determines whether the blip is balanced; the test on headphones is only the starting point.

Open Blip Sound Generator →
Advertisement