Files
waggle-os/docs/ux-refactor/ux-audit-2026-07-04.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

3.7 KiB
Raw Permalink Blame History

UX Audit — Browser Walkthrough 2026-07-04

Method: real browser session (headless Chromium, 1440×900) against dev build (sidecar :3333 + vite :8080), walked as a first-time user via ?forceWizard=true. Screenshots in session scratchpad ux-01..ux-16.

The first-run interruption stack (the P0 story)

A new user's first 90 seconds today:

  1. Onboarding ends with "Let's go!" — but the first task is never sent; it sits prefilled in the composer (broken promise). (F2)
  2. The instant the workspace loads, a "Your 15-day trial has ended" modal covers everything. (F1)
  3. Dismissing it immediately reveals a 4-step coach-mark carousel over the welcome panel. (F5)
  4. Sending the message manually then fails: "API key is invalid or expired" — even though onboarding's model step showed a green "You have a working model — you're ready to go." (F3)
  5. The error is dead-end small text: no Retry, no link to the settings screen it names. (F4)

Findings

# Sev Finding Evidence
F1 P0 Trial-ended paywall modal re-fires on EVERY route navigation; "Continue with Free" dismissal is not persisted (fired 3× in 10 min: post-onboarding, /, /memory) ux-07, ux-11, ux-12
F2 P0 Onboarding final step "Let's go!" navigates to chat but does NOT send the chosen first task; text sits in composer ux-08
F3 P0 Model-gate step claims "You have a working model — you're ready to go" from key presence only; first real call 401s. Probe exists server-side (llm-key-probe.ts) but the claim isn't probe-backed ux-03 vs ux-10
F4 P1 Chat LLM error is inline small text, no Retry button, no link to "Settings > API Keys" it references ux-10
F5 P1 Coach-mark carousel fires immediately on first landing, stacking on top of the paywall dismissal; suppress on first-run landing / show later ux-08
F6 P2 Onboarding polish: (a) disabled "English (US)" pill looks clickable; (b) duplicate Back controls (header ← Back + footer Back); (c) all 8 "help with" chips preselected → zero signal; (d) template picker ignores stated role — no "Recommended" ranking (Strategy Consultant → no consulting-flavored guidance); (e) final step loses Back + step counter; (f) final-step suggestion chips not template/role-tailored (PRD/campaign chips inside Research Hub) ux-01..06
F7 P2 IA naming drift: sidebar "Agents & tasks" → page "Agent Center" (no tasks visible anywhere on it); sidebar "Library" → page/URL "Artifacts"; section label "EVERYTHING ELSE" is filler copy ux-13, ux-14
F8 P2 Sidebar active-state wrong on workspace Overview (highlights "Chat") ux-15
F9 P3 Welcome-back panel on a fresh workspace: "Here's where you left off … across 0 sessions"; should have a first-visit variant ux-08
F10 P3 ⌘K palette: ESC chip collides with close ✕ icon ux-16
F11 P3 Working-step accordion duplicates ("Worked across your memory, web & files" ×2 for one turn) ux-10
F12 P3 Agent Center: single row floats over a vast honeycomb void — needs a richer empty/sparse state (template suggestions) ux-13

What's already good (don't regress)

  • Welcome hero: calm, single CTA, on-device trust line.
  • Live greeting preview in who-are-you step.
  • "Claude Code detected — 495 items — Import my history" one-click harvest.
  • Chat working-state transparency (Auto Recall chip, timing).
  • ⌘K palette structure (Jump to / Do).
  • Trial modal's honest "You keep / You lose" framing (the content, not the timing).

Wave plan

  • Wave 1 (this session): F1, F2, F3/F4 (probe + actionable error), F5, F8, F9, F10.
  • Wave 2: F6 (onboarding polish set), F7 (IA naming — product naming decision), F11, F12.