BMAD-METHOD/test-samples/sample-a/ux-design-specification.md

22 KiB
Raw Blame History

stepsCompleted inputDocuments workflowType lastStep status project_name user_name date
1
2
3
4
5
6
7
8
9
10
11
12
13
14
test-samples/sample-a/PRD-AquaFlow-V1.0.md
ux-design 14 complete AquaFlow SaaS 專案管理協作平台 東杰 2025-12-25

UX Design Specification: AquaFlow SaaS 專案管理協作平台

Author: 東杰 Date: 2025年12月25日 Version: 1.0


產品背景摘要

產品名稱: AquaFlow 產品類型: 雲端 SaaS 專案管理協作平台 目標受眾: 中小型企業團隊領導者、專案經理、跨職能團隊成員

解決的核心問題

  1. 現有工具太複雜或太輕量,團隊需要平衡清晰度、速度和適當結構的產品
  2. 任務狀態追蹤困難
  3. 新手上手時間過長

核心功能模組

  • 專案管理(建立和管理多個專案)
  • 任務看板(看板拖曳、快速新增)
  • 任務詳情(指派、截止日期、優先級、評論)
  • 搜尋與篩選
  • 通知系統(應用內 + Email

設計風格方向

  • 關鍵字trust、efficiency、clarity、professional
  • 風格Modern Professional SaaS

Executive Summary

Project Vision

AquaFlow 是專為中小型企業團隊打造的雲端專案管理協作平台。我們的目標是提供比 Jira 更輕量、更直覺的體驗,同時保持專業團隊所需的核心功能。

核心價值主張:

  • 直覺的拖曳看板,讓任務管理變得簡單
  • 清晰的團隊進度可見度,一眼掌握全局
  • 快速上手5分鐘即可開始使用
  • 合理的價格,不需要企業級預算

Target Users

主要使用者:

  • 團隊領導者與專案經理(有 Jira 經驗)
  • 跨職能團隊成員
  • 營運與行銷團隊

使用者特徵:

  • 技術熟練度:中高(有專案管理與 Jira 經驗)
  • 主要設備:桌面電腦
  • 使用情境:辦公室環境,團隊協作型任務

核心痛點:

  • Jira 成本過高
  • 現有工具過於複雜或功能不足

Key Design Challenges

  1. 避免「另一個 Jira」的印象 — 需要更簡潔但不失專業
  2. 傳達價值感 — UI 需要讓用戶感受到「更划算且更好用」
  3. 團隊協作可見度 — 清晰呈現「誰在做什麼、進度如何」

Design Opportunities

  1. 快速上手體驗 — 比 Jira 更低的學習門檻
  2. 視覺化進度 — 一眼看清團隊全局
  3. 極致拖曳體驗 — 讓核心互動成為產品亮點
  4. 輕量專業 — 保持專業外觀,去除不必要複雜度

Core User Experience

Defining Experience

核心互動: 新增任務 + 拖曳任務狀態

這兩個動作是 AquaFlow 的靈魂。用戶每天會執行這些操作數十次,必須做到:

  • 新增任務10 秒內完成,只需輸入標題
  • 拖曳任務:絲滑流暢,即時視覺回饋

差異化策略vs Jira

面向 Jira 痛點 AquaFlow 解法
新增任務 要填很多欄位 「標題即任務」— 只需標題,其他選填
拖曳體驗 有時卡頓 Spring 動畫 + 樂觀更新
進度可見度 要看報表 欄位計數器 + 進度環
設定複雜度 設定太多 智慧默認,開箱即用

Platform Strategy

面向 決策
主要平台 響應式 Web App
互動方式 滑鼠/鍵盤為主
離線功能 V1 暫不支援(辦公室使用為主)
瀏覽器支援 Chrome, Firefox, Safari, Edge最新兩版

Effortless Interactions

  1. 極速新增 — 浮動按鈕 + Cmd+K 快捷鍵
  2. 絲滑拖曳 — Spring 動畫 + 樂觀更新
  3. 一眼進度 — 欄位計數器 + 進度環
  4. 快速搜尋Cmd+K 全域搜尋

Critical Success Moments

時刻 用戶情感 設計策略
第一次拖曳到「完成」 「哇,好順!」 微慶祝動畫
看到團隊進度 「終於不用問了」 進度環 + 計數器
10秒內新增任務 「比 Jira 簡單」 快速新增流程
找到上週任務 「搜尋好用!」 Cmd+K 全域搜尋

Experience Principles

  1. 🚀 速度優先 — 任何操作 200ms 內有視覺回應
  2. 👁️ 資訊清晰 — 一眼看到:誰負責、何時截止、什麼狀態
  3. 🎯 專注當下 — 減少干擾,專注於當前任務
  4. 🔄 流暢過渡 — 所有狀態變化都有自然動畫
  5. ⌨️ 效率捷徑 — 為專業用戶提供鍵盤快捷鍵

Desired Emotional Response

Primary Emotional Goals

情感 觸發時機 設計策略
掌控感 看到團隊進度 進度環 + 清晰的狀態欄
效率感 快速完成操作 200ms 內有回應
輕鬆感 首次使用 智慧默認,不需要設定
成就感 完成任務 微慶祝動畫

Emotional Journey Mapping

階段 情感 設計策略
發現 好奇 + 期待 清晰的價值主張5秒內吸引注意
註冊 信任 + 輕鬆 最少步驟,支援社群登入
首次使用 自信 + 引導 引導式 onboarding不壓迫
日常使用 高效 + 滿足 流暢操作,即時回饋
完成任務 成就感 微慶祝動畫,進度視覺化
出錯時 被理解 + 有方向 友善錯誤訊息,明確解決方案

Micro-Emotions

強化的正面情感:

  • 自信 vs 困惑 → 清晰的視覺層級
  • 信任 vs 懷疑 → 一致的互動模式
  • 成就感 vs 挫折 → 漸進式任務分解
  • 歸屬感 vs 孤立 → 團隊活動可見性

避免的負面情感:

  • 😰 焦慮 — 避免資訊過載vs Jira 太多欄位)
  • 😤 挫折 — 避免複雜操作流程
  • 😵 困惑 — 避免不一致的 UI 元素
  • 😒 厭煩 — 避免過多確認對話框

