Frontend Development › UI/UX for Engineers
Dark Patterns
Deceptive UI that tricks users, and why to refuse to build it.
Also known as: dark patterns, deceptive design, dark ux
Dark patterns are interfaces engineered to manipulate: roach motels (easy in, hard out), disguised ads, confirmshaming (“No, I hate saving money”), hidden costs revealed at payment, pre-ticked consent, and urgency fakes (“only 1 left!” — always 1 left). They convert by confusing rather than convincing.
roach motel: subscribe in 1 click, cancel via phone queue
confirmshame: decline option written as self-insult
hidden costs: price jumps at the final step
Beyond ethics, they’re increasingly illegal (consumer-protection and privacy regulations penalise several explicitly) and commercially corrosive — tricked users churn, complain, charge back and distrust everything after.
The classic mistakes:
- “Growth” justifying deception. Short-term conversion bumps from trickery trade against trust, retention and legal exposure. Honest flows tested well convert sustainably.
- Confirmshaming copy. Decline options written as insults poison brand perception for a fractional lift. Respectful declines convert better long-term.
- Hidden-cost reveals. Drip pricing (fees appearing late) tops consumer complaints and regulator attention. Show real prices early.
- Roach-motel cancellations. Retention-by-obstruction breeds chargebacks, reviews and regulation. Make cancelling as easy as joining — win on product.
- Fake urgency/scubbait. Counters and stock claims that lie destroy credibility the first time users notice (immediately). Real scarcity only, or none.
- Pre-ticked consent. Assumed consent violates privacy law in major jurisdictions and poisons data quality. Opt-in, always.
- A/B testing into darkness. Optimising purely for clicks selects manipulative variants. Constrain experiments with ethical and legal review.
The standard: interfaces users would endorse on reflection — transparent pricing, reversible actions, honest urgency, real consent. Design for informed choice; convert by value, not confusion.