Skip to content
Expert Guide Series

What Button Design Principles Improve App Usability?

Open any app on your phone and count the taps between you and the thing you came to do. Every one of them lands on a button. Buttons carry more of the usability load than any other part of a mobile interface, and they're usually the last thing a team looks at before launch, which is why button design principles get treated as styling. The conversation turns into corner radius and brand colour rather than whether anyone can find the thing they need to press.

Every button makes a promise about what happens next, and the good ones keep that promise.

We design apps for lifestyle brands, and the same thing keeps happening. A flow makes perfect sense on a big monitor in a design file. On a phone, held in one hand on a crowded train, the main action sits in the top right where the thumb can't reach, sitting next to a second button that looks exactly the same.

So this piece walks through the decisions we actually make about buttons. Size, placement, colour, labels, states, what happens when someone's stressed, what happens when the action can't be undone, and how we check any of it is working once the app is live.

Visual Hierarchy: Making the Primary Action Obvious

Within the first three seconds of a screen appearing, someone's brain makes fast judgements about what it's for and what they're meant to do. Nobody consciously asks themselves "which of these is the main action?". They feel the answer, and they feel it from weight, size, colour and the space around things. A screen with one loud button and two quiet ones has answered the question before it was asked.

So the rule we hold to is one primary action per screen. Everything else drops a level. Secondary actions get an outline or a lighter fill, and the ones people rarely want become plain text. The gap between those levels has to be wide enough to read at arm's length, at a glance, on a screen that's slightly too bright.

When two buttons compete

Two buttons of equal weight sitting side by side force people to stop and read. Reading is slow and it costs attention, and that hesitation turns up in analytics as time on screen creeping upwards and people bouncing in and out of the same step.

Hierarchy also tells you when a screen is doing too much. If you genuinely can't pick which action is primary, the screen has two jobs and wants splitting into two.

Button Size for Mobile and the Minimum Tappable Area

A fingertip covers far more of a screen than a mouse pointer, and you can't see through it. That single fact drives most of what we decide about button size for mobile. People aim at the centre of a target and land somewhere near it, and they're often doing it while walking, holding a coffee, or lying down with one eye shut.

Apple's Human Interface Guidelines put the minimum touch target at 44x44 points, according to Apple's Human Interface Guidelines. We treat that as the floor rather than the aim. Anything people press often, or press in a hurry, gets more room than the floor allows.

Button design principles for touch targets

The minimum tappable area doesn't have to match the visible button. A small icon can sit inside a much larger invisible hit area, and that's how toolbars and card actions stay usable without looking clumsy. Spacing matters just as much as size. Two generous buttons pressed right up against each other still produce mistaps, because the miss lands on the neighbour instead of on nothing.

Dense lists are where this falls apart most often. Three tiny icons at the end of a row look tidy in the design and behave terribly in a real hand.

UX/UI design built around real psychology

We design app interfaces around how people actually think and behave. User research, psychology-driven UX/UI design and technical specs delivered as one complete package.

See how we work Get started

No commitment

Placement, Thumb Reach and One-Handed Use

Phones got bigger and hands didn't. A thumb sweeps an arc from the bottom corner of the device, so the bottom third of the screen is comfortable, the middle is reachable, and the two top corners take a grip change. People do shuffle the phone down their palm to reach, and every time they do it they're carrying a small risk of dropping it.

So we anchor the primary action low, usually in a sticky footer, often close to full width. It stays in the same place from screen to screen, which means people stop looking for it and start just pressing it.

Put the action people take constantly where the thumb already rests, and the rare, risky one somewhere it has to travel.

Height matters as well as position. A footer button sitting flush against the bottom edge competes with the home indicator and the gesture area, so it needs breathing room underneath it.

Right hand, left hand, both

Most people hold a phone in their right hand, and plenty don't. A full-width button solves the handedness question outright, because the centre of the screen is reachable either way. Where a button has to be narrow, the lower centre is the safest place to put it.

Colour, Contrast and Meaning

