Files
ColaFlow/docs/designs/STORY_DESIGN_SUMMARY.md
Yaojia Wang b11c6447b5
Some checks failed
Code Coverage / Generate Coverage Report (push) Has been cancelled
Tests / Run Tests (9.0.x) (push) Has been cancelled
Tests / Docker Build Test (push) Has been cancelled
Tests / Test Summary (push) Has been cancelled
Sync
2025-11-08 18:13:48 +01:00

12 KiB

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.


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

Backlog:    #64748B (Slate)  bg: #F1F5F9
Todo:       #2196F3 (Blue)   bg: #E3F2FD
InProgress: #FF9800 (Orange) bg: #FFF3E0
Done:       #4CAF50 (Green)  bg: #E8F5E9

Priority Colors

Low:       #2196F3 (Blue)   bg: #E3F2FD
Medium:    #FFC107 (Yellow) bg: #FFF9C4
High:      #FF9800 (Orange) bg: #FFE0B2
Critical:  #F44336 (Red)    bg: #FFEBEE

Typography

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

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 Questions: Create issue in colaflow/design-system repo


Document Version: 1.0 Last Updated: 2025-11-05 Next Review: After Phase 1 implementation