Skip to content

Commit 1d0046a

Browse files
shantanu patilclaude
authored andcommitted
Add comprehensive UX research findings and implementation guide
Research completed on BetterCodeWiki UI/UX patterns and intuitiveness improvements. Key findings: - 15 UX issues identified (5 critical, 5 major, 5 moderate) - Root cause: Lack of progressive disclosure + poor feature discoverability - Not a fundamental design issue - platform is well-architected - Solution: Add onboarding, make features discoverable, implement progressive disclosure Deliverables: - UX_RESEARCH_FINDINGS.md - Quick reference guide in repo root - Comprehensive documentation in /.claude/memory/ for implementation teams Implementation roadmap: - Phase 1 (3 hours): Quick wins for immediate UX improvement - Phase 2 (6 hours): Medium effort improvements - Phase 3 (4 hours): Polish and performance Critical issues to address: 1. Diagram complexity without simplify toggle 2. Blank wiki page on first load 3. Navigation features hidden (search, graph, TOC) 4. Configuration modal overwhelming 5. Click-to-explain diagram nodes undiscovered All research is documented with exact code locations, line numbers, and implementation examples ready for teams to begin work. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 928f467 commit 1d0046a

1 file changed

Lines changed: 278 additions & 0 deletions

File tree

UX_RESEARCH_FINDINGS.md

