iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0

對話懶人包

  1. 要 AI 把整個 App 的設計都寫出來
  2. 要 AI 思考目前的缺漏
  3. 再次要 AI 思考目前的缺漏並且提出修改建議
  4. 把建議加入目前的設計方案中
  5. 畫出 UML 圖,使用 Plant UML 格式

對話

  1. 目前這個筆記App有那幾個頁面
    
  2. AI
    好的,根據我們到目前為止的所有設計討論,這個筆記 App 主要由以下 6 個核心頁面所組成:
    
    
    1. 筆記清單頁 (主畫面 / `NoteListScreen`)
    2. 全部筆記列表頁 (`AllNotesScreen`)
    3. 筆記編輯/新增頁 (`NoteEditScreen`)
    4. 設定頁 (`SettingsScreen`)
    5. 進階顏色自訂頁 (`AdvancedColorSettingsScreen`)
    6. 分類管理頁 (`CategoryManagementScreen`)
    * 我們還設計了一些對話框 (Dialogs),例如刪除確認、捨棄變更確認、手動輸入排序位置等,但它們通常不被視為獨立的「頁面」。
    
    所以,總結來說,核心的使用者流程會在以上這 6 個主要頁面之間進行導航和切換。
    
  3. 用你對無障礙的應用程式的認知,目前的設計還有什麼地方需要加強
    
  4. AI
    層次一:超越基礎,提供更豐富的替代方案
    層次二:提升體驗,關注細微的互動流暢度
    層次三:預防問題,處理邊緣情況
    
  5. 再仔細思考,有缺漏的地方嗎
    
  6. AI
    1. 缺漏:搜尋與篩選狀態的即時宣告不足
       * 現狀分析: 在主畫面上,當使用者點擊一個分類晶片,或在搜尋框輸入文字時,下方的列表內容會立刻發生變化。對於視覺使用者來說,這個因果關係是顯而易見的。
    2. 缺漏:缺乏對圖片或非文字內容的支援規劃
       * 現狀分析: 我們目前的設計完全是基於純文字的筆記。
    3. 缺漏:操作的撤銷與重做 (Undo/Redo) 功能
       * 現狀分析: 我們的編輯頁面功能強大,但所有操作都是「一次性」的。如果使用者不小心刪除了一大段文字,除了手動重新輸入,沒有任何補救措施。
    4. 缺漏:對系統「TalkBack 自訂標籤」的支援
       * 現狀分析: 我們為元件提供了清晰的描述,但使用者可能對某些術語有自己的偏好。
    
  7. 針對缺漏有什麼建議
    
  8. AI
    1. 針對「搜尋與篩選狀態宣告不足」的建議
       * 建議: 在主畫面的 ViewModel 中,建立一個專門的「宣告事件」流程 (SharedFlow 或 Channel)。
    2. 針對「缺乏對非文字內容支援規劃」的建議
       * 建議: 在我們的設計文檔中,新增一個「未來擴展性」的章節。
    3. 針對「操作的撤銷與重做 (Undo/Redo) 功能」的建議
       * 建議: 直接修改「筆記編輯/新增頁」的設計,將「復原」和「重做」功能加入。
    4. 針對「對系統『TalkBack 自訂標籤』支援」的建議
       * 建議: 這不是一個程式碼或 UI 設計上的修改,而是一個開發與測試階段的要求。
    
    您覺得這樣處理這四個缺漏點的建議是否可行?    
    
  9. 把目前的設計流程畫成UML圖,使用plant uml畫,存成uml.md
    
  10. AI
@startuml
!theme vibrant
title 無障礙筆記 App - 頁面導航與互動流程圖

start

:使用者開啟 App;

partition "主畫面 (NoteListScreen)" {
    :顯示主介面;
    if (搜尋框有文字?) then (是) 
        note right: 顯示扁平的搜尋結果列表
        :"**搜尋模式**";
    else (否)
        if (資料庫有筆記?) then (是)
            note right
                顯示可展開的分類與標籤列表
                **核心互動區域**
            end note
            :"**階層分類模式**";
        else (否)
            note right: 顯示提示文字,點擊可新增筆記
            :"**空狀態**";
            if (點擊提示文字?) then (是)
                --> "**筆記編輯/新增頁**";
            else (否)
                :等待使用者操作;
                stop
            endif
        endif
    endif
}

while (使用者在 App 中操作)
    if (從主畫面操作?) then (點擊「設定」按鈕)
        partition "設定流程" {
            :"**設定頁**";
            if (選擇操作) then (點擊「進階顏色自訂」)
                :"**進階顏色頁**";
                :返回設定頁;
            else if (點擊「管理分類」)
                :"**分類管理頁**";
                :返回設定頁;
            else (點擊「返回」)
                -> 返回主畫面;
            endif
        }

    else if (點擊「新增筆記」按鈕\n或點擊任一筆記進行編輯)
        partition "編輯流程" {
            :"**筆記編輯/新增頁**";
            :使用者輸入/編輯筆記內容;
            if (點擊「儲存」?) then (是)
                :儲存筆記到資料庫;
                -> 返回主畫面;
            else if (點擊「返回」)
                if (內容有變更且未儲存?) then (是)
                    :顯示「捨棄變更?」對話框;
                    if (確認捨棄?) then (是)
                        -> 返回主畫面;
                    else (否)
                        :停留在編輯頁;
                    endif
                else (否)
                    -> 返回主畫面;
                endif
            else (繼續編輯)
                :等待使用者操作;
            endif
        }

    else if (點擊「全部筆記」選項)
        partition "全部筆記流程" {
            :"**全部筆記頁**";
            if (點擊任一筆記?) then (是)
                --> "**筆記編輯/新增頁**";
            else (點擊「返回」)
                -> 返回主畫面;
            endif
        }
    else (關閉 App)
        break
    endif
endwhile

:使用者關閉 App;

stop

@enduml

上一篇
114/16 - Vibe Coding 筆記頁提示設計
下一篇
114/18 - Vibe Coding 程式架構提示設計
系列文
看見筆記捲土重來,試著用 Vibe Coding 完成一款 App 吧!18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
chiaominchang222
iT邦新手 5 級 ‧ 2025-10-01 19:26:16

事前的溝通真的很重要 讚 well done

我要留言

立即登入留言