Back Dialpad Β· Caller ID & Keypad
Dialpad Β· iOS & Android Β· 2025

Caller ID control β€” know who you're calling as, every time

Keypad Caller ID redesign
Role
Senior Product Designer
Timeline
Jun β†’ Nov 2025
Team
1 PM Β· iOS Devs Β· Android Devs Β· 1 QA
Tools
Figma Β· Amplitude Β· Jira

From a confusing dropdown to a dialer that gives you real control

The Dialpad mobile keypad had a foundational problem: identity and Caller ID lived in a single combined control, and users couldn't confidently tell which number they were calling from. I was the sole designer on the mobile team for this project β€” owning the end-to-end design across iOS, Android, and tablets, working closely with engineering and product to separate the two concepts, align the experience with desktop, and resolve a chain of production bugs that impacted VIP customers.

65K+
Caller ID selections/month on mobile
Users now actively choose their Caller ID β€” the change went from accidental to intentional
Amplitude Β· post-launch Β· 30-day window
54%
Of Caller ID changes are to call center lines
Agents switching to their business identity before calling β€” the exact behavior the redesign was built for
Amplitude Β· Caller ID selection changes Β· messaging proxy
20Γ—
More in-context usage vs. Settings
~2K iOS users/week change Caller ID from the keypad, vs. 66–164 via Settings
Amplitude Β· post-launch
2
Platforms shipped β€” iOS and Android
Brought to mobile what desktop already had β€” a clear, separate Caller ID selector β€” closing a long-standing parity gap
Spring App Refresh Β· Nov 2025

Users didn't know which number they were calling from β€” and it had real consequences

