--- stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] inputDocuments: ['test-samples/sample-a/PRD-AquaFlow-V1.0.md'] workflowType: 'ux-design' lastStep: 14 status: 'complete' project_name: 'AquaFlow SaaS 專案管理協作平台' user_name: '東杰' date: '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) ```css @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 秒內建立新任務 ```mermaid flowchart TD A[點擊 + 按鈕 / Cmd+K] --> B[輸入任務標題] B --> C{按 Enter?} C -->|是| D[任務建立成功 ✓] C -->|否| E[展開詳情面板] E --> F[填寫其他欄位] F --> D D --> G[微慶祝動畫] ``` **關鍵設計決策:** - 只需標題即可建立任務 - 其他欄位皆為選填 - 支援快捷鍵 `Cmd+K` ### Journey 2: 拖曳任務狀態 **目標:** 絲滑流暢的狀態切換 ```mermaid flowchart TD A[抓取任務卡片] --> B[拖曳中 - 陰影提升] B --> C[放置到目標欄] C --> D{樂觀更新} D -->|成功| E[Spring 動畫完成] D -->|失敗| F[回滾位置 + 錯誤提示] E --> G[欄位計數器更新] ``` **關鍵設計決策:** - 樂觀更新(先顯示成功,再同步後端) - Spring 動畫增加流暢感 - 失敗時優雅回滾 ### Journey 3: 全域搜尋 **目標:** 快速找到任何任務 ```mermaid 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 指南):** ```css /* 所有互動組件必須實作 */ .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 都有 `