
對我來說,看見呼吸練習的紀錄會帶來一種踏實感。每次練習可能只有幾分鐘,但當這些零散的時間被記錄下來,我就能看見自己確實有留一些時間照顧自己。這也是我想把紀錄視覺化的原因,希望透過畫面感受到持續與累積。
持續性:看見自己一次次付諸行動
平常總會提醒自己要休息、要照顧自己的狀態,但生活忙起來,這些念頭很容易被擱在一旁。看見每天留下的練習紀錄,會讓我知道,自己有把這個想法化為實際行動,也讓我產生繼續下去的動力。
不過,我偶爾也會想偷懶或中斷。如果一漏掉練習,連續天數就重新歸零,會有種失落感。因此,我希望紀錄能保留每一次投入的價值,即使中間休息了幾天,回來時仍然看得見之前的努力。
累積感:讓幾分鐘的投入變得具體
單次幾分鐘的呼吸練習,結束後可能很快就被日常瑣事沖淡。但回頭看一週或一個月的紀錄,才會發現,原來這些短暫的停頓已經累積成一段可觀的時間。
我喜歡這種一點一滴累積的感覺。透過練習天數與時間的呈現,能更具體地感受到:「我有花時間照顧自己的狀態。」這份踏實感,也是我繼續練習的動力。
在決定紀錄頁要放什麼之前,我先問自己一個問題:當打開這一頁,是想知道什麼?
回頭看 PRD,我當時列了 Heatmap、總呼吸時間、每週長條圖、連續天數,但這份清單比較像「習慣追蹤 App 通常會有的東西」,還沒有仔細思考每一項存在的理由。重新整理後,我把紀錄分成兩個面向:累積投入,以及開始練習時的狀態。

面向 1:累積練習天數與時間|我投入了多少?
累積練習天數
在 Day 5 我提到想用「連續練習 X 天」來支持習慣建立,但也擔心它變成 Duolingo 式的壓力。實際畫到這頁時,我決定改用累積天數。連續天數的問題在於,只要中斷一天就歸零,對一個本來是為了放鬆而打開 App 的人來說,歸零這件事本身就可能帶來挫折感。累積天數不會消失,中斷之後再回來,前面的投入都還在。
框架效應帶來的設計啟發
這個選擇也讓我想到心理學裡的框架效應(Framing Effect):即使選項的實質結果相同,不同的描述方式仍可能影響人的判斷。Tversky 與 Kahneman 在 1981 年的研究中,以預計造成 600 人死亡的疾病情境為例,將方案描述為「救活 200 人」或「400 人會死亡」,就改變了受試者在確定方案與風險方案之間的選擇。
回到我的設計,假設我原本已經連續練習 12 天,中斷一天後又回來練習,畫面可以顯示「連續 1 天」,也可以顯示「累積 13 天」。嚴格來說,這兩個數字衡量的是不同指標,因此並不是單純將同一項資訊換個說法。我從框架效應得到的啟發是:畫面選擇強調什麼,也值得仔細思考。
以我自己的感受來說,看到「連續 1 天」,容易先注意到之前的連續紀錄中斷了;看到「累積 13 天」,則更容易感受到過去的投入仍然存在。對這個以放鬆為目的的產品,我希望累積紀錄能成為鼓勵,讓自己願意再留幾分鐘照顧自己,而不希望打開 App 的動力來自害怕紀錄歸零。這是目前的設計意圖,實際使用後是否符合預期,還需要繼續觀察。
累積練習時間
累積時間呈現的是「我總共給了自己多少分鐘的放鬆時間」。這對應到 PRD 裡「量化自己給自己放鬆的時間」的目標。
Heatmap 熱點圖
接著要決定的是 Heatmap 顏色所代表的意義。我喜歡 GitHub 貢獻圖讓每日投入留下痕跡的呈現方式,但套到呼吸練習上,顏色深淺應該代表練習次數,還是練習時間?這一點我目前還沒有定案。
第一版暫時只標記當天是否有練習,讓自己能看見哪些日子留下了紀錄。至於是否需要用顏色深淺呈現更多資訊,以及它要回答什麼問題,我會整理到 PRD 的待決定事項中,之後再探索。
面向 2:開始練習時的狀態|我通常在什麼情況下練習?
延續 Day 5 的設計概念,使用者在開始練習前會先選擇當下的狀態,這個選擇也同時成為一筆紀錄。累積下來,就能看到自己最常在什麼狀態下需要停下來呼吸:
做這項設計的出發點,是我在自律神經失調那段時間,開始重視察覺自己當下的情緒與狀態。我希望透過這些紀錄,回顧自己通常在什麼情況下需要停下來,留一點時間給自己。
這些次數呈現的是「開始練習時選擇的狀態」。例如,因焦慮而練習 X 次,並不代表這段時間只焦慮了 X 次;目前的紀錄也還無法告訴我,是什麼事情觸發了這些感受。
目前這一版先呈現各種狀態對應的練習次數。至於是否能點擊查看單次紀錄,以及要用日曆、列表或其他方式呈現,互動細節還沒有定案。我會把這些問題整理到 PRD,先釐清自己回顧紀錄時想知道什麼,再決定適合的呈現方式。
目前已經有了 PRD 與主要畫面的 Wireframe。接下來兩天,會分別和 Claude 及 ChatGPT 討論,找出需求中尚未考慮到的情境、模糊的功能定義,以及開發前需要釐清的問題。也會比較這次討論中,兩者模型各自關注哪些問題、提出什麼建議,以及最後採納或保留了哪些想法,分享這次 AI 協作 PRD 的心得。明天見,Cheers 🍻