On mobile, identity (who you're calling as) and Caller ID (which number is shown to the recipient) were combined into a single dropdown. On desktop, they were always separate controls. That gap created four concrete problems:

  • β–ͺ Identity confusion β€” users with multiple lines couldn't clearly tell which number would be used when placing a call.
  • β–ͺ Broken call history β€” calls placed with the wrong Caller ID were logged under the wrong identity. Users couldn't track conversations or find past calls, because the same contact could appear under multiple numbers depending on which line was accidentally selected.
  • β–ͺ Spam risk β€” calling from the wrong number showed up as spam to recipients, damaging trust with customers before the call even started.
  • β–ͺ Drop-off before the call β€” friction in the selection flow was enough to stop users from completing calls.

"Every time I make an outbound call I show up as spam."

"Dialpad seems to push me to use my personal line… I have to double and triple check to MAKE SURE I call them from the correct outbound number."

"I wish our customers could see my caller ID as Trugreen, so they wouldn't think I'm spam."

Desktop β€” Target Identity and Caller ID as separate controls

Desktop β€” Target Identity and Caller ID already separated into two distinct controls

Mobile β€” combined dropdown making Caller ID selection confusing

Mobile (Android + iOS) β€” identity and number merged into one dropdown, making it hard to know which Caller ID would be used

Users who manage multiple identities from their phone

The redesign primarily affects users making high-volume calls or managing multiple lines in professional contexts. Insights came from customer support tickets and a gap analysis between desktop and mobile behavior.

Who Context Need
Sales reps & contact center agents High-volume outbound calls from mobile throughout the day Switch identity and number quickly, without errors β€” a call from the wrong number has real business consequences
Managers with multiple departments Multiple identities configured, calling across different contexts Clear separation of identity vs. number β€” the combined dropdown forced them to interpret each option before every call
Single-line users Don't need to change anything Simplified flow removes noise and reduces time to dial

Finding the right pattern through iteration

Before committing to the dual-selector, I explored three layout directions β€” evaluating how each handled identity switching, Caller ID visibility, and the overall dialing flow. The goal was to find the option that added the most clarity without adding complexity.

Three keypad layout explorations β€” A, B, C

Three layout directions: A β€” minimal with recent contacts, B β€” inline dual selector, C β€” search + avatar row

Option A β€” Minimal

Recent contacts surfaced above the keypad.
Identity selection stays out of the way until needed.

Option B β€” Inline selector

Caller ID shown inline as a tappable row.
Clearer hierarchy, less cognitive load before dialing.

Option C β€” Search + avatars

Contact avatars and search bar integrated at the top.
Richer context but higher visual complexity.

Each direction was prototyped and shared with the team and internal users to validate interaction feel. Here's why none of the three made it to final:

β€’

Too ambiguous

Showing only a phone number at the top β€” without a name or identity label β€” didn't give users enough confidence. We needed 100% clarity on which number and identity were active before placing a call.

β€’

Too cluttered

The avatar row added visual richness but also complexity we weren't ready to ship. The goal was the minimum indispensable β€” a clean screen. Avatars were a good idea, but for a future iteration.

β€’

Still confusing

The inline selector improved the hierarchy but the selection interaction itself remained unclear β€” users still couldn't tell what they were changing or why.

The three explorations pointed to the same conclusion: the selection needed its own dedicated space. We moved to a bottom sheet β€” a separate, focused surface where identity and Caller ID could each be chosen clearly and independently.

Separating two concepts that were never meant to be together

The core decision was straightforward to frame and complex to execute: separate Target (who's calling) from Caller ID (which number is shown), replicating desktop logic in a mobile context.

β€’

Dual-selector at the top of the keypad

The "Call as" area now shows two independent, tappable rows: identity on top, number below. A tap on either opens a bottom sheet with the available options. Before, a single dropdown mixed both concepts without clear hierarchy.

β€’

Bottom sheet with visual hierarchy

We evaluated dropdown, segmented control, and bottom sheet patterns. The bottom sheet won for scalability β€” it handles long identity lists without breaking the keypad layout β€” and because it follows native iOS and Android patterns for complex selections.

β€’

"Block Caller ID" relocated to where it belongs

It was nested under Target (identity), which was conceptually wrong. Moved under Caller ID, where it semantically belongs. A small change that removed a real source of confusion.

β€’

Contextual Paste button

If the clipboard contains a phone number, a Paste button appears on the keypad. If not, it stays hidden. No noise, no empty states.

Final design β€” Caller ID selector on iOS

New keypad screen β€” layout overview

Engineering handoff β€” keypad screen layout breakdown by user type: personal calls, contact center, and department lines

Keypad number interaction specs

Engineering handoff β€” keypad number interaction specs: haptic feedback patterns, background color transitions, and platform-specific notes for iOS and Android

Caller ID selection went from accidental to intentional

Post-launch Amplitude data confirmed the core design decision: users change Caller ID in context, right before a call β€” not proactively from Settings. More importantly, the act of selecting a Caller ID is now deliberate: 65K+ selections/month, with over half going to call center lines β€” the segment most affected by the original confusion.

65K+
Caller ID selections/month on mobile
Amplitude Β· 30-day window post-launch
54%
Of changes go to call center lines
Agents calling as their business identity
20Γ—
More in-context usage vs. Settings
~2K iOS users/week Β· peak 2,700

"Absolutely loving the new iOS mobile improvements you guys rolled out last week. The changes are noticeable and the usability has improved drastically. Huge kudos to the team."

Learnings

01

The real problem wasn't the UI β€” it was the confusion underneath it

Early on it was easy to frame this as a keypad redesign. But the actual problem was that users didn't know what they were selecting or why it mattered. Slowing down to understand that gap β€” not just redesign the surface β€” changed how we framed every decision. The UI followed from clarity about the problem, not the other way around.

02

Small prototypes, fast feedback loops

Recording short interaction videos β€” even rough ones β€” made it much easier to validate quickly with the team and internal users. Usability issues that wouldn't show up in a static Figma frame became obvious the moment something moved. It became a core part of how I worked through this project.

03

Designing for one platform is never enough

The solution had to work on iOS, Android, iPad, and Android tablets β€” each with different screen sizes and interaction patterns. That constraint pushed the design toward something more considered and resilient. Some of the strongest decisions came directly from solving for the hardest device, not the easiest.

Next case study Dialpad iOS Calling Redesign
β†’