Colour arguments eat more design time than almost anything else, and they're usually the wrong argument. Contrast is what decides whether a button reads as pressable from across a room, and Build Grow Scale found contrast ratio affecting conversion 3.2 times more than the specific colour chosen. That matches what we see. A low-contrast button in a beautiful brand palette gets missed, whatever the hex code.

Once contrast is sound, colour does a different job. It carries meaning, and it carries emotion. When we choose a colour for a confirm button on a skincare app, we're choosing how we want someone to feel at that exact second, which is calmer and more reassuring than the colour we'd pick for a fitness app where the same tap means starting a session.

Colour can't work alone

Red for destructive and green for go are learned conventions, and they break down for anyone who can't separate those two hues. So the meaning has to survive the colour being removed. A delete button says delete in its label, sits apart from the others, and asks for a second step. The red is a reinforcement of all that.

Brand colour and action colour also pull against each other. If your brand colour is already everywhere, it stops signalling anything in particular.

Button Labels That Tell Users What Happens Next

A label's job is to describe the outcome, so "Save and continue" beats "Continue" and "Pay £42.00" beats "Submit". People read the button before they read anything else on the screen, and in plenty of cases the button is the only thing they read. That makes it the cheapest place in the product to remove doubt.

Vague labels create a particular kind of hesitation. Someone pauses, scrolls back up to check what they're agreeing to, scrolls down again, then taps. That little loop is a comprehension problem, and it shows up clearly in granular analytics as repeated scrolling and re-entry to the same screen.

Read your button labels on their own, with the rest of the screen covered up. If a label stops making sense without the heading above it, rewrite the label rather than the heading.

Instructions aren't labels

When we pitched for BMW, on the side of the business handling fleet and rental vehicles, one screen in the accident flow said "upload your photos" and left it there. No guidance about which angles, how many, or what the photos were for. The instruction was clear as English and useless as a brief, because the person reading it had just crashed a car and had no idea what good looked like.

Verb plus object, every time, and the object should be the thing in the user's head rather than the thing in the database.

Setting Expectations Before the Tap

People abandon flows they can't see the end of. The tap itself is rarely the problem. The problem is not knowing what sits on the other side of it, so the safest move is to not press at all.

We worked on a fitness product where new users had to go through a short run of orientation questions, and early abandonment was high. The change that moved it was telling people how long the questions would take, before they started. Nothing technical, purely framing, and people went into the process in a much more prepared state because they knew what they'd signed up for.

The same thinking applies to permissions. Asking "is it okay if we send you notifications?" lands very differently to a system prompt arriving with no warning, even though the outcome is identical. People who feel they have control over a product stay more engaged with it and stick around longer.

Preview the next screen

A button that names its destination does this work for free. "Continue to payment" tells someone a card is coming. "Choose a delivery date" tells them a calendar is coming. Small previews like these stop the tap feeling like a gamble, and they cost nothing but a few words.

States and Feedback: Confirming the Tap Registered

A button that gives nothing back makes people press it again. Then again, harder. We've all done it, and on a checkout screen it produces duplicate orders and a support ticket.

Feedback has to be immediate. Nielsen Norman Group puts the limit at 0.1 second for an action to feel like it directly caused something on screen, which is well inside the time any network call takes. So the press state does the reassuring while the request is still in flight, and a loading state takes over after that.

A tap with no response feels broken, and a broken button makes the whole app feel broken.

Disabled buttons deserve more care than they usually get. A greyed-out button with no explanation reads as a dead end, and people stare at it trying to work out what they've done wrong. Either say what's missing next to it, or let people press it and show them the gap.

Haptics add a layer that works when someone isn't looking straight at the screen, which happens more than designers assume. A light tick on confirmation, nothing on routine presses, and never as decoration.

Designing Buttons for Users Under Pressure

The BMW accident flow is the clearest version of this we've worked on. Someone's had a collision in a fleet or rental vehicle, and the app asks them to photograph the damage and fill in a detailed form. People weren't completing it properly, and the team couldn't work out why. The interface was asking for a lot of careful input from someone whose hands were shaking.

Under stress, working memory shrinks. So our approach is to find the absolute minimum we can ask for right now, and the absolute maximum we can do to help with that one thing. Everything that isn't needed at this second gets deferred to later, when the person is in a better state to deal with it.

