# Mobile Form UI Audit — Mobbin Screen Sample

**Date:** 2026-08-10
**Purpose:** Original quantified data for the "Decision Fatigue in App Forms" video/article. Tests (does not assume) the thesis that empty fields are a churn surface; that smart defaults, steppers/chips, and visible options beat blank inputs and dropdowns; and that placeholder-as-label persists despite NN/g's documented warnings.

## Methodology

- **Source:** Mobbin design database via MCP (`search_screens`), platform iOS.
- **Queries (5), limit 12–14 each, deduplicated via `exclude_screen_ids`:**
  1. "sign up form with input fields"
  2. "booking form with date time and guest selection"
  3. "checkout shipping and payment information form"
  4. "profile setup form during onboarding"
  5. "form with dropdown menus and text inputs"
- **Unit of analysis:** the screen (not the app). Target ~60 unique screens.
- **Procedure:** Every returned screenshot was visually examined; only visible evidence was tallied. Dimensions not visible/applicable on a screen are marked n/a and excluded from that dimension's denominator.

### Tally dimensions (per screen)

1. Visible input-element count (bucketed 1–2 / 3–5 / 6+)
2. Prefilled value or smart default present (a real value, not placeholder text)
3. Label style: persistent (above/floating) vs placeholder-as-label vs mixed
4. Dominant input mode: free-text fields vs structured controls (chips, steppers, segmented controls, date carousels)
5. Dropdown/select present that hides its options
6. Preselected option (radio/chip/segment already chosen)
7. Optional fields explicitly marked "optional"
8. Social login / autofill affordances (Sign in with Apple/Google, scan card, autofill hints)
9. CTA state: disabled-until-complete vs always-active; payoff copy in CTA (e.g., "See 12 results")
10. Progress/step indicator on multi-step forms
11. Survey-style field with no plausible downstream effect ("How did you hear about us?", occasion, salutation)

---

## Per-screen observations

### Batch 1 — "sign up form with input fields" (13 screens)

