做一個有連續紀錄、每日打卡和圖表的習慣追蹤 App
習慣追蹤器的成敗取決於一個動作:每天的打卡。只要超過一次點擊,大家就會放棄。Anticode 可以做出一個把所有資料存在你自己瀏覽器、還能安裝到手機主畫面的個人習慣追蹤器,就像它的 Ritualist 範本。以下說明裡面該放什麼、怎麼處理漏掉的日子,以及唯一真正的取捨。
習慣追蹤器需要的畫面
- 今天
- 今天該做的每個習慣,各有一個大大的點擊區域可以標記完成。復原也只要點一下。App 打開時就是這個畫面。
- 新增或編輯習慣
- 名稱、頻率(每天、每週特定幾天,或每週幾次)、可選的目標(例如 20 分鐘或 8 杯水),以及一個顏色。
- 歷史紀錄
- 每個習慣一張月曆格狀圖,完成的日子填滿方格。比起任何數字,大家更喜歡看到一整年的方格。
- 統計
- 目前連續天數、最長連續天數,以及最近 30 天的完成率,搭配簡單的長條圖或折線圖。
其他都是可有可無。提醒、日記、心情分數和徽章都會增加負擔,而大多數放棄追蹤器的人,是因為 App 每天要求太多,而不是太少。
不帶罪惡感的連續紀錄
連續天數在中斷前很能激勵人,但漏掉一天就讓 60 天歸零,正是很多人從此放棄的時刻。建置前先決定你的規則:
- 用每週目標取代每日目標。 「每週跑步三次」不會因為休息一天而中斷。
- 跳過日。 事先安排的跳過(度假、生病)會暫停連續紀錄,而不是結束它。
- 寬限期。 讓昨天的項目在今天中午前還能補打卡,給晚上忘記勾選的人。
- 也顯示長期表現。 「最近 30 天完成 27 天」在漏掉一天後依然成立,連續天數卻不會。
也要決定「今天」是什麼意思。凌晨 1 點打卡的人,通常指的是昨天。一個可設定的每日起始時間(例如凌晨 4 點)就能低調地解決這個問題。
從 Ritualist 或一句話開始
Anticode 的範本庫中有 Ritualist,一個由 Anticode 模型寫成的習慣追蹤器。使用它會把整個 App 複製到你的專案中,不呼叫模型,也不占用你的額度,之後你可以用修改需求調整它:「加上每週目標」、「把歷史紀錄改成一整年的格狀圖」、「完成的日子用綠色」。
要從零開始做自己的版本,就描述習慣、規則和感覺:「給寫作者的每日習慣追蹤器:以數字目標記錄寫作字數、閱讀用是或否、早上不碰手機。先顯示週檢視。連續紀錄每週允許跳過一次。沉穩、深色、大的點擊區域。」模型會把追蹤器寫成一個在瀏覽器中執行的 App,圖表用程式碼繪製,打卡畫面設計成單手就能操作。
你的資料存在哪裡
Anticode 的 App 在沒有網路的沙盒中執行,所以在這裡做的習慣追蹤器永遠不會把你的打卡紀錄傳到任何伺服器,包括 Anticode 的。習慣和歷史紀錄存在你使用的瀏覽器中,下次在那台裝置打開 App 時都還在。對於像心理治療練習或少喝點酒這類私密的習慣,這是值得在歡迎畫面上說明的優點。
每個發布的網站也都能以 App 的形式安裝到手機和電腦上,有自己的圖示和離線備援頁面。安裝到手機主畫面後,追蹤器打開起來就和其他 App 一樣,這正是你想要的低負擔打卡。
取捨:無法同步
因為資料不會離開裝置,所以沒有同步。在手機上打卡,筆電上什麼都看不到。清除瀏覽器的網站資料,或使用無痕視窗,都會讓歷史紀錄消失。兩個習慣能幫上忙:只在一台裝置上使用追蹤器,並要求加上匯出與匯入按鈕(一個由你自己儲存和載入的檔案),這樣就能搬移歷史紀錄或保留備份。
它做不到的事
- 沒有推播提醒。 App 關閉時無法傳送通知。請用手機內建的提醒事項或行事曆來提醒自己。
- 沒有互相督促的夥伴功能。 和朋友或教練分享進度需要共用資料,而沙盒沒有這個能力。
- 沒有健康資料。 它無法從手錶或健康 App 讀取步數、睡眠或心率;這類資料都要自己輸入。
- 不是給大量使用者的產品。 如果你想推出一個有帳號和同步功能、給大眾使用的習慣 App,Next.js 匯出能給開發者一個包含資料庫和登入功能的起點。
常見問題
這個習慣追蹤 App 有隱私嗎?
你的打卡紀錄留在你裝置上的瀏覽器中。Anticode 只知道發布的頁面被瀏覽過,而且計算時不使用 Cookie。
可以和家人共用我的追蹤器嗎?
你可以分享連結,每個人會在自己的裝置上得到一個空白的追蹤器。他們的資料和你的永遠不會混在一起。
可以追蹤數字,而不只是是或否嗎?
可以。要求加入有數字目標(分鐘、頁數、杯數)的習慣,以及顯示數值變化的圖表。