For buttons, that means one obvious action per screen, sized generously, labelled with a plain instruction. Guided photo capture with an outline showing where to point the camera beats a bare upload button. Fewer choices, bigger targets, no judgement calls.

Stress isn't only emergencies

A customer trying to change a hotel booking from an airport gate is under pressure too. So is someone checking an order the day before a wedding. Any screen where the stakes are real deserves the same treatment as the accident flow, even in a product that feels light the rest of the time.

Destructive Actions and Recoverable Mistakes

Our first preference is always undo over confirm. Confirmation dialogs get dismissed on autopilot after the third one, which means they stop protecting anyone while still slowing everybody down. A brief undo option after the fact protects the mistake without taxing the people who meant it.

Where a confirm step is genuinely needed, because the action truly can't be reversed, the dialog has to be written for someone who's about to make an error. The label names the consequence, so "Delete 14 saved looks" rather than "OK". The destructive choice gets the quieter treatment and the safe choice gets the weight, which runs against the usual hierarchy for a good reason.

Keep destructive buttons out of the comfortable thumb zone and away from the edge of a swipeable row. A delete that sits exactly where a confirm normally sits will get pressed by muscle memory.

Spacing does more here than colour. Put real distance between the destructive action and the one next to it, and resist grouping them into a neat row just because the grid wants them there.

Recoverability changes the design

Once a mistake is cheap to fix, you can afford to make the button bigger, closer and faster. Once it's expensive, every one of those choices reverses. Working out which of the two you're dealing with is the first decision, and the visual design follows from it.

Platform Conventions on iOS and Android

People use other apps all day, and those apps teach them where things live. Fighting that costs you more than it ever gains. Material Design sets its minimum touch target slightly larger than Apple does, at 48dp, according to Google's Material Design Guidelines, and the differences carry on from there into shape, weight and placement.

DecisioniOSAndroid
Confirming a formOften a text button top right, or a filled button at the bottomUsually a filled button at the bottom of the content
Going backBack control top left plus an edge swipeSystem back gesture or button, handled by the OS
Default button lookPlain text buttons read as tappableFilled and tonal buttons carry the weight
Confirming something destructiveAction sheet from the bottomCentred dialog with text actions

A shared design system can still hold both of these. The components stay the same in meaning and differ in detail, so a primary action is a primary action on either platform while looking native on each.

Where we do break a convention, it's a deliberate decision with a reason behind it, and we watch what it does to completion rates afterwards.

Accessibility Requirements Beyond Contrast Ratios

Contrast ratios get checked because a tool flags them. The rest tends to slip, and the rest is where most of the real barriers sit. A button that passes 4.5:1 and announces itself to a screen reader as "button" has solved the measurable half of the problem and none of the useful half.

These are the checks we run on every button in a build.

  • A spoken name that says what it does, including every icon-only button
  • A visible focus state for keyboard and switch control users
  • Labels that still fit when someone sizes their text up
  • Meaning that survives with all colour stripped out
  • A tappable area that matches what the eye can see

Text scaling catches teams out more than the others. Someone running their phone at a large text size gets a label that wraps to three lines or clips halfway through a word, and the button that tested perfectly becomes unreadable. Designing the component to grow with its content handles it.

Motion settings matter too. A press animation that bounces hard can make someone with vestibular sensitivity feel genuinely unwell, so the reduced motion setting needs honouring.

Buttons in a Design System: Consistency at Scale

A button component sounds like the easiest thing in a design system and turns into the messiest. Teams end up with eleven variants, four of which do the same job, and nobody remembers which one the checkout uses. Hierarchy collapses at that point, because when everything has its own special treatment, nothing reads as more important than anything else.

We keep the set small. Primary, secondary, tertiary, destructive, and that's usually the lot, each with sizes and states defined properly. The constraint does the work. Four variants force a real decision about which action matters on a screen, and eleven let you dodge it.

Write down when to use each variant, in plain words, next to the component. A designer joining in six months needs the rule more than they need the spec.