Emotional Design Principles

  1. 🏆 慶祝進步 — 每個完成的任務都值得微小的慶祝動畫
  2. 🤝 溫暖的錯誤處理 — 錯誤訊息像朋友在幫忙,不像機器在責備
  3. 驚喜時刻 — 隱藏的彩蛋讓日常使用不無聊
  4. 🧘 減少認知負擔 — 默認值聰明,讓用戶少做決定
  5. 👋 個人化觸點 — 使用者名字、偏好設定優先

UX Pattern Analysis & Inspiration

Inspiring Products Analysis

產品 優點 可借鑒的 UX 模式
Trello 極致直覺的拖曳體驗 看板 + 卡片設計、封面圖片、標籤系統
Asana 多視圖無縫切換 列表/看板/時間軸視圖、右側滑出面板
Notion 鍵盤導向操作 Cmd+K 萬能搜尋、斜線指令
Linear 極簡專業風格 清晰資訊層級、快捷鍵系統

Transferable UX Patterns

導航模式:

  • 側邊欄工作區切換(像 Slack 一樣快速切換)
  • 麵包屑導航(工作區 > 專案 > 任務的清晰路徑)
  • 全域搜尋 Cmd+K(快速找到任何東西)

互動模式:

  • Trello 風格的流暢拖曳
  • 右側滑出詳情面板(不離開上下文)
  • @提及自動完成(自然的協作語法)

Anti-Patterns to Avoid

反模式 來源 為什麼避免
過度功能 Jira 中小企業不需要複雜設定
資訊過載 Monday.com 太多欄位造成認知負擔
強制教學 某些企業軟體 阻斷新手的探索慾望
深層導航 舊版 Basecamp 超過 3 層深度造成迷失

Design Inspiration Strategy

採用 (Adopt)

  • Trello 的拖曳體驗 → 核心看板互動
  • Asana 的視圖切換 → 列表/看板無縫切換
  • Notion 的 Cmd+K → 全域快捷搜尋

改編 (Adapt)

  • 🔄 Asana 的慶祝動畫 → 更輕量的完成微動畫
  • 🔄 Linear 的鍵盤導向 → 簡化為常用快捷鍵

避免 (Avoid)

  • 任何需要培訓的功能 → 自助可發現
  • 深層選單 → 最多 3 層

Design System Foundation

Design System Choice

選定方案: Chakra UI v2 + React

技術組合:

  • UI 框架Chakra UI v2
  • 圖標庫Lucide Icons
  • 拖曳:@dnd-kit/core
  • 動畫Framer Motion內建
  • 表單React Hook Form + Chakra

Rationale for Selection

考量因素 Chakra UI 優勢
React 整合 原生支援,符合 PRD 技術栈
可主題化 輕鬆建立 AquaFlow 品牌識別
無障礙 內建 WCAG 標準支援
開發體驗 清晰文件、TypeScript 支援
拖曳支援 易於整合 @dnd-kit

