Sync
This commit is contained in:
487
docs/designs/STORY_DESIGN_SUMMARY.md
Normal file
487
docs/designs/STORY_DESIGN_SUMMARY.md
Normal file
@@ -0,0 +1,487 @@
|
||||
# Story Management UX/UI Design - Executive Summary
|
||||
|
||||
**Date:** 2025-11-05
|
||||
**Designer:** ColaFlow UX/UI Team
|
||||
**Status:** Ready for Implementation
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This document provides a concise summary of the Story management feature design. For full specifications, see [STORY_UX_UI_DESIGN.md](./STORY_UX_UI_DESIGN.md).
|
||||
|
||||
---
|
||||
|
||||
## Key Design Decisions
|
||||
|
||||
### 1. Story Detail Page Layout
|
||||
|
||||
**Decision:** Two-column layout with main content + metadata sidebar
|
||||
|
||||
**Rationale:**
|
||||
- Consistent with Epic detail page design
|
||||
- Separates core content from metadata
|
||||
- Optimizes for 80% use case (reading details)
|
||||
|
||||
**Layout:**
|
||||
```
|
||||
┌────────────────────────────────────────────────┐
|
||||
│ [Breadcrumb] [←] Story Title [Edit][Delete] │
|
||||
├────────────────────────────────────────────────┤
|
||||
│ ┌─────────────────────┐ ┌──────────────────┐ │
|
||||
│ │ Story Details │ │ Metadata Sidebar │ │
|
||||
│ │ - Description │ │ - Status │ │
|
||||
│ │ - Acceptance Criteria│ │ - Priority │ │
|
||||
│ │ - Tasks (8) │ │ - Assignee │ │
|
||||
│ │ - Activity Timeline │ │ - Parent Epic │ │
|
||||
│ └─────────────────────┘ └──────────────────┘ │
|
||||
└────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 2. Story Creation Flow
|
||||
|
||||
**Decision:** Hybrid approach (Quick Add + Full Form)
|
||||
|
||||
**Quick Add (Inline):**
|
||||
- For rapid Story creation
|
||||
- Title + Priority only
|
||||
- Inline form at top of Stories section
|
||||
- Keyboard shortcut: `Cmd/Ctrl + N`
|
||||
|
||||
**Full Form (Dialog):**
|
||||
- For detailed Stories
|
||||
- All fields available (description, assignee, acceptance criteria)
|
||||
- Accessed via [+ New Story] button
|
||||
|
||||
**Rationale:**
|
||||
- Supports both quick workflows and detailed planning
|
||||
- Reduces clicks for common case (simple Story)
|
||||
- Maintains consistency with Epic creation pattern
|
||||
|
||||
### 3. Kanban Board Enhancements
|
||||
|
||||
**Decision:** Add contextual Story creation from Epic cards
|
||||
|
||||
**New Interaction:**
|
||||
```
|
||||
Hover over Epic card → [+ Add Story] button appears
|
||||
Click → Inline Story form opens below Epic card
|
||||
Create → Story appears in correct Kanban column
|
||||
```
|
||||
|
||||
**Rationale:**
|
||||
- Reduces navigation (no need to open Epic detail)
|
||||
- Maintains context (Epic visible while creating)
|
||||
- Faster workflow for batch Story creation
|
||||
|
||||
### 4. Task Management in Story Detail
|
||||
|
||||
**Decision:** Expandable Task list with inline creation
|
||||
|
||||
**Features:**
|
||||
- Checkbox for quick status toggle
|
||||
- Filters: Status, Priority, Assignee
|
||||
- Sort: Priority, Status, Date, Assignee
|
||||
- Drag to reorder
|
||||
- Inline Quick Add Task
|
||||
|
||||
**Rationale:**
|
||||
- Tasks are critical to Story completion
|
||||
- Users need quick Task updates without navigation
|
||||
- Aligns with "Flow" principle (minimize steps)
|
||||
|
||||
### 5. Activity Timeline
|
||||
|
||||
**Decision:** Show full change history with filtering
|
||||
|
||||
**Display:**
|
||||
- Icon-based event types (status, assignment, comment)
|
||||
- Relative timestamps ("2h ago")
|
||||
- Filters: All, Changes, Comments, Assignments
|
||||
- Infinite scroll / Load More
|
||||
|
||||
**Rationale:**
|
||||
- Transparency: Users see all changes
|
||||
- Collaboration: Track team activity
|
||||
- Audit trail: Compliance requirement
|
||||
|
||||
---
|
||||
|
||||
## Component Architecture
|
||||
|
||||
### New Components
|
||||
|
||||
1. **Story Card Component**
|
||||
- File: `components/projects/story-card.tsx`
|
||||
- Variants: list, kanban, compact
|
||||
- States: default, hover, selected, dragging
|
||||
|
||||
2. **Task List Component**
|
||||
- File: `components/projects/task-list.tsx`
|
||||
- Features: filter, sort, bulk operations, drag-reorder
|
||||
|
||||
3. **Activity Timeline Component**
|
||||
- File: `components/shared/activity-timeline.tsx`
|
||||
- Reusable for Epic, Story, Task
|
||||
|
||||
4. **Quick Add Story Component**
|
||||
- File: `components/projects/quick-add-story.tsx`
|
||||
- Inline form for rapid Story creation
|
||||
|
||||
### Enhanced Components
|
||||
|
||||
1. **Story Form Component** (existing)
|
||||
- Add: Assignee selector
|
||||
- Add: Acceptance criteria field
|
||||
- Add: Tags/labels
|
||||
- Add: Quick mode variant
|
||||
|
||||
2. **Kanban Board** (existing)
|
||||
- Add: Story cards (currently shows Epics)
|
||||
- Add: Quick Add from Epic cards
|
||||
- Enhance: Drag Story to change status
|
||||
|
||||
---
|
||||
|
||||
## Design System Tokens
|
||||
|
||||
### Status Colors
|
||||
|
||||
```css
|
||||
Backlog: #64748B (Slate) bg: #F1F5F9
|
||||
Todo: #2196F3 (Blue) bg: #E3F2FD
|
||||
InProgress: #FF9800 (Orange) bg: #FFF3E0
|
||||
Done: #4CAF50 (Green) bg: #E8F5E9
|
||||
```
|
||||
|
||||
### Priority Colors
|
||||
|
||||
```css
|
||||
Low: #2196F3 (Blue) bg: #E3F2FD
|
||||
Medium: #FFC107 (Yellow) bg: #FFF9C4
|
||||
High: #FF9800 (Orange) bg: #FFE0B2
|
||||
Critical: #F44336 (Red) bg: #FFEBEE
|
||||
```
|
||||
|
||||
### Typography
|
||||
|
||||
```css
|
||||
Story Title: 32px, Bold, Line-height: 1.2
|
||||
Story Description: 16px, Regular, Line-height: 1.6
|
||||
Metadata Label: 14px, Medium
|
||||
Metadata Value: 14px, Regular
|
||||
```
|
||||
|
||||
### Spacing
|
||||
|
||||
```css
|
||||
Card Padding: 16px
|
||||
Section Gap: 24px
|
||||
Form Field Gap: 16px
|
||||
Task Item Gap: 8px
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## User Flows
|
||||
|
||||
### Critical User Journeys
|
||||
|
||||
**1. View Story Details:**
|
||||
```
|
||||
Epic Detail → Click Story → Story Detail → View Tasks → Check Activity
|
||||
```
|
||||
**Time Goal:** < 5 seconds
|
||||
|
||||
**2. Create Story (Quick):**
|
||||
```
|
||||
Epic Detail → Click [Quick Add] → Type Title → Select Priority → Press Enter
|
||||
```
|
||||
**Time Goal:** < 30 seconds
|
||||
|
||||
**3. Create Story (Full):**
|
||||
```
|
||||
Epic Detail → Click [+ New Story] → Fill Form → Create → Add Tasks
|
||||
```
|
||||
**Time Goal:** < 2 minutes
|
||||
|
||||
**4. Update Story Status:**
|
||||
```
|
||||
Story Detail → Click Status Dropdown → Select New Status → Confirm
|
||||
```
|
||||
**Time Goal:** < 10 seconds
|
||||
|
||||
**5. Add Tasks to Story:**
|
||||
```
|
||||
Story Detail → Click [+ Add Task] → Fill Title → Create → Repeat
|
||||
```
|
||||
**Time Goal:** < 20 seconds per task
|
||||
|
||||
---
|
||||
|
||||
## Keyboard Shortcuts
|
||||
|
||||
### Global
|
||||
- `Cmd/Ctrl + N` - Quick Add Story
|
||||
- `Cmd/Ctrl + E` - Edit Story
|
||||
- `ESC` - Cancel / Close dialog
|
||||
|
||||
### Story Detail
|
||||
- `1-4` - Change status (Backlog, Todo, InProgress, Done)
|
||||
- `P` - Change priority
|
||||
- `A` - Change assignee
|
||||
- `T` - Add new Task
|
||||
- `← / →` - Navigate to prev/next Story
|
||||
|
||||
### Story List
|
||||
- `↑ / ↓` - Navigate Stories
|
||||
- `Enter` - Open Story
|
||||
- `Space` - Quick preview
|
||||
- `Delete` - Delete Story
|
||||
|
||||
---
|
||||
|
||||
## Accessibility Highlights
|
||||
|
||||
### WCAG 2.1 Level AA Compliance
|
||||
|
||||
**Color Contrast:**
|
||||
- All text passes 4.5:1 ratio
|
||||
- Status badges: 3:1 minimum
|
||||
|
||||
**Keyboard Navigation:**
|
||||
- 100% keyboard accessible
|
||||
- Clear focus indicators
|
||||
- Logical tab order
|
||||
|
||||
**Screen Reader Support:**
|
||||
- ARIA labels on all interactive elements
|
||||
- Status announcements for updates
|
||||
- Descriptive button labels
|
||||
|
||||
**Focus Management:**
|
||||
- Trap focus in dialogs
|
||||
- Return focus on close
|
||||
- Auto-focus on Story title
|
||||
|
||||
---
|
||||
|
||||
## Mobile Responsive Design
|
||||
|
||||
### Breakpoints
|
||||
- Mobile: < 640px (Single column, tabs)
|
||||
- Tablet: 640px - 1024px (Two columns)
|
||||
- Desktop: > 1024px (Optimal layout)
|
||||
|
||||
### Mobile Optimizations
|
||||
- Tabs instead of sidebar (Details | Tasks | Activity)
|
||||
- Bottom sheets for forms
|
||||
- Swipe gestures (Edit/Delete)
|
||||
- Floating action button for Quick Add
|
||||
- Pull to refresh
|
||||
|
||||
---
|
||||
|
||||
## Performance Targets
|
||||
|
||||
### Page Load
|
||||
- Story Detail: < 1 second
|
||||
- Task List: < 500ms
|
||||
- Activity Timeline: < 500ms
|
||||
|
||||
### Interactions
|
||||
- Status update: < 100ms
|
||||
- Task checkbox toggle: < 100ms
|
||||
- Form submission: < 2 seconds
|
||||
|
||||
### Real-time Updates
|
||||
- SignalR message delivery: < 500ms
|
||||
- UI update latency: < 100ms
|
||||
|
||||
---
|
||||
|
||||
## Implementation Roadmap
|
||||
|
||||
### Phase 1: Core Story Detail (Week 1)
|
||||
**Goal:** Users can view Story details and Tasks
|
||||
|
||||
- [ ] Story detail page layout (2-column)
|
||||
- [ ] Story metadata sidebar
|
||||
- [ ] Story header with actions
|
||||
- [ ] Basic Task list display
|
||||
- [ ] Activity timeline (read-only)
|
||||
|
||||
**Deliverables:**
|
||||
- Story detail page (`app/(dashboard)/stories/[id]/page.tsx`)
|
||||
- Story metadata component
|
||||
- Task list component (basic)
|
||||
|
||||
### Phase 2: Story Creation & Editing (Week 2)
|
||||
**Goal:** Users can create and edit Stories efficiently
|
||||
|
||||
- [ ] Enhanced Story Form (assignee, acceptance criteria)
|
||||
- [ ] Inline Quick Add Story
|
||||
- [ ] Edit Story in dialog
|
||||
- [ ] Delete Story with confirmation
|
||||
- [ ] Form validation and error handling
|
||||
|
||||
**Deliverables:**
|
||||
- Quick Add Story component
|
||||
- Enhanced Story Form component
|
||||
- Delete confirmation dialog
|
||||
|
||||
### Phase 3: Task Management (Week 3)
|
||||
**Goal:** Users can manage Tasks within Stories
|
||||
|
||||
- [ ] Task list with filters and sorting
|
||||
- [ ] Inline Task creation
|
||||
- [ ] Task status update (checkbox)
|
||||
- [ ] Task reordering (drag & drop)
|
||||
- [ ] Task quick edit
|
||||
|
||||
**Deliverables:**
|
||||
- Full-featured Task list component
|
||||
- Task filters and sorting
|
||||
- Drag-drop functionality
|
||||
|
||||
### Phase 4: Kanban Enhancements (Week 4)
|
||||
**Goal:** Users can create Stories directly from Kanban
|
||||
|
||||
- [ ] Story cards in Kanban (replace Epic cards as option)
|
||||
- [ ] Drag Story to change status
|
||||
- [ ] Quick Add Story from Epic card
|
||||
- [ ] Bulk operations (multi-select, batch update)
|
||||
|
||||
**Deliverables:**
|
||||
- Enhanced Kanban Board component
|
||||
- Story drag-drop
|
||||
- Bulk operation UI
|
||||
|
||||
### Phase 5: Polish & Accessibility (Week 5)
|
||||
**Goal:** Production-ready with full accessibility
|
||||
|
||||
- [ ] Keyboard shortcuts implementation
|
||||
- [ ] Screen reader support (ARIA labels)
|
||||
- [ ] Mobile responsive design
|
||||
- [ ] Loading & error states
|
||||
- [ ] Animation polish
|
||||
- [ ] Performance optimization
|
||||
|
||||
**Deliverables:**
|
||||
- Keyboard shortcut handler
|
||||
- ARIA labels and screen reader support
|
||||
- Mobile responsive CSS
|
||||
- Loading skeletons
|
||||
- Error boundaries
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
### Usability
|
||||
- Task Completion Rate: > 95%
|
||||
- Time to Create Story: < 30s (Quick Add)
|
||||
- Navigation Efficiency: < 3 clicks (Epic → Task)
|
||||
- Error Rate: < 5%
|
||||
|
||||
### Performance
|
||||
- Page Load: < 1s
|
||||
- Interaction Response: < 100ms
|
||||
- Real-time Update: < 500ms
|
||||
|
||||
### Accessibility
|
||||
- Keyboard Navigation: 100%
|
||||
- WCAG 2.1 AA: 100% compliance
|
||||
- Screen Reader Coverage: All critical paths
|
||||
|
||||
---
|
||||
|
||||
## Risk & Mitigation
|
||||
|
||||
### Risk 1: Complex Task Management
|
||||
**Issue:** Task list with filters, sorting, drag-drop is complex
|
||||
|
||||
**Mitigation:**
|
||||
- Start with basic Task list (Phase 1)
|
||||
- Add features incrementally (Phase 3)
|
||||
- Use proven library (@dnd-kit) for drag-drop
|
||||
- Extensive testing with real users
|
||||
|
||||
### Risk 2: Real-time Update Conflicts
|
||||
**Issue:** Multiple users editing same Story simultaneously
|
||||
|
||||
**Mitigation:**
|
||||
- Optimistic UI updates with revert on conflict
|
||||
- SignalR broadcasts changes to all users
|
||||
- Show "Someone else is editing" indicator
|
||||
- Auto-refresh on conflict detection
|
||||
|
||||
### Risk 3: Mobile UX Complexity
|
||||
**Issue:** Story detail page has many sections for small screens
|
||||
|
||||
**Mitigation:**
|
||||
- Use tabs on mobile (Details | Tasks | Activity)
|
||||
- Bottom sheets for forms (not full dialogs)
|
||||
- Progressive disclosure (collapse sections)
|
||||
- Swipe gestures for common actions
|
||||
|
||||
### Risk 4: Performance with Large Task Lists
|
||||
**Issue:** Stories with 50+ Tasks may be slow
|
||||
|
||||
**Mitigation:**
|
||||
- Virtual scrolling for Task lists (react-window)
|
||||
- Pagination or "Load More" for Activity Timeline
|
||||
- Optimize SignalR payload size
|
||||
- Backend pagination for Tasks API
|
||||
|
||||
---
|
||||
|
||||
## Design Review Checklist
|
||||
|
||||
Before implementation, verify:
|
||||
|
||||
- [ ] Layout matches existing Epic page consistency
|
||||
- [ ] All interactive elements have hover/focus states
|
||||
- [ ] Color contrast passes WCAG AA (4.5:1)
|
||||
- [ ] Keyboard shortcuts don't conflict with browser
|
||||
- [ ] Mobile design provides equivalent functionality
|
||||
- [ ] Loading states defined for all async operations
|
||||
- [ ] Error messages are user-friendly and actionable
|
||||
- [ ] ARIA labels added to all interactive elements
|
||||
- [ ] Design tokens match ColaFlow design system
|
||||
- [ ] User flows tested with real scenarios
|
||||
|
||||
---
|
||||
|
||||
## Questions for Product Team
|
||||
|
||||
1. **Acceptance Criteria:** Should this be a simple checkbox list or rich text?
|
||||
2. **Story Status Transitions:** Are all transitions allowed (e.g., Done → Backlog)?
|
||||
3. **Task Limits:** Is there a maximum number of Tasks per Story?
|
||||
4. **Batch Operations:** Priority for bulk Story creation/update?
|
||||
5. **Integrations:** Will Stories sync with external tools (GitHub, Jira)?
|
||||
6. **AI Features:** Should AI suggest Story breakdown or acceptance criteria?
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Design Review:** Schedule with Product, Engineering, QA teams
|
||||
2. **Prototype:** Create Figma interactive prototype (optional)
|
||||
3. **User Testing:** Test flows with Lisa (PM) and David (Dev) personas
|
||||
4. **Implementation:** Start Phase 1 (Core Story Detail)
|
||||
5. **Iteration:** Gather feedback after each phase, adjust design
|
||||
|
||||
---
|
||||
|
||||
## Contact
|
||||
|
||||
**UX/UI Team:** ux-ui@colaflow.com
|
||||
**Design Files:** [Figma Workspace](https://figma.com/colaflow)
|
||||
**Questions:** Create issue in `colaflow/design-system` repo
|
||||
|
||||
---
|
||||
|
||||
**Document Version:** 1.0
|
||||
**Last Updated:** 2025-11-05
|
||||
**Next Review:** After Phase 1 implementation
|
||||
1408
docs/designs/STORY_UX_UI_DESIGN.md
Normal file
1408
docs/designs/STORY_UX_UI_DESIGN.md
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user