Naming deserves attention as well. A variant called "blue-large" tells you nothing about where it belongs, and someone will use it for a delete action eventually. Name components for their role rather than their appearance, and the system survives a rebrand.

Consistency is a promise

The real payoff is that people stop learning your app screen by screen. They learn it once. A button that looks a certain way always does a certain kind of thing, and that familiarity reduces the mental effort of every screen after the first.

Testing Button Performance With Real Users

Simon puts it this way. "When someone says your product isn't intuitive, they're almost never talking about the interface. They're talking about how it makes them feel using it." So the thing we're testing for is hesitation, confusion and doubt, rather than whether somebody eventually found the button.

That starts with analytics granular enough to show hesitation at all. Funnel completion tells you people dropped out. Time on screen, repeated entries and exits from the same step, and scrolling up and down through the same block of text tell you where comprehension or trust gave way.

Here's the sequence we use.

  1. Turn on the detailed events first, including dwell time and screen re-entry
  2. Find the screens where hesitation clusters
  3. Take those screens into moderated sessions with people new to the product
  4. Change one thing at a time
  5. Check the live numbers rather than what people said in the session

Sessions have a known blind spot around money. People reviewing a checkout in a test aren't actually paying, so they assess it rationally and report that it's fine. Live, with a real card and real money, something that looked fine erodes trust just enough for them to bail out.

Watch for insider bias too. A founder who knows the product inside out finds their own flow obvious, because they already hold all the context a new user doesn't have.

Conclusion

Buttons reward attention out of all proportion to how small they are. Get the hierarchy right and people stop deliberating. Get the minimum tappable area and the thumb zone right and they stop mistapping. Get the labels right and they stop second-guessing what's about to happen to them.

None of it is complicated work, which is exactly why it gets skipped. The fitness product we worked on moved its early abandonment by telling people how long the questions would take, and the BMW accident flow failed because a screen said "upload your photos" to someone who'd just had a crash. Both of those come down to the same thing, which is asking what state the person is in at the moment they reach for the button, then designing for that state rather than for an ideal one.

So the useful habit is to go through your own app, one screen at a time, and ask what the main action is, whether it's reachable, and whether its label says what happens next. Most teams find three or four screens where the answer is uncomfortable.

If you'd like another pair of eyes on yours, let's talk about your app's button design.

Frequently Asked Questions

How many primary buttons should a single screen have?

One. Everything else on the screen should drop a level, using an outline or lighter fill for secondary actions and plain text for the ones people rarely need. If you genuinely cannot decide which action is primary, the screen is doing two jobs and should probably be split into two.

What is the minimum size for a tappable button on mobile?

Apple's Human Interface Guidelines set the minimum touch target at 44x44 points, and that figure is best treated as a floor rather than a target. Anything people press frequently, or press in a hurry, deserves noticeably more room than the minimum allows.

Does the tappable area have to match the visible button?

No. A small icon can sit inside a much larger invisible hit area, which is how toolbars and card actions stay easy to press without looking clumsy. This lets you keep a clean visual design while still meeting touch target requirements.

Why do people still mistap buttons that are large enough?

Spacing matters as much as size. Two generously sized buttons pressed right up against each other will still produce mistaps, because a near miss lands on the neighbouring button instead of on empty space. Dense lists are where this problem shows up most often.

What happens when two buttons look equally important?

People have to stop and read them, which is slow and costs attention. That hesitation shows up in your analytics as rising time on screen and users bouncing in and out of the same step repeatedly.

Where should the main action sit on a phone screen?

Within comfortable thumb reach, which usually means the lower portion of the screen rather than the top right corner. A flow that looks balanced on a large monitor can be awkward for someone holding a phone in one hand on a crowded train.

How quickly do users judge what a screen is asking them to do?

Within roughly the first three seconds. Nobody consciously asks which button is the main action, they feel the answer from weight, size, colour and surrounding space, so the hierarchy needs to be obvious at a glance rather than on close inspection.

Is button design just a styling job before launch?

No, though it is often treated that way, which is why the conversation drifts towards corner radius and brand colour. Buttons carry more of the usability load than any other part of a mobile interface, so decisions about size, placement, labels and states deserve attention throughout the design process.