Implementation Approach

  1. Phase 1: 基礎設定

    • 安裝 Chakra UI 和依賴套件
    • 配置主題 (theme.ts)
    • 建立設計令牌 (Design Tokens)
  2. Phase 2: 基礎組件

    • Button, Input, Card 等基礎組件
    • 導航組件 (Sidebar, Navbar)
    • 版面配置組件
  3. Phase 3: 業務組件

    • TaskCard (任務卡片)
    • KanbanColumn (看板欄)
    • ProjectList (專案列表)

Customization Strategy

設計令牌 (Design Tokens)

  • 品牌色:待 Step 8 定義
  • 字型Inter (Google Fonts)
  • 間距4px 基礎單位
  • 圓角sm=4px, md=8px, lg=16px
  • 陰影:使用 Chakra 默認 shadow tokens

Visual Design Foundation

Color System

色彩來源: UI/UX Pro Max 知識庫 (SaaS Modern Professional)

角色 Hex 色碼 用途
Primary #2563EB 主按鈕、連結、品牌識別
Secondary #3B82F6 hover 狀態、次要強調
CTA #F97316 行動呼籲按鈕
Background #F8FAFC 頁面背景
Text #1E293B 主要文字
Border #E2E8F0 邊框、分隔線

語意色彩:

  • Success: #22C55E
  • Warning: #EAB308
  • Error: #EF4444
  • Info: #3B82F6

設計理念: Trust blue + accent contrast信任藍 + 對比強調色)

Typography System

字型來源: UI/UX Pro Max 知識庫 (Minimal Swiss)

主要字型: Inter (Google Fonts)

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

字級階層:

元素 大小 粗細 行高
H1 32px 700 1.2
H2 24px 600 1.3
H3 20px 600 1.4
Body 16px 400 1.5
Small 14px 400 1.5
Caption 12px 400 1.4

Spacing & Layout Foundation

基礎單位: 4px

間距系統 (Chakra UI)

space.1 = 4px
space.2 = 8px    ← 最小按鈕間距
space.3 = 12px
space.4 = 16px   ← 常用內邊距
space.6 = 24px   ← 區塊間距
space.8 = 32px
space.10 = 40px
space.12 = 48px

版面配置:

  • 最大寬度1280px
  • 側邊欄寬度240px
  • 卡片內邊距16px
  • 欄位間距16px

Accessibility Considerations

  • 色彩對比度符合 WCAG AA 標準4.5:1
  • 主要按鈕使用至少 44x44px 觸控區域
  • 相鄰按鈕間距至少 8px
  • Inter 字型具備優秀的可讀性
  • 支援鍵盤導航Tab/Shift+Tab

Design Direction Decision

Design Directions Explored

由於設計決策已在前面步驟中明確定義,跳過多變體 mockups 生成。

已確定的設計元素:

  • 設計系統Chakra UI v2
  • 配色Trust Blue (#2563EB) + Orange CTA (#F97316)
  • 字型Inter
  • 風格Modern Professional SaaS

Chosen Direction

選定方向Modern Professional SaaS

面向 設計決策
布局 側邊欄導航 + 主內容區看板
視覺密度 中等密度,留白適當
互動風格 輕量動畫、Spring 拖曳
導航模式 左側邊欄 + 頂部麵包屑
卡片風格 白底圓角 + 輕陰影

Design Rationale

  1. 側邊欄導航 — 符合 SaaS 產品標準,用戶有 Jira 經驗
  2. 中等密度 — 平衡資訊呈現和清晰度vs Jira 的高密度)
  3. 輕量動畫 — 支持「速度優先」原則,不影響效能
  4. 白底圓角卡片 — 現代專業感,符合 Trust + Efficiency 關鍵字

Implementation Approach

  1. Chakra UI Theme — 配置自訂顏色和字型
  2. Layout Components — Sidebar + Main + SlidePanel
  3. Card Components — TaskCard、ProjectCard
  4. Animation Library — Framer Motion for Spring animations

User Journey Flows

Journey 1: 新增任務

目標: 10 秒內建立新任務

flowchart TD
    A[點擊 + 按鈕 / Cmd+K] --> B[輸入任務標題]
    B --> C{按 Enter?}
    C -->|是| D[任務建立成功 ✓]
    C -->|否| E[展開詳情面板]
    E --> F[填寫其他欄位]
    F --> D
    D --> G[微慶祝動畫]

關鍵設計決策:

  • 只需標題即可建立任務
  • 其他欄位皆為選填
  • 支援快捷鍵 Cmd+K

Journey 2: 拖曳任務狀態

目標: 絲滑流暢的狀態切換

