有人跟我說他記了十年帳,換 app 的話,那十年怎麼辦
Futari 是給兩個人一起記生活帳的家計簿。可是會想用它的人,很多早就在記帳了,只是用的是別的 app,或一直是一個人記。
找朋友來試用之後,我最常聽到的一句話是:「我記了十年,要我換 app?那些資料怎麼辦?」
我這才發現,換 app 最難的不是學新介面,是捨不得那些舊紀錄。十年的帳,記的是十年的生活。搬不過來的話,再好用的新 app 都得從零開始,大部分人也就不換了。
所以 5 月 18 日那天,我把「搬家」這件事做了出來。
我先打開別的 app 匯出來的檔案看。編碼、欄位順序、日期的寫法,都跟 Futari 認得的格式對不起來。每個 app 有自己的習慣,這很正常,只是對想搬家的人來說,中間這段落差得有人幫忙接住。
我把搬家拆成幾件事。
第一,有幾筆搬不過去,不能讓整批跟著失敗。匯入時哪一列讀不懂,就把那一列和原因記下來,其他照常匯入,之後再讓使用者自己補。一百筆裡有三筆怪怪的,就先把九十七筆搬過去,別叫人整份重來。
第二,檔案不上傳。讀檔和檢查都在使用者自己的瀏覽器裡完成,帳本裡那些生活細節,能不經過伺服器就不經過。
第三,替 Honeydue、Spendee、CWMoney 三個記帳 app 各寫一頁搬家說明:怎麼匯出、哪些欄位會搬過來、哪些搬不過來。寫的時候我想的是一個還在猶豫要不要換的人,希望他看完少一點焦慮。
第四,給 CWMoney 的使用者做了一份 Excel 範本。把匯出的內容貼進去,範本會自己把欄位和分類對好,再存成 Futari 認得的格式。對不寫程式的人來說,熟悉的 Excel 比一步一步的引導畫面直覺得多。
然後就出事了。範本放好、說明頁上的下載按鈕也接好,我一按,跳出來的是登入頁。
我第一個懷疑網站框架有 bug,第二個懷疑主機的快取,第三個才去翻自己寫的程式。原來我早就設了一道門:沒登入的人,不管要去哪裡,一律先帶去登入。這道門連要下載的檔案也一起擋了。
最尷尬的是,會來下載這份範本的,正好就是還沒註冊、還在考慮要不要搬過來的人。我做了一整套歡迎搬家的流程,最後在門口把客人擋了下來。
修法只要兩行,讓這個檔案不用登入也能下載。我也記下一件事:這種「全部擋下、再一個一個開例外」的門,寫起來很省事,可是以後每多放一個公開檔案,都得記得來改它。也許該反過來,只擋需要擋的,不過那天先這樣。
如果你也在別的 app 記了好幾年帳,正在想要不要跟另一半一起記,可以到作品集找 Futari 看看。
先不說了,我得去把其他公開檔案也點一遍,看看還有沒有被那道門擋住的。
這段 code 寫於 2026 年 5 月 18 日,文章整理於 2026 年 10 月。