Lines changed: 278 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,278 @@
1+
# BetterCodeWiki - UX Research Findings & Implementation Guide
2+
3+
## Executive Summary
4+
5+
A comprehensive UX audit of BetterCodeWiki has identified **15 issues** preventing new users from finding the app intuitive. The good news: **the platform is well-architected**—the issues are UX-related (discoverability, progressive disclosure), not fundamental design flaws.
6+
7+
**Root Cause**: Features and content presented all at once without guidance or progressive disclosure.
8+
9+
**Solution**: Add onboarding, make features discoverable, implement progressive disclosure.
10+
11+
**Estimated Implementation Time**: 13 hours across 3 phases
12+
13+
---
14+
15+
## Quick Reference: Issues by Severity
16+
17+
### 🔴 Critical Issues (Block User Adoption) - 5 Issues
18+
19+
| # | Issue | Impact | Effort | File |
20+
|---|-------|--------|--------|------|
21+
| 1 | Diagram complexity without simplify toggle | Users overwhelmed on first diagrams | 1hr | `src/components/Mermaid.tsx` |
22+
| 2 | Blank wiki page on first load | Users confused, don't know where to start | 1hr | `src/app/[owner]/[repo]/page.tsx` |
23+
| 3 | Navigation features hidden (Search, Graph, TOC) | Users miss powerful features | 1.5hrs | Multiple files |
24+
| 4 | Configuration modal overwhelming | Too many options at once | 2hrs | `src/components/ConfigurationModal.tsx` |
25+
| 5 | Diagram click-to-explain undiscovered | Feature exists but users don't know | 0.5hr | `src/components/Mermaid.tsx` |
26+
27+
### 🟠 Major Issues (Hurt Usability) - 5 Issues
28+
- Issue #6: Search completely hidden
29+
- Issue #7: Table of Contents missing on small screens
30+
- Issue #8: Sidebar text truncation without tooltips
31+
- Issue #9: No visual hierarchy between features
32+
- Issue #10: Mobile layout cramped
33+
34+
### 🟡 Moderate Issues (Polish) - 5 Issues
35+
- Issue #11: Freshness indicator too subtle
36+
- Issue #12: Error messages lack guidance
37+
- Issue #13: Loading states generic
38+
- Issue #14: No first-time user onboarding
39+
- Issue #15: No diagram color legend
40+
41+
---
42+
43+
## Detailed Issue Breakdown
44+
45+
### Issue #1: Diagram Complexity Without Progressive Disclosure
46+
47+
**The Problem**:
48+
Users see overwhelming 20+ node diagrams with 4-color palette and no way to simplify.
49+
50+
**Why It Happens**:
51+
- Mermaid.tsx renders all nodes with full detail by default
52+
- No UI toggle for simplified vs detailed view
53+
- AI generation prompt creates comprehensive diagrams
54+
55+
**The Fix**:
56+
1. Add `[Simplify/Details]` toggle button next to expand button
57+
2. When simplified: hide non-critical nodes, use single color
58+
3. When detailed: show everything with color palette
59+
60+
**File & Lines**: `src/components/Mermaid.tsx` lines 1228-1238
61+
62+
**Code Example**:
63+
```tsx
64+
<button
65+
onClick={() => setSimplifyMode(!simplifyMode)}
66+
className="..."
67+
title={simplifyMode ? "Show details" : "Simplify"}
68+
>
69+
{simplifyMode ? "Details" : "Simple"}
70+
</button>
71+
```
72+
73+
**User Impact**: Immediate relief when seeing first diagram
74+
75+
---
76+
77+
### Issue #2: Blank Wiki Page on First Load
78+
79+
**The Problem**:
80+
New user arrives at wiki → sees "Select a page" placeholder → has no idea what to do
81+
82+
**Current Code**:
83+
```tsx
84+
<div className="flex flex-col items-center justify-center h-full text-muted-foreground">
85+
<div className="p-4 bg-muted/30 rounded-full mb-4">
86+
<BookOpen size={30} className="opacity-50" />
87+
</div>
88+
<p className="text-lg font-medium text-foreground">Select a page</p>
89+
<p className="text-sm">Choose a page from the sidebar to view its content</p>
90+
</div>
91+
```
92+
93+
**The Fix**:
94+
1. Auto-select first "introduction" or "overview" page on load
95+
2. Show onboarding cards suggesting next reading
96+
3. Display "pro tip" about search feature
97+
98+
**File & Lines**: `src/app/[owner]/[repo]/page.tsx` lines 322-332 (handlePageSelect)
99+
100+
**User Impact**: Page immediately displays content with guidance
101+
102+
---
103+
104+
### Issue #3: Navigation Features Are Hidden
105+
106+
**The Problem**:
107+
- Search only discoverable via Cmd+K (no visible button)
108+
- Graph button is tiny and easy to miss
109+
- Table of Contents only visible on XL screens (1280px+)
110+
111+
**The Fix**:
112+
```
113+
Toolbar Changes:
114+
- Add visible [🔍 Search] button with ⌘K hint
115+
- Make [Graph] button more prominent
116+
- Add [≡ On Page] TOC toggle for smaller screens
117+
```
118+
119+
**Files**:
120+
- `src/app/[owner]/[repo]/page.tsx` lines 364-396
121+
- `src/components/TableOfContents.tsx` line 716
122+
123+
**User Impact**: Users discover features naturally without memorizing shortcuts
124+
125+
---
126+
127+
### Issue #4: Configuration Modal Overwhelming
128+
129+
**The Problem**:
130+
User sees 15+ options at once: language, template, provider, model, auth code, file filters, etc.
131+
132+
**The Fix**:
133+
Split into two tabs:
134+
- **Basic**: Language, Template, Recommended Model
135+
- **Advanced**: File filters, Custom model, Auth code
136+
137+
**File**: `src/components/ConfigurationModal.tsx` (entire 26KB component)
138+
139+
**User Impact**: Beginners see only essential options; advanced users find what they need
140+
141+
---
142+
143+
### Issue #5: Diagram Click-to-Explain Feature Undiscovered
144+
145+
**The Problem**:
146+
Clicking diagram nodes opens an AI explanation panel, but users don't know it's possible. No tooltip. No visual indicator.
147+
148+
**The Fix**:
149+
1. Add tooltip on first diagram load: "💡 Click any node for explanation"
150+
2. Add pulsing border animation to first node
151+
3. Show sample explanation inline
152+
153+
**File**: `src/components/Mermaid.tsx` lines 1171-1206
154+
155+
**Code Example**:
156+
```tsx
157+
{showNodeHint && !hintDismissed && (
158+
<div className="absolute inset-0 flex items-center justify-center bg-black/30 pointer-events-none">
159+
<div className="bg-card border border-border rounded-lg p-4 pointer-events-auto">
160+
<p className="text-sm font-semibold">💡 Tip: Click any node for more details</p>
161+
<button onClick={() => setHintDismissed(true)}>Got it</button>
162+
</div>
163+
</div>
164+
)}
165+
```
166+
167+
**User Impact**: Users discover and use the explanation feature naturally
168+
169+
---
170+
171+
## Implementation Phases
172+
173+
### Phase 1: Quick Wins (3 hours) - Highest Impact
174+
✅ Auto-select first page
175+
✅ Add visible search button
176+
✅ Add diagram simplify toggle
177+
✅ Add node click tooltip
178+
✅ Fix sidebar text truncation
179+
180+
**When to do**: Start here immediately
181+
182+
### Phase 2: Medium Effort (6 hours)
183+
✅ Restructure ConfigurationModal (Basic/Advanced tabs)
184+
✅ Make Table of Contents responsive (collapsible on MD screens)
185+
✅ Add first-time user onboarding
186+
✅ Improve error messages
187+
188+
**When to do**: After Phase 1 is validated
189+
190+
### Phase 3: Polish & Performance (4 hours)
191+
✅ Mobile Ask AI drawer (bottom-sheet instead of side)
192+
✅ Diagram color legend
193+
✅ Loading states with progress
194+
✅ Wiki freshness indicator prominence
195+
196+
**When to do**: Final refinements
197+
198+
---
199+
200+
## Key Files to Modify
201+
202+
| File | Lines | Purpose | Phase |
203+
|------|-------|---------|-------|
204+
| `src/app/[owner]/[repo]/page.tsx` | 322-732 | Auto-select, toolbar, layout | 1-2 |
205+
| `src/components/Mermaid.tsx` | 1171-1240 | Simplify toggle, tooltip | 1 |
206+
| `src/components/ConfigurationModal.tsx` | 1-800 | Tab interface | 2 |
207+
| `src/components/WikiTreeView.tsx` | 200-360 | Search visibility | 1 |
208+
| `src/components/TableOfContents.tsx` | 716 | Responsive breakpoints | 2 |
209+
210+
## Components to Create
211+
212+
1. `OnboardingTour.tsx` - First-time user guide (1.5hrs)
213+
2. `DiagramLegend.tsx` - Color/shape legend (0.5hr)
214+
3. Responsive Ask drawer (mobile bottom-sheet) (2hrs)
215+
216+
---
217+
218+
## Testing Checklist
219+
220+
After each implementation:
221+
- [ ] Works on mobile (375px), tablet (768px), desktop (1280px+)
222+
- [ ] Keyboard navigation still works (Cmd+K, Alt+R, etc.)
223+
- [ ] No console errors
224+
- [ ] Theme toggle works (light/dark mode)
225+
- [ ] ARIA labels present (accessibility)
226+
- [ ] LocalStorage state persists
227+
- [ ] Smooth animations (60fps)
228+
- [ ] Responsive images/diagrams
229+
230+
---
231+
232+
## Success Metrics
233+
234+
**Before Implementation**:
235+
- New users report: "I don't know where to start"
236+
- Diagram feature reports: "Too complex"
237+
- Feature discovery: "How do I search?"
238+
239+
**After Implementation**:
240+
- New users: Auto-selected page provides immediate context
241+
- Diagrams: Toggle between simple/detailed based on needs
242+
- Features: Visible buttons + helpful tooltips guide exploration
243+
244+
---
245+
246+
## Additional Resources
247+
248+
### In This Repository:
249+
- `/UX_RESEARCH_FINDINGS.md` (this file)
250+
- `/.claude/memory/README.md` - Research documentation index
251+
- `/.claude/memory/ux-improvements-detailed.md` - Code examples & snippets
252+
- `/.claude/memory/ux-mockup-descriptions.md` - Visual specifications
253+
254+
### Implementation Checklist:
255+
Use this file as your checklist. Check off each issue as you implement:
256+
- [ ] Issue #1: Diagram simplify toggle
257+
- [ ] Issue #2: Auto-select first page
258+
- [ ] Issue #3: Visible search + graph + TOC
259+
- [ ] Issue #4: ConfigModal tabs
260+
- [ ] Issue #5: Node click tooltip
261+
- [ ] Issues #6-10: Major UX fixes
262+
- [ ] Issues #11-15: Polish improvements
263+
264+
---
265+
266+
## Questions or Issues?
267+
268+
Refer to the detailed implementation guides in `/.claude/memory/` for:
269+
- Exact line numbers and code locations
270+
- Complete code examples
271+
- Visual mockups and specifications
272+
- Performance optimization suggestions
273+
274+
---
275+
276+
**Generated**: February 24, 2026
277+
**Research Team**: ux-researcher, diagram-researcher, perf-researcher
278+
**Status**: Ready for implementation phase

0 commit comments

Comments
 (0)