488 lines
12 KiB
Markdown
488 lines
12 KiB
Markdown
# 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
|