flowchart TD
    A[抓取任務卡片] --> B[拖曳中 - 陰影提升]
    B --> C[放置到目標欄]
    C --> D{樂觀更新}
    D -->|成功| E[Spring 動畫完成]
    D -->|失敗| F[回滾位置 + 錯誤提示]
    E --> G[欄位計數器更新]

關鍵設計決策:

  • 樂觀更新(先顯示成功,再同步後端)
  • Spring 動畫增加流暢感
  • 失敗時優雅回滾

Journey 3: 全域搜尋

目標: 快速找到任何任務

flowchart TD
    A[按 Cmd+K] --> B[搜尋框浮現]
    B --> C[輸入關鍵字]
    C --> D[即時顯示結果]
    D --> E{選擇結果}
    E -->|Enter/Click| F[跳轉到任務]
    E -->|Esc| G[關閉搜尋]

關鍵設計決策:

  • 全域快捷鍵 Cmd+K
  • 即時搜尋結果
  • 支援鍵盤導航

Journey Patterns

通用模式:

  1. 快捷鍵入口 — 所有常用功能支援 keyboard shortcut
  2. 即時回饋 — 200ms 內有視覺回應
  3. 樂觀更新 — 先顯示成功,後台同步
  4. 優雅錯誤處理 — 自動回滾 + 友善訊息

Flow Optimization Principles

原則 說明
10 秒法則 核心操作必須在 10 秒內完成
200ms 回應 任何操作有即時視覺回饋
一鍵可及 最常用功能一次點擊/按鍵即可
漸進揭露 進階功能隱藏,需要時才顯示

Component Strategy

Design System Components (Chakra UI v2)

基礎組件(直接使用):

  • Button, IconButton, ButtonGroup
  • Input, Select, Checkbox, Radio, Switch
  • Card, Box, Flex, Grid, Stack
  • Modal, Drawer, Popover, Tooltip
  • Alert, Toast, Progress, Spinner
  • Tabs, Breadcrumb, Menu

Custom Components

1. TaskCard (任務卡片)

項目 規格
用途 看板上的可拖曳任務卡片
內容 標題、標籤、負責人頭像、截止日期、優先級
狀態 default, hover, dragging, selected, loading

KB 指南參考:

  • #28 Focus States → focus:ring-2 focus:ring-blue-500
  • #29 Hover States → hover:bg-gray-50 cursor-pointer
  • #30 Active States → active:scale-[0.99]
  • #84 Truncation → 標題超長用 line-clamp-2
  • #40 ARIA Labels → 拖曳需 aria-grabbed 屬性

2. KanbanColumn (看板欄)

項目 規格
用途 任務狀態欄(待辦/進行中/完成)
內容 欄標題、任務計數器、進度環、新增按鈕
狀態 default, drop-target-active, empty

KB 指南參考:

  • #80 Empty States → 空欄顯示「尚無任務,拖曳或點擊新增」
  • #10 Loading States → 載入中顯示 Skeleton

3. CommandPalette (快捷指令面板)

項目 規格
用途 Cmd+K 全域搜尋/快捷指令
內容 搜尋框、分類結果、最近項目
狀態 open, searching, results, empty

KB 指南參考:

  • #41 Keyboard Navigation → 完整鍵盤支援(↑↓ Enter Esc
  • #28 Focus States → 清晰的選項焦點指示
  • #89 Search Autocomplete → 即時顯示搜尋建議

4. ProgressRing (進度環)

項目 規格
用途 視覺化任務完成進度
內容 百分比數字、動畫環
尺寸 sm(24px), md(32px), lg(48px)

KB 指南參考:

  • #8 Duration Timing → 動畫 200ms
  • #9 Reduced Motion → 尊重 prefers-reduced-motion

Component Implementation Strategy

通用狀態規範(基於 KB 指南):

/* 所有互動組件必須實作 */
.interactive {
  /* #28 Focus States */
  focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
  
  /* #29 Hover States */
  hover:bg-gray-50 transition-colors
  
  /* #30 Active States */
  active:scale-[0.98]
  
  /* #22 Touch Target */
  min-h-[44px] min-w-[44px]
}

/* #8 Animation Timing */
transition: all 200ms ease-out;

