"Navigation"
- Mobile 導航模式分類
Push/pop stack / declarative router / tab bar / drawer — 四種 mobile 導航模式各自的適用場景和使用者心理模型
- U.C1 Terminal 畫面五個狀態零個退出路徑
Flutter app 的 Terminal 畫面有 idle/connecting/connected/error/disconnected 五個 enum 狀態,每個狀態都沒有 back 或 disconnect 按鈕 — 使用者一旦進入就出不去
- 畫面狀態矩陣
說明用四欄表格(顯示/可用操作/進入條件/退出路徑)系統性地暴露畫面導航缺口的設計工具
- 畫面狀態矩陣的定義與填寫方法
四欄矩陣(顯示 / 可用操作 / 進入條件 / 退出路徑)的定義、填寫步驟和檢查規則 — 退出路徑為空 = UX 死胡同
- Flutter GoRouter 導航設計
GoRouter 的路由定義、導航 API(go / push / pushReplacement)、redirect 機制和 ShellRoute 的使用場景
- 從 BDD 操作盤點展開到狀態矩陣
五步驟把 BDD 操作盤點的「前端引導」展開成完整的畫面狀態矩陣 — 補上操作和退出這兩個容易遺漏的面向
- 導航路徑 test
Back 按鈕、route 可達性、go vs push 語意 — 驗證使用者能從任何畫面回到預期的位置
- iOS HIG vs Material Design 導航差異
兩個平台在 back 行為、手勢、tab bar 位置、modal 呈現上的差異 — 跨平台 app 需要決定遵循哪套慣例
- 路由可達性檢查
Router 定義的路由 vs UI 實際可達的路由 — 路由存在但 UI 不可達等於死程式碼的 UX 版本
- Deep link 設計
URL scheme / Universal Link / App Link — deep link 讓外部來源直接導航到 app 的特定畫面
- error → retry → error 循環的逃生口設計
當重試持續失敗時,使用者需要第二條路 — 逃生口設計讓使用者能離開失敗循環而非被困住
- U.C4 首頁缺配對入口按鈕、導航流未完整列出
Flutter app 首頁只有 Connect Terminal 按鈕、沒有 Enroll Device 入口 — 使用者首次使用時找不到配對功能。根因是導航流設計只考慮了日常操作(UC-02 連線)、遺漏了首次操作(UC-01 配對)的入口
- 反模式:假設使用者只走 happy path
為什麼開發者容易只設計 happy path 的 UI、使用者在非 happy path 狀態下被困住的機制分析、以及用狀態矩陣系統性地防止這個問題
- go vs push vs pushReplacement 的 UX 語意表
三種導航方法對堆疊、back 行為、使用者心理模型的影響 — 選擇依據是使用者的意圖而非技術方便
- 每個畫面都需要出口:畫面狀態機設計與 UX 導航的系統性方法
實機測到某畫面沒有返回或退出按鈕、使用者被困住。根因是企劃沒系統列出每個畫面的狀態與可用操作;用畫面狀態矩陣確保每個狀態都有明確出口。