Pattern comparison · Reviewed September 23, 2026
Notification permission UX: reminders versus updates
Two products give different reasons to stay in touch. Compare the request with the job the person came to do.
What should a notification request explain?
Duolingo connects reminders to practice; Depop names purchases, offers and messages. Design the explanation around the person’s task, distinguish optional categories, and make refusal easy to understand.
Evidence and limits
Two observed screens: Duolingo January 2026 and Depop July 2026. Only the Duolingo frame includes a native permission dialog. This comparison does not measure opt-in rates or establish the behavior after denial.
Read the decisions

01 / Duolingo · Jan 2026 · 1:01
Explain the reminder benefit
What is visible
The app explains that reminders help make practice a habit. This frame also shows the iOS notification permission dialog.
Design interpretation
Connect a permission to a chosen goal. A screenshot cannot prove that a custom explanation increased permission acceptance.

02 / Depop · Jul 2026 · Still image
Offer a notification choice
What is visible
Stay in the loop lists purchase tracking, offers and messages as benefits. No thanks and OK cool are both visible.
Design interpretation
Make declining straightforward. This screen does not show the native permission dialog or prove what happens after either action.
What to question
- Bundling transactional updates and promotional offers can obscure what a person is choosing. Consider separate preferences when supported.
- A benefit explanation is useful only if the product honors the resulting choice. Design and verify the denied state too.
- A screenshot does not reveal accessibility semantics. Test focus, announcement and text size in the actual implementation.
Try an original implementation
Explore a three-step web onboarding pattern: choose a goal, set a pace, and optionally request a reminder. Go back to revise answers without losing them.
This React example uses native form controls, keyboard navigation and focus management. It is a separate prototype with original copy and styling, not a reproduction of the source apps.
Download React sourceRequires React and Tailwind CSS. Web only; not React Native. MIT license.
Import the named OnboardingExample component into a page. Replace the final preview with your application logic; this example makes no network requests.
Practice studio · Original web demo
Step 1 of 3
What would you like to practice?
Before you ship
- Name the specific benefit and what will be sent.
- Keep optional reminders off until a person chooses them.
- Support continuing without permission.
- Provide a settings route to change the choice later.
Validate these recommendations with your own users. No conversion uplift is claimed.