**1. Hevy — Sign up** — [mobbin](https://mobbin.com/screens/b2822ecd-321b-4d49-b542-e08997eb79d7)
Inputs: 3 (3–5). Prefill/smart default: none. Labels: persistent above + example placeholders. Mode: free-text only. Dropdown: no. Preselect: no. Optional marks: no. Social/autofill: none. CTA: "Continue" grayed — disabled-until-complete, no payoff copy. Progress: no. Survey-style field: no.

**2. Rivian — Create an account** — [mobbin](https://mobbin.com/screens/885887d3-8f4c-4ef5-9efa-80baafa52690)
Inputs: 4 (3–5). Prefill: values shown are user-typed (demo state), no app-supplied default. Labels: floating (persistent when filled). Mode: free-text. Dropdown: no. Preselect: YES — marketing opt-in checkbox pre-checked. Optional marks: no. Social: none visible. CTA: cut off — n/a. Progress: no. Survey field: no. Note: live password-strength meter ("Good").

**3. Preply — Sign up** — [mobbin](https://mobbin.com/screens/5c80df2d-ed2f-4248-9a2c-3e6c339cbec9)
Inputs: 3 (3–5). Prefill: none. Labels: persistent above + placeholders. Mode: free-text. Dropdown: no. Preselect: no. Optional: no. Social: none on this screen. CTA: always-active, no payoff. Progress: no. Survey: no.

**4. ZARA — Personal information** — [mobbin](https://mobbin.com/screens/2f4b0115-b6de-4d8f-954f-3e1f15c4662c)
Inputs: 4 (3–5). Prefill: none. Labels: placeholder-as-label as rendered (inline text on underlines, no separate label visible on empty state). Mode: free-text. Dropdown: no. Preselect: no (news checkbox unchecked). Optional: no. Social: none. CTA: always-active appearance. Progress: no. Survey: no.

**5. ClickUp — Sign up** — [mobbin](https://mobbin.com/screens/99b54a36-8836-44ab-9669-d0bec8f1588f)
Inputs: 3 (3–5). Prefill: none. Labels: persistent above + placeholders. Mode: free-text. Dropdown: no. Preselect: no. Optional: no. Social: none. CTA: always-active. Progress: no. Survey: no. Note: confirm-password field = duplicated effort.

**6. VSCO — Sign up** — [mobbin](https://mobbin.com/screens/5b0d4be6-e63e-4515-a061-fd632af1ebc9)
Inputs: 4 (3–5). Prefill: none. Labels: placeholder-as-label (inline text only, incl. format rule "Password (8+ characters)" crammed into placeholder). Mode: free-text. Dropdown: no. Preselect: no. Optional: no. Social: none. CTA: grayed disabled-until-complete. Progress: no. Survey: no (birthday = age gate).

**7. Panera Bread — Let's get started** — [mobbin](https://mobbin.com/screens/f0e5bc88-c3ab-4057-bdeb-caa0655b3855)
Inputs: 5 (3–5). Prefill: user-typed demo values; no app default. Labels: floating persistent, with "Required" suffix per field. Mode: mostly free-text + 1 dropdown. Dropdown: YES (Birthday selector). Preselect: no (marketing toggle default OFF). Optional: YES — "Birthday (Optional)". Social: none. CTA: not visible — n/a. Progress: no. Survey: borderline — birthday, but tied to explicit payoff ("Everyone deserves a birthday treat") → counted no. Note: green inline-validation checks per completed field.

**8. Turo — Email sign up** — [mobbin](https://mobbin.com/screens/b6170651-0022-47d5-9aba-91f6246af0f6)
Inputs: 4 (3–5). Prefill: none. Labels: placeholder-as-label on underlines. Mode: free-text. Dropdown: no. Preselect: YES — "Send me promotions" pre-checked. Optional: no. Social: none on this screen. CTA: grayed disabled-until-complete. Progress: no. Survey: no.

**9. Ahead — Sign up to save progress** — [mobbin](https://mobbin.com/screens/564397cb-e3c9-4ca9-bf01-7895a2d39fb8)
Inputs: 3 (3–5). Prefill: user-typed demo. Labels: floating persistent. Mode: free-text. Dropdown: no. Preselect: no. Optional: no. Social: none. CTA: pale disabled-until-complete. Progress: no. Survey: no. Note: real-time green check / red X per field + password rules stated below field, not in placeholder.

**10. Peerspace — Sign up sheet** — [mobbin](https://mobbin.com/screens/c8f5ebbf-82b2-48fd-a415-374485bd4c5a)
Inputs: 2 visible (1–2). Prefill: none (email typed). Labels: placeholder-as-label (second field has no visible label at all). Mode: free-text. Dropdown: no. Preselect: YES — "I don't want to receive marketing emails" pre-checked (opt-out default, privacy-positive). Optional: no. Social: YES — Sign up with Facebook (list scrolled, more above). CTA: always-active. Progress: no. Survey: no.

**11. On — Create your On account** — [mobbin](https://mobbin.com/screens/4cbf88ef-efd5-4bb6-af25-a4fdff02f85b)
Inputs: 2 (1–2). Prefill: none (typed). Labels: floating persistent. Mode: free-text. Dropdown: no. Preselect: no (updates checkbox unchecked). Optional: no. Social: YES — Continue with Google + Continue with Apple. CTA: always-active black, no payoff. Progress: no. Survey: no.

**12. Marriott Bonvoy — Join** — [mobbin](https://mobbin.com/screens/9de8c17d-0e65-4444-b7a1-2ce760e52ded)
Inputs: 6 (6+). Prefill/smart default: YES — Country/Region preset to "Singapore" and dial code preset "+65" (locale-derived). Labels: persistent uppercase above. Mode: free-text + 2 selects. Dropdown: YES (country, dial code). Preselect: yes (country default counts). Optional: YES — "Mobile Phone (Optional)" + blanket "All fields required unless otherwise noted." Social: none. CTA: always-active. Progress: no. Survey: no. Note: 4-bullet password-rule list = heaviest rule display in batch.

**13. Mammoth — Create account** — [mobbin](https://mobbin.com/screens/d8672479-9f24-41ed-bf8a-ad7287fe90da)
Inputs: 3 (3–5). Prefill: none. Labels: placeholder-as-label, but with persistent helper text BELOW each field. Mode: free-text. Dropdown: no. Preselect: no. Optional: no. Social: none. CTA: grayed disabled-until-complete. Progress: no. Survey: no.

### Batch 2 — "booking form with date time and guest selection" (13 screens)

**14. Zomato — Book a table** — [mobbin](https://mobbin.com/screens/4e8c570a-810c-4633-a74d-9a90de18bf60)
Inputs: 4 control groups (3–5). Smart default: YES — guests "1" preset, "Tomorrow" date chip preselected, "Dinner" chip preselected. Labels: persistent section headers. Mode: structured dominates (date chips, meal chips, time-slot chips). Dropdown: yes (guest count select). Preselect: yes. Optional: no. Social: n/a. CTA: "Proceed" grayed until time slot chosen; no payoff copy on CTA, but every slot chip shows "2 offers". Progress: no. Survey: no.

**15. Swiggy — Book table** — [mobbin](https://mobbin.com/screens/c8782372-d19d-4db0-ad9b-88b96ade4aa2)
Inputs: 3 groups (3–5). Smart default: YES — guests "2" chip and "Today" preselected. Labels: persistent headers. Mode: structured only (number chips, date chips with "20% off" badges, time chips). Dropdown: no. Preselect: yes. CTA: "Proceed" grayed disabled-until-complete; payoff lives on chips (20% off), not CTA. Progress: no. Survey: no.

**16. Google Maps — Restaurant booking (McNellie's)** — [mobbin](https://mobbin.com/screens/6afe97be-40b3-4589-a97e-7101f1fa1ce1)
Inputs: 3 (3–5). Smart default: YES — Party "3", Date "Sat, 21 Sept", Time "18:30" all prefilled. Labels: persistent above. Mode: structured (3 selects + time-chip grid, unavailable slots grayed). Dropdown: YES — 3 selects, one open hiding/revealing options. Preselect: yes. CTA: "Continue" grayed. Progress: no. Survey: no.

**17. Deliveroo — Find a table** — [mobbin](https://mobbin.com/screens/830d9cb1-c033-482f-91c4-9bc388cb699a)
Inputs: 4 groups (3–5). Smart default: YES — "2" guests preselected, today (18th) preselected on calendar, "Any time" preselected. Mode: structured only (segmented control, number chips, full visible calendar, radio). Dropdown: no — options all visible. Preselect: yes. CTA: "Search for tables" active teal, always-active; no result count. Progress: no. Survey: no.

**18. Tock — Search filter** — [mobbin](https://mobbin.com/screens/edc4f6ac-bc82-4d7a-8bdc-80598b0effed)
Inputs: 3 groups (3–5). Smart default: YES — date (Mar 3), time wheel at 6:00 PM, party "2" preselected. Mode: structured only (calendar, inline wheel picker, number chips). Dropdown: no (wheel shows neighboring options). Preselect: yes. CTA: "Update" active blue; "Reset" escape hatch. Progress: no. Survey: no.

**19. Careem (Salon&Spa) — Date & time** — [mobbin](https://mobbin.com/screens/a030486a-580e-4b86-b331-2b7cdddf94c8)
Inputs: 3 groups (3–5). Smart default: YES — date "17" and slot "07:00-07:30" preselected. Mode: structured dominates; one optional free-text ("Any instructions?") with example placeholder. Dropdown: no. Preselect: yes. Optional: implicit only. CTA: "Next" active green with running Total AED 109.00 beside it — payoff (price) visible at CTA. Progress: YES — progress bar + "Next step: Checkout". Survey: no.

**20. Grab — Find available tables** — [mobbin](https://mobbin.com/screens/23cc052a-5941-4e6c-a080-7d04f7eab66f)
Inputs: 3 groups (3–5). Smart default: YES — Adults "2", "Wed 10" (today), "8 - 11PM" preselected. Mode: structured only. Progressive disclosure: "Add children" link instead of a default-visible child field. Dropdown: yes ("Select time" chip-dropdown). Preselect: yes. CTA: "Apply" active. Progress: no. Survey: no.

**21. Trip.com — Select Booking (tour)** — [mobbin](https://mobbin.com/screens/4dfb39b7-b410-4d56-bbd4-63bfa70e6e46)
Inputs: 4 groups (3–5). Smart default: YES — option card preselected, Adult quantity stepper at 1, Child at 0. Mode: structured only — date chips with per-date prices, session chips, STEPPERS for quantity. Dropdown: no. Preselect: yes. CTA: "Next" active; price payoff placeholder "$--" until date picked. Progress: no. Survey: no.

**22. Beli — Roma reservation** — [mobbin](https://mobbin.com/screens/1b38095b-5908-49f8-871d-92171f969beb)
Inputs: 3 groups (3–5). Smart default: YES — Party Size "1" preselected, Sep 24 selected, availability auto-loaded. Mode: structured only (chips, calendar, slot chips labeled OUTDOOR/SEAT). Dropdown: no. Preselect: yes. CTA: none visible (slot chips are the action) — n/a. Progress: no. Survey: no.

**23. Viator — Check Availability** — [mobbin](https://mobbin.com/screens/f9d42694-f940-49f9-84fe-ea75905e971d)
Inputs: 3 (3–5). Smart default: YES — "Feb 27", "2 Adults", ticket option radio preselected, 11:00am chip selected. Mode: structured only. Dropdown: YES — date + guests as collapsed selects. Preselect: yes. CTA: "Select" active; payoff visible — "1 option available" + "Total: $51.30 (2 Adults x $25.65)". Progress: no. Survey: no.

**24. Airbnb — Select a time (experience)** — [mobbin](https://mobbin.com/screens/e4fff56f-b88d-4e5f-9d84-4b423ec7e108)
Inputs: 3 groups (3–5). Smart default: YES — "1 adult" stepper preset, first slot preselected. Mode: structured only — STEPPER + slot cards carrying price and scarcity ("$25/guest", "10 spots left"). Dropdown: no. Preselect: yes. CTA: "Next" with live payoff "$25 for 1 guest" beside it. Progress: no. Survey: no.

**25. TheFork — Reserve sheet** — [mobbin](https://mobbin.com/screens/ba4c628b-170f-4cfb-aab8-26c9410d1b48)
Inputs: 3 (3–5). Smart default: YES — wheel picker lands on Today / 12:30 PM / 2 guests. Mode: structured only (3-column wheel, neighboring options visible). Dropdown: no. Preselect: yes. CTA: "Apply" active + "Ignore" skip. Progress: no. Survey: no.

**26. Resy — Search availability** — [mobbin](https://mobbin.com/screens/59b2937d-6cb4-4784-a8fc-35ff71f59400)
Inputs: 3 groups (3–5). Smart default: YES — Guests "2" chip, "Sat Oct 12", Time "All Day" preselected on wheel. Mode: structured only. Dropdown: no. Preselect: yes. CTA: "Search" active. Progress: no. Survey: no.

### Batch 4 — "profile setup form during onboarding" (13 screens)
*(Note: file order is batches 1, 2, 4, 3 due to append sequence; entry numbers are canonical.)*

**40. Notion — Create your profile** — [mobbin](https://mobbin.com/screens/98b76102-1ad4-46a5-a969-02ddaa41c091)
Inputs: 1 text + photo (1–2). Prefill: name shows "Alex Smith" — plausibly carried from account/SSO but unverifiable in a static screen → not counted. Labels: persistent above. Mode: free-text. Dropdown: no. Preselect: YES — "I agree to Notion marketing communications" pre-checked. Optional: YES — "Upload photo (optional)". CTA: "Next" active. Progress: no. Survey: no.

**41. MasterClass — Your Profile** — [mobbin](https://mobbin.com/screens/be8b5b47-0655-452c-84b6-de144104c8f5)
Inputs: 2 (1–2). Prefill: YES — "Please confirm your profile" framing with name and photo already populated from account. Labels: persistent above; * marks required. Mode: free-text. Dropdown: no. Preselect: no. Optional: no. CTA: "NEXT" active. Progress: no. Survey: YES — "What brings you to this class?" free-text motivation box (467-char counter) with no visible downstream effect.

**42. Airtasker — Create your profile** — [mobbin](https://mobbin.com/screens/888e99ca-1460-4064-891f-4b34a8e162f5)
Inputs: 5 groups (3–5). Prefill: none. Labels: persistent above (+placeholder duplicates). Mode: mixed — 3 free-text + 2 choice questions rendered as fully visible tap cards ("Get things done / Earn money"; "Individual / Business") — options shown, not hidden. Dropdown: no. Preselect: no — cards start unchosen. Optional: no. CTA: "Get started" active. Progress: no. Survey: no (goal question routes the two-sided marketplace).

**43. Alma — Welcome / profile basics** — [mobbin](https://mobbin.com/screens/73e99d70-80ef-4f8d-afba-045b4dc3b6cf)
Inputs: 5 (3–5). Prefill: none — every select reads "Select". Labels: mixed — small persistent labels on selects, name as placeholder-as-label. Mode: dropdown-heavy. Dropdown: YES — FOUR selects (Sex at Birth, Age, Height, Weight) all hiding options; number entry via dropdown. Preselect: no. Optional: no. CTA: none visible — n/a. Progress: YES — dashed multi-step indicator (10+ segments). Survey: no (health inputs feed the plan).

**44. WHOOP — Setup your profile (Step 1/6)** — [mobbin](https://mobbin.com/screens/0bef74b1-c3bf-4e0a-bc5e-5c4f7634db05)
Inputs: 4 (3–5). Prefill: none — Country select sits at "---", not even locale-defaulted. Labels: persistent uppercase above. Mode: free-text + 1 select. Dropdown: yes. Preselect: no. Optional: no. CTA: "NEXT" dim outline — disabled-until-complete. Progress: YES — "STEP 1 / 6". Survey: no.

**45. HBO Max — Complete Your Profile** — [mobbin](https://mobbin.com/screens/160fffce-a0a4-4719-8141-eddbe2c5c8c4)
Inputs: 5 (3–5). Prefill/smart default: YES — Gender select defaults to "Prefer not to say" (privacy-preserving default). Labels: persistent above. Mode: free-text + segmented birthdate boxes + select. Dropdown: yes (Gender). Preselect: yes. Optional: no. CTA: "Save & Continue" active. Progress: no. Survey: borderline — age/gender collected "to provide a more personalized experience, including ads"; app explains why in a footnote → counted no, but noted as justified-data-grab pattern.

**46. Substack — Create a profile** — [mobbin](https://mobbin.com/screens/e39ced83-7fbb-4f94-a116-50ec3a7f4b46)
Inputs: 1 text + social-link adders (1–2). Prefill: none. Labels: placeholder-as-label ("Your name"). Mode: free-text + structured add-link buttons. Dropdown: no. Preselect: no. Optional: no marks. CTA: "Continue" grayed disabled-until-complete. Progress: no. Survey: no.

**47. Formula 1 — Complete Your Profile** — [mobbin](https://mobbin.com/screens/c73b597c-6f62-4281-a573-b6db8a251b0d)
Inputs: 3 + T&C checkbox (3–5). Prefill: none — Country not locale-defaulted. Labels: persistent above + placeholder duplicate. Mode: dropdown-only. Dropdown: YES — 3 selects (Country, Favourite Team, Favourite Driver); a 10-team choice hidden behind a select instead of visible chips. Preselect: no. Optional: no. CTA: "Next" pale — disabled-until-complete. Progress: no. Survey: no (favourites feed content personalization).

**48. Uxcel Go — Welcome (about yourself)** — [mobbin](https://mobbin.com/screens/2c4b1af1-9ea5-4d90-a9f6-31ba7a979240)
Inputs: 4 (3–5). Prefill: values shown but unverifiable as app-supplied → not counted. Labels: placeholder-as-label — once filled, NO field shows what it asked ("Senior" and "Social media (Facebook/LinkedIn/Inst...)" sit unlabeled) — textbook NN/g failure visible in a shipped top app. Mode: 1 free-text + 3 dropdowns. Dropdown: YES. Preselect: unclear — not counted. Optional: no. CTA: "Continue" active. Progress: YES — progress bar. Survey: YES — "how did you hear about us"-type referral-source dropdown (answer shown: "Social media").

**49. Deel — Complete profile** — [mobbin](https://mobbin.com/screens/2931f821-f2a2-4417-beab-57fe5ebb5147)
Inputs: 8+ (6+). Prefill/smart default: YES — Dial Code "+1" locale-preset; Preferred name auto-populated "(optional)" from legal name. Labels: floating persistent. Mode: free-text + 5 selects. Dropdown: YES — Citizen of, Dial Code, Department, Job title, Seniority. Preselect: yes. Optional: YES — "Preferred name (optional)". CTA: "Complete profile" active. Progress: no. Survey: no (HR/payroll fields are contract-relevant; DOB justified in helper text "required for regulatory and verification reasons").

**50. Citizen — Create your profile** — [mobbin](https://mobbin.com/screens/80cf6209-b722-4355-bfa7-891f4f3c384c)
Inputs: 2 (1–2). Prefill/smart default: YES — auto-generated username "sacramentoUser1859419007" prefilled with a clear-X; user can accept and move on. Labels: placeholder-as-label. Mode: free-text. Dropdown: no. Preselect: yes. Optional: no. CTA: "Continue" active. Progress: no. Survey: no.

**51. CREME — Tell us about yourself** — [mobbin](https://mobbin.com/screens/3ac6191c-a208-4d6f-948e-7ae94555ca2d)
Inputs: 3 (3–5). Prefill: name/username/email all populated; username "samlee" looks auto-derived from name and email likely carried from auth — but unverifiable → not counted (noted as plausible). Labels: floating persistent. Mode: free-text. Dropdown: no. Preselect: no. Optional: no. CTA: arrow button active. Progress: no. Survey: no.

**52. CHOPT — Create your profile** — [mobbin](https://mobbin.com/screens/fe18b2b0-7dc2-445c-8bb0-fc9ab78b9082)
Inputs: 6 (6+). Prefill: none. Labels: placeholder-as-label for ALL six pill fields, with format masks crammed into placeholders ("Phone number (XXX) XXX-XXXX*", "Birthday (MM/DD)"). Mode: free-text only. Dropdown: no. Preselect: no. Optional: inverse — "All fields with a * are required"; Birthday lacks * and carries payoff helper "So we know when to celebrate." → counted no explicit "optional" word. CTA: "LET'S DO THIS" grayed disabled-until-complete. Progress: no. Survey: no (birthday tied to implied reward).

### Batch 3 — "checkout shipping and payment information form" (13 screens)

**27. Google Photos — Checkout (print order)** — [mobbin](https://mobbin.com/screens/f4279d65-2e8f-4485-bd96-5f487a0d9958)
Inputs: 7 (6+). Smart default: filled values appear user-typed — not counted. Labels: floating persistent. Mode: free-text dominates + 1 select. Dropdown: yes (State). Preselect: no. Optional: no explicit marks. Autofill/express: YES — Google Pay button at top. CTA: below fold — n/a. Progress: no. Survey: no.

**28. Gymshark — Checkout** — [mobbin](https://mobbin.com/screens/b52f74aa-8abe-4082-8e64-26234977206b)
Inputs: 7+ (6+). Smart default: none visible. Labels: placeholder-as-label (boxes with inline text only). Mode: free-text dominates. Dropdown: yes (State). Preselect: YES — Credit/Debit Card radio preselected. Optional: no. Autofill: card-brand icons only. CTA: below fold — n/a. Progress: no. Survey: no. Note: shipping-method section blocked with dependency message ("Enter your shipping address to view available shipping methods").

**29. Future Pro — Pay with Credit Card** — [mobbin](https://mobbin.com/screens/913dac22-7a38-4de9-ab01-ff9bb38cfbbc)
Inputs: 9 (6+). Smart default: none. Labels: placeholder-as-label for ALL nine fields (underline style). Mode: free-text only (even State). Dropdown: no. Preselect: no. Optional: YES — "Apt, suite, etc. (Optional)". Autofill: Stripe-style combined card field. CTA: "Subscribe" grayed disabled-until-complete. Progress: no. Survey: no. Worst-practice candidate: 9 unlabeled-when-filled fields + disabled CTA.

**30. On — Checkout (shipping)** — [mobbin](https://mobbin.com/screens/f37a190b-ec1c-4b7e-8e29-9db74e8a7591)
Inputs: 8 (6+). Smart default: YES — Country preset "United States"; Standard Delivery $5.00 radio preselected. Labels: floating persistent. Mode: free-text + selects + radio list. Dropdown: yes (Country, State). Preselect: yes. Optional: YES — "Apartment, suite, etc. (optional)". Autofill: address-search field ("Please enter an address with a house number" + magnifier = autocomplete). CTA: below fold — n/a. Progress: no. Survey: no.

**31. Best Buy — Payment Information** — [mobbin](https://mobbin.com/screens/1fd4090c-e5db-4f34-9081-30f06220e0bc)
Inputs: 8 (6+). Smart default: card brand auto-detected (Visa logo appears). Labels: persistent above. Mode: free-text + select. Dropdown: yes (State "Select"). Preselect: YES — "Save this card to my profile" pre-checked. Optional: YES — "Add Apt., Suite, Floor (Optional)" as progressive-disclosure link. Autofill: YES — address suggestions active ("Hide Suggestions"), card-type detection, CVV visual hint. CTA: below fold — n/a. Progress: no. Survey: no.

**32. Artsy — Purchase (shipping)** — [mobbin](https://mobbin.com/screens/e3a741bb-0bc2-4e2b-863c-f1bf37c66fe8)
Inputs: 8 (6+). Smart default: YES — Country preset "United States". Labels: MIXED — Country has persistent label, remaining fields placeholder-as-label. Mode: free-text dominates. Dropdown: yes (Country). Preselect: YES — "Save shipping address for later use" pre-checked. Optional: YES — "Address line 2 (optional)". Autofill: none visible. CTA: below fold — n/a. Progress: no. Survey: no.

**33. Zalando — Checkout payment method** — [mobbin](https://mobbin.com/screens/748d242d-a32c-428f-a547-cec520a98cc5)
Inputs: 5 (3–5). Smart default: none (payment method radio preselected). Labels: persistent boxed labels above every input. Mode: free-text card fields + radio list (all payment options visible, not hidden in dropdown). Dropdown: no. Preselect: YES — Credit/Debit Card + "New Credit or Debit Card" radios preselected. Optional: YES — "Voucher / Gift card (optional)". Autofill: card icons; store-details checkbox default OFF. CTA: below fold — n/a. Progress: possible step arrows top-right — not counted. Survey: no.

**34. Expedia — Secure checkout** — [mobbin](https://mobbin.com/screens/aa18d929-ed31-4a0d-986e-ae6f9643e1ae)
Inputs: 7 (6+). Smart default: none visible. Labels: persistent above with red required asterisks (inverse of optional-marking: marks required instead). Mode: free-text + 2 dropdowns. Dropdown: YES — Month/Year expiration selects (hides options; classic anti-pattern vs MM/YY field). Preselect: yes — Debit/Credit Card tab active. Optional: no ("required" marked instead). Autofill: Click-to-Pay option, card icons. CTA: below fold — n/a. Progress: no. Survey: no.

**35. Superpower — Checkout (web flow)** — [mobbin](https://mobbin.com/screens/715b6ac8-a550-48c1-a721-fba8d8ccbf7b)
Inputs: 5 (3–5) + 2 consent checkboxes. Smart default: YES — Country "United States" preset; "Card" chip preselected. Labels: persistent for section, placeholder-as-label for card fields. Mode: mixed — payment methods as visible chips (Card/Apple Pay/Bank/Klarna), free-text card fields. Dropdown: YES — "Select biological sex" select hiding its (few) options. Preselect: yes (Card chip). Optional: no. Autofill: YES — Apple Pay + Stripe Link ("Secure, fast checkout with Link"). CTA: not visible — n/a. Progress: no. Survey: no (biological sex is lab-relevant for this health product). Note: dropdown for a 2–3 option question = hidden-options anti-pattern flagged by thesis.

**36. Grailed — Review Offer** — [mobbin](https://mobbin.com/screens/3b9a7ca1-8d7d-4775-83a0-6ce9492f8abf)
Inputs: 9 (6+). Smart default: none (address not added — red "Add a shipping address" alert link). Labels: placeholder-as-label for ALL fields. Mode: free-text only. Dropdown: no (Country as free text box). Preselect: YES — "Save card securely for future use" toggle pre-ON. Optional: no. Autofill: card icons only. CTA: "CHOOSE PAYMENT METHOD" grayed disabled-until-complete; price visible above. Progress: no. Survey: no.

**37. Vivino — Delivery address** — [mobbin](https://mobbin.com/screens/7881a939-7bd1-4252-ba2a-8e001a674d22)
Inputs: 10 (6+). Smart default: YES — Country "United States" preset; City "Menlo Park" + State "California" filled while ZIP is still empty (location-derived prefill). Labels: floating persistent. Mode: free-text only. Dropdown: no. Preselect: no. Optional: YES — Company and Apt/suite both marked "Optional". Autofill: email prefilled from account. CTA: below fold — n/a. Progress: no. Survey: no.

**38. Crate & Barrel — Checkout payment** — [mobbin](https://mobbin.com/screens/ab1f60fb-68e4-4e80-9220-b36810c41b54)
Inputs: 2 (1–2). Smart default: YES — saved Visa ***6660 with expiry preloaded. Labels: persistent above + "required" suffix. Mode: free-text (2 verification fields) + radio list. Dropdown: no. Preselect: YES — Credit/Debit Card radio. Optional: inverse ("required" marked). Autofill: Apple Pay, saved card, CVV picture hint. CTA: "Apply" active black. Progress: no. Survey: no. Note: forces full card-number re-verification of an already-saved card — deliberate security friction.

**39. HBX — Checkout review** — [mobbin](https://mobbin.com/screens/653974f5-c6c4-49ea-9251-cffafaff5b5b)
Inputs: 4 rows (3–5). Smart default: YES — email, full shipping address, shipping method ($32 Standard + delivery estimate), and card payment method ALL prefilled/preselected; zero typing left. Labels: persistent left-column labels. Mode: structured — payment options as fully visible radio list (6 options), nothing hidden. Dropdown: no. Preselect: yes. Optional: no. Autofill: Apple Pay, PayPal, Atome, Afterpay. CTA: "BUY WITH CREDIT CARD" active — dynamic CTA that names your chosen method. Progress: no. Survey: no.

### Batch 5 — "form with dropdown menus and text inputs" (12 screens)

**53. Premier League — Your Details** — [mobbin](https://mobbin.com/screens/b6971717-a035-4384-8169-82021ff4fafc)
Inputs: 5 controls (3–5). Smart default: NO — dial code sits at "+00", country at "Select one"; not even locale defaults. Labels: persistent above + "*Required". Mode: dropdown-dominant (DOB as 3 selects, country select, dial select). Dropdown: YES. Preselect: no. Optional: inverse (required marked). Autofill: none. CTA: below fold — n/a. Progress: no. Survey: YES — DOB + country of residence demanded just "to receive emails" (marketing-list data grab).

**54. Gemini — "Just a few more questions" (KYC)** — [mobbin](https://mobbin.com/screens/a824beab-0c31-4dcf-b521-c1df105412fe)
Inputs: 6 (6+). Smart default: none verifiable (values shown are user-chosen mid-flow). Labels: persistent above. Mode: dropdown-only — 6 consecutive selects (Industry, Annual income, Purpose, Source of funds, Trading activity, Nationality). Dropdown: YES — 6. Preselect: no. Optional: no. Autofill: none. CTA: "Next" active. Progress: no — but header copy "Just a few more questions" tacitly admits fatigue. Survey: no — KYC-mandated (regulatory forms resist chip-ification).

**55. Best Buy — Address entry with live autocomplete** — [mobbin](https://mobbin.com/screens/6876dbcf-0007-4d1c-ba99-bd60f7c4dde3)
Inputs: 5 (3–5). Smart default: no. Labels: persistent above. Mode: free-text + select. Dropdown: yes (State "Select", undefaulted). Preselect: no. Optional: no. Autofill: YES — 7 live address suggestions shown while typing ("hide suggestions" toggle); one tap replaces 4 fields. CTA: keyboard covers — n/a. Progress: no. Survey: no.

**56. Alipay — Identity verification (passport)** — [mobbin](https://mobbin.com/screens/88ab4b30-ed64-4dc1-9581-bddfeb636605)
Inputs: 5 (3–5). Smart default: no. Labels: persistent above (Chinese). Mode: 2 free-text + 3 hidden pickers (gender select, 2 date pickers, all reading "please select"). Dropdown: YES. Preselect: no. Optional: no. Autofill: none. CTA: "提交" (Submit) pale — disabled-until-complete. Progress: no. Survey: no (ID verification).

**57. KakaoBank — Employment / KYC info** — [mobbin](https://mobbin.com/screens/be63dbfc-2511-4e3c-99b1-5cbeb5df5d4b)
Inputs: 6 (6+). Smart default: YES — stored address auto-populated with a "변경" (change) button; reuse-not-retype. Labels: persistent. Mode: mixed — 3 selects + text + stored-value rows. Dropdown: YES. Preselect: yes. Optional: no. Autofill: saved address. CTA: "다음" (Next) grayed — disabled-until-complete. Progress: no. Survey: no (KYC).

**58. Nutmeg — Identity information** — [mobbin](https://mobbin.com/screens/d7a66d90-2f0d-41a9-b6ff-073c4a1ea427)
Inputs: 6 (6+). Smart default: no (wheel merely rests on "Mr", first option). Labels: persistent floating. Mode: free-text + 2 selects (Title wheel open showing Mr/Mrs/Miss/Ms; Gender select with "?" tooltip). Dropdown: YES. Preselect: no. Optional: no — "Middle names" not marked optional though it effectively is. Autofill: none. CTA: picker "Done" — n/a. Progress: YES — thin progress bar under header. Survey: YES — Title/salutation (Mr/Mrs/Miss/Ms), the canonical changes-nothing field, for an investment app.

**59. Gmail (Google account) — Basic information** — [mobbin](https://mobbin.com/screens/aef19666-46f8-483c-87fe-852e2194b0ff)
Inputs: 4 (3–5). Smart default: YES — Gender preset to "Rather not say" (privacy-preserving default). Labels: floating persistent (outlined Material style). Mode: mixed — 2 selects + 2 text boxes. Dropdown: yes. Preselect: yes. Optional: no. Autofill: none. CTA: "Next" active. Progress: no. Survey: borderline — birthday/gender with a "why we ask" link (g.co/age-gender); counted no (age gate) but noted as justified-collection pattern.

**60. Walmart — Create a baby registry** — [mobbin](https://mobbin.com/screens/d1199086-db0b-4a00-89e6-2110419a83e9)
Inputs: 4 (3–5). Smart default: YES — baby's gender select preset to "Surprise" (a whimsical default that makes the question skippable). Labels: persistent above + *. Mode: free-text + select. Dropdown: yes. Preselect: yes. Optional: no. Autofill: none. CTA: "Continue" active + "Previous" (multi-step nav, but no progress indicator). Progress: no indicator. Survey: no.

**61. Turo — Address** — [mobbin](https://mobbin.com/screens/c400e566-1daa-4bc6-bf1b-08523a207c80)
Inputs: 5 (3–5). Smart default: YES — Country preset "United States" (locale). Labels: persistent above. Mode: free-text + 2 selects. Dropdown: yes. Preselect: yes. Optional: no. Autofill: none visible. CTA: "Next" active. Progress: no. Survey: no.

**62. Scoot — Personal Details (profile)** — [mobbin](https://mobbin.com/screens/1f11f662-f45f-4110-bb48-fb3f31ed975a)
Inputs: 7 (6+). Smart default: YES — saved profile data repopulated (Title, name, DOB masked, nationality). Labels: persistent above. Mode: free-text + 4 selects. Dropdown: YES (Title, DOB, Marital Status, Nationality). Preselect: no new choices. Optional: no. Autofill: profile reuse. CTA: below fold — n/a. Progress: no. Survey: YES — Marital Status ("Select") and Title for an airline; neither changes anything about flying.

**63. Marriott Bonvoy — Guest Information** — [mobbin](https://mobbin.com/screens/fd7fbfaa-6206-421a-850c-6e4a3074c751)
Inputs: 7+ (6+). Smart default: YES — name, dial code +1, phone, Country "Singapore" prefilled from profile; only address remains ("PLEASE COMPLETE" injected as field value — an odd error-state pattern). Labels: persistent uppercase + * + "(OPTIONAL)" on address line 2. Mode: free-text + selects. Dropdown: yes. Preselect: yes. Optional: YES. Autofill: profile reuse. CTA: below fold — n/a. Progress: no. Survey: no.

**64. Artsy — Artwork details (sell flow)** — [mobbin](https://mobbin.com/screens/962009d4-b419-47c3-8315-84492a989144)
Inputs: 3 (3–5). Smart default: no. Labels: placeholder-as-label (inline text in boxes; "*Required" floats below the Medium select). Mode: free-text + 1 select. Dropdown: yes (Medium). Preselect: no. Optional: inverse (required marked). Autofill: none. CTA: "Continue" grayed — disabled-until-complete; "Back" + "Save & Exit" escape hatches. Progress: YES — progress bar at top. Survey: no.

---

## Results

**n = 64 unique iOS screens, 60 distinct apps** (Marriott Bonvoy, Best Buy, Artsy, On, Turo appear twice in different flows), collected 2026-08-10.

### Counts and percentages

| Dimension | Result | n (denominator) |
|---|---|---|
| Visible inputs: 1–2 | 7 (11%) | 64 |
| Visible inputs: 3–5 | 40 (62%) | 64 |
| Visible inputs: 6+ | 17 (27%) | 64 |
| **Prefilled value / smart default present** | **30 (47%)** | 64 |
| — among booking forms (batch 2) | 13 (100%) | 13 |
| — among signup forms (batch 1) | 1 (8%) | 13 |
| — among checkout forms (batch 3) | 6 (46%) | 13 |
| — among profile-setup forms (batch 4) | 4 (31%) | 13 |
| Labels: persistent (above/floating) | 48 (75%) | 64 |
| **Labels: placeholder-as-label (pure)** | **13 (20%)** | 64 |
| Labels: mixed | 3 (5%) | 64 |
| Placeholder-as-label incl. mixed | 16 (25%) | 64 |
| Dominant mode: free-text | 36 (56%) | 64 |
| Dominant mode: structured-visible (chips/steppers/calendars/cards/radio lists) | 15 (23%) | 64 |
| Dominant mode: dropdown/picker-dominant | 7 (11%) | 64 |
| Dominant mode: mixed | 6 (9%) | 64 |
| Any option-hiding dropdown/select present | 31 (48%) | 64 |
| — excluding the dropdown-seeded batch 5 | 19 (37%) | 52 |
| Any preselected option (radio/chip/segment/checkbox) | 37 (58%) | 64 |
| — pre-checked marketing consent specifically | 3 (5%) + 1 privacy-positive opt-out | 64 |
| Optional fields explicitly marked "optional" | 11 (17%) | 64 |
| — inverse convention (marks "required" instead) | ~9 (14%) | 64 |
| Social login / autofill / express-pay affordance visible | 10 (16%) | 64 |
| CTA visible on screen | 46 | 64 |
| — disabled-until-complete | 17 (37%) | 46 |
| — always-active | 29 (63%) | 46 |
| — CTA paired with live payoff (price/result count) | 3 (7%) | 46 |
| Progress/step indicator | 6 (9%) | 64 |
| Survey-style field (changes nothing downstream) | 5 (8%) | 64 |

### Most interesting patterns (prose)

**1. Smart defaults are a genre, not a general practice.** 47% of all screens show at least one app-supplied prefill — but the aggregate hides a chasm. Booking forms defaulted *everything*: 13 of 13 arrived with guests, date, and time already chosen (Zomato, Resy, Tock, Airbnb, TheFork...). Signup forms defaulted almost *nothing*: 1 of 13 (Marriott's locale-derived country + dial code). The industry has apparently concluded that defaults sell reservations but has not applied the same logic to its own registration walls — the exact screens where churn is measured.

**2. Placeholder-as-label survives a decade of NN/g warnings — in 1 of 5 top apps.** 13 of 64 screens (20%, 25% counting mixed) still use disappearing placeholder labels, including Future Pro (nine consecutive unlabeled fields), CHOPT (six, with format masks like "(XXX) XXX-XXXX*" stuffed into the placeholder), Grailed, Gymshark, and ZARA. Uxcel Go is the textbook exhibit: once its dropdowns are filled, the screen reads "Alex / Product Designer / Senior / Social media" — four answers with no visible questions. The 75% majority has moved to persistent/floating labels, so this is now a laggard pattern, not a norm — but the laggards are household names.

**3. Free-text still dominates overall (56%), and the structured minority clusters where money changes hands.** Chips, steppers, calendars, and visible radio lists dominate 23% of screens — almost all booking and checkout-review flows. Nobody asked "how many guests?" with a text box; nobody offered a stepper for "first name." The pattern is rational, but the near-total absence of structured controls in signup/profile flows (Airtasker's tap cards being the notable exception) suggests habit, not analysis.

**4. Dropdowns keep hiding small option sets.** 37% of screens outside the dropdown-seeded batch contain at least one option-hiding select. The worst offenses hide tiny sets: Superpower puts ~3 biological-sex options behind a select, Formula 1 hides ~10 teams, Nutmeg wheels through four salutations, and Alma asks for age, height, and weight — numbers — via four dropdowns. Expedia still ships the Month/Year expiry selects that a masked MM/YY field replaced years ago elsewhere.

**5. Disabled-until-complete CTAs are a strong minority: 37%.** 17 of 46 visible CTAs are grayed out until every field validates (Hevy, VSCO, Turo, Mammoth, Substack, F1, CHOPT, Alipay, KakaoBank...). Only 3 of 46 CTAs (7%) pair the button with a live payoff — Airbnb ("$25 for 1 guest"), Viator ("1 option available" + total), Careem (running total beside "Next"). The "See 12 results" pattern the thesis champions is nearly extinct in this sample; payoff copy lives on chips (Swiggy's "20% off" badges, Zomato's "2 offers") rather than on the button.

**6. Preselected choices are mainstream (58%) — and a few are dark.** Most preselections are benign accelerators (payment method radio, standard shipping, today's date). But 3 screens pre-check marketing consent (Rivian, Turo, Notion), one inverts it in the user's favor (Peerspace pre-checks "I don't want marketing emails"), and HBO Max and Gmail both default gender to "prefer/rather not say" — privacy-preserving defaults as brand posture.

**7. "Optional" is marked on only 17% of screens; 14% mark "required" instead.** Two competing conventions coexist, sometimes within one brand (Marriott marks "(Optional)" on one screen, asterisks on another). Meanwhile survey-style fields are rarer than the thesis might predict — 8% — but vivid: Nutmeg's Mr/Mrs/Miss/Ms wheel, Scoot's Marital Status for a flight, Uxcel's "how did you hear about us," MasterClass's 467-character "What brings you to this class?", and the Premier League demanding your birth date just to join a mailing list.

**8. The best checkouts have stopped being forms.** HBX and Crate & Barrel render checkout as a review of stored decisions — everything prefilled, one or two verification taps left. Best Buy's live address autocomplete collapses four fields into one tap. The frontier pattern isn't "better empty fields"; it's eliminating the field.

### Per-app verdicts — 10 most instructive screens

Overall takeaway to compare against: *top apps default and structure transactional forms aggressively, but still greet new users with blank free-text walls; placeholder-as-label and option-hiding dropdowns persist in a stubborn minority.*

1. **Airbnb (booking, #24)** — ALIGNED. The whole thesis on one screen: stepper preset to 1 adult, first slot preselected, price and scarcity on every option, CTA shows "$25 for 1 guest."
2. **HBX (checkout, #39)** — ALIGNED. Zero-typing checkout: address, method, and payment all prefilled; 6 payment options as a visible radio list; CTA dynamically names your chosen method.
3. **Deliveroo (booking, #17)** — ALIGNED. Nothing hidden: full calendar, guest chips, segmented date mode, everything defaulted, always-active CTA.
4. **Citizen (profile, #50)** — ALIGNED. Auto-generates a username ("sacramentoUser…") so the naming decision is optional, not blocking.
5. **Marriott Bonvoy (signup, #12)** — PARTIAL. The only signup with smart defaults (locale country + dial code) — proving it's possible — yet still 6+ fields and a 4-bullet password-rule wall on one screen.
6. **Gemini (KYC, #54)** — PARTIAL. A 6-dropdown wall, but regulator-mandated content; its "Just a few more questions" header is the sample's only honest acknowledgment of form fatigue.
7. **Future Pro (payment, #29)** — VIOLATES. Nine free-text fields, every label a disappearing placeholder, grayed CTA — the churn-surface archetype.
8. **Formula 1 (profile, #47)** — VIOLATES. Hides a ~10-team fan choice behind a dropdown (chips would show the whole grid), doesn't default country, and greys the CTA.
9. **Uxcel Go (profile, #48)** — VIOLATES on labels. Filled placeholder-labeled dropdowns leave answers with no visible questions — NN/g's documented failure, shipped — plus a "how did you hear about us" survey field.
10. **CHOPT (profile, #52)** — VIOLATES. Six placeholder-labeled pills with format masks as placeholders, disabled CTA; only its birthday field ("So we know when to celebrate") shows payoff thinking.

### Exemplars

**Strong (3):**
- Airbnb — stepper + preselected slot + payoff CTA: https://mobbin.com/screens/e4fff56f-b88d-4e5f-9d84-4b423ec7e108
- HBX — zero-typing prefilled checkout, visible options, dynamic CTA: https://mobbin.com/screens/653974f5-c6c4-49ea-9251-cffafaff5b5b
- Deliveroo — all options visible, all defaulted: https://mobbin.com/screens/830d9cb1-c033-482f-91c4-9bc388cb699a

**Weak (2):**
- Future Pro — 9 placeholder-labeled blank fields, disabled CTA: https://mobbin.com/screens/913dac22-7a38-4de9-ab01-ff9bb38cfbbc
- Formula 1 — small option sets hidden in dropdowns, no defaults, disabled CTA: https://mobbin.com/screens/c73b597c-6f62-4281-a573-b6db8a251b0d

### Methodology note (honest limits)

This is a **curated, relevance-ranked sample, not a random one**. Mobbin indexes design-notable top apps, and `search_screens` returns the best matches for each query — so the sample skews toward well-regarded design and toward screens that match the query phrasing (batch 5 was deliberately seeded with "dropdown," inflating the overall dropdown count; the excluding-batch-5 figure is reported alongside). The unit is the **screen, not the app**: five apps appear twice, and a single screen can't reveal flow-level behavior (e.g., whether a placeholder label floats on focus, or whether a filled value was app-prefilled or user-typed — ambiguous cases were counted conservatively as *not* prefilled, so the 47% smart-default figure is a floor for visible-prefill states, not a claim about app capability). Several CTAs and page bottoms were cut off by the capture viewport and excluded from CTA denominators (n=46). Percentages on n=64 carry roughly ±12pt margins at 95% confidence if treated as a sample of a larger population; treat them as descriptive of this sample.