/* #9 Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  transition: none;
}

Implementation Roadmap

階段 組件 優先級 依賴
Phase 1 TaskCard 🔴 P0 @dnd-kit
Phase 1 KanbanColumn 🔴 P0 TaskCard
Phase 2 CommandPalette 🟡 P1 -
Phase 2 ProgressRing 🟡 P1 -
Phase 3 ActivityFeed 🟢 P2 -
Phase 3 UserAvatar 🟢 P2 -

UX Consistency Patterns

KB 指南參考: #61 Submit Feedback, #4 Back Button, #43 Form Labels

Button Hierarchy

層級 用途 樣式 範例
Primary 主要行動 填充藍色 #2563EB + 白字 儲存、建立、提交
Secondary 次要行動 邊框藍色 + 藍字 取消、返回
Ghost 低調行動 透明背景 + 灰字 更多選項、展開
Danger 破壞性行動 紅色 #EF4444 刪除(需確認對話框)

按鈕狀態:

  • Default → Hover (brightness(1.1)) → Active (scale(0.98)) → Disabled (opacity-50)

Feedback Patterns

類型 觸發 呈現 持續時間
Success 操作完成 Toast 右上角 ✓ 3 秒自動消失
Error 操作失敗 紅色 Alert + 說明 用戶關閉
Warning 需要注意 黃色 Alert 用戶確認
Info 提示資訊 藍色 Toast 5 秒自動消失
Loading 等待中 Spinner 或 Skeleton 完成後消失

回饋規則:

  • 小於 300ms 的操作:無需顯示 loading
  • 300ms-1s顯示 spinner
  • 大於 1s顯示 skeleton 或進度條

Form Patterns

輸入欄位規範:

  • 每個 input 都有 <label> 關聯
  • 必填欄位標示 *
  • 即時驗證onBlur
  • 錯誤訊息在欄位下方(紅色)
  • 送出按鈕顯示 loading 狀態
  • 成功後顯示確認訊息 + 自動跳轉

表單佈局:

[Label]          * (required)
[Input Field    ]
[Error message in red]

Navigation Patterns

一致性規則:

  • 側邊欄高亮當前頁面
  • 麵包屑顯示完整路徑
  • 支援瀏覽器返回鍵(history.pushState
  • URL 反映當前狀態(可分享)
  • Cmd+K 開啟搜尋面板

Modal & Overlay Patterns

類型 用途 關閉方式
Modal 需要用戶決策 按鈕、Esc、點擊外部
Drawer 側邊詳情面板 按鈕、Esc、點擊外部
Popover 短暫資訊 點擊外部、Esc
Toast 通知訊息 自動消失、點擊關閉

Responsive Design & Accessibility

Responsive Strategy

平台優先級:

優先級 平台 螢幕尺寸 說明
🔴 P0 Desktop 1024px+ 主要使用環境
🟡 P1 Tablet 768-1023px 次要環境
🟢 P2 Mobile 320-767px 輕量查看

設計策略: Desktop-first根據 PRD 主要為桌面辦公室環境)

Breakpoint Strategy

名稱 尺寸 佈局變化
mobile 320px+ 單欄佈局、底部導航、隱藏側邊欄
tablet 768px+ 可收合側邊欄、簡化看板
desktop 1024px+ 側邊欄常駐、多欄看板、詳情面板
wide 1440px+ 更寬內容區域、三欄佈局

Chakra UI 對應:

const breakpoints = {
  sm: '320px',   // mobile
  md: '768px',   // tablet
  lg: '1024px',  // desktop
  xl: '1440px',  // wide
}

Accessibility Strategy

合規等級: WCAG 2.1 Level AA

類別 要求 實施方式
色彩對比 4.5:1正常文字、3:1大文字 已驗證配色符合標準
觸控區域 最小 44x44px 所有按鈕和互動元素
鍵盤導航 完整 Tab 支援 Chakra UI 內建
焦點指示 可見焦點環 focus:ring-2 focus:ring-blue-500
Screen Reader ARIA 標籤 所有圖標按鈕
動態效果 尊重偏好 prefers-reduced-motion
Skip Links 跳過導航 首個焦點元素

Testing Strategy

自動化測試:

  • axe-core — 掃描 a11y 問題
  • Lighthouse — 效能和無障礙評分
  • ESLint jsx-a11y — 程式碼檢查

手動測試:

  • 純鍵盤操作測試
  • VoiceOver (macOS) / NVDA (Windows) 螢幕閱讀器
  • 高對比模式
  • 200% 縮放

裝置測試:

  • Chrome DevTools 裝置模擬
  • 實機iPhone、Android 手機

Implementation Guidelines

響應式開發:

// Chakra UI 響應式語法
<Box
  w={{ base: '100%', md: '50%', lg: '33%' }}
  display={{ base: 'none', lg: 'block' }}
/>

無障礙開發:

// 圖標按鈕必須有 aria-label
<IconButton
  aria-label="關閉選單"
  icon={<CloseIcon />}
/>

// 尊重動態偏好
const prefersReducedMotion = usePrefersReducedMotion()