
我的四個 App 上架三個月了,前後送出二十四個版本,累積接近 1,200 次下載。
從整理相簿的念頭開始,但一張照片都沒有刪;不過這樣就夠了嗎?
Day 25 提到,CC 建議我用 Reversa 的框架回去檢視 App 程式,以了解到底發生了什麼事。
四個 App 都檢查過,沒有任何一條刪除相簿照片的路徑。
《這趟》會建立新相簿、輸出新照片、把照片移進移出,但不刪照片本體。《這隻》只新增。《這場》與《這餐》完全不寫入相簿。
上架前定下的承諾,都做到了,很好。
《這場》:重掃進行中離開頁面,會清空沒被手動調角的候選。 讀程式確認。那道「頁面被關就不回寫」的檢查,看的是另一個任務。剔除與選入的決定一併消失。
《這趟》:「重新整理這趟」沒有確認對話框,會整趟重建。 章節搬移、移出本章、門面順序都會丟。按鈕文案看不出它會洗掉編輯。
《這趟》:照片決定那一欄混了 AI 寫入與用戶寫入,沒有來源標記。 你把一張照片從備選改成精選,系統記下來了,但沒記是誰改的。保護規則的定義是「所有已決定的」,不分來源,所以 AI 自己填的跟你親手改的一視同仁。
《這隻》:保護規則本身沒有測試。 全掃實際保留三類,對話框只說一類。沒有人回報過,但沒有人回報跟沒有問題是兩件事。
四個 App 都沒有匯出、匯入、備份的功能。換手機救不救得回來,我不知道。
從這四條長出四條規則,修正還在進行中,一條都還沒修完。
《這餐》三份文件都寫 1.0 build 9,實際是 1.2.1 build 12。《這趟》的 PRODUCT.md 停在七月十二日、寫著 1.0 build 7,程式現在是 1.9。《這場》的文件寫「iPhone 專用」,專案宣告的是 iPhone 加 iPad。
我居然忘了更新專案文件!要不是寫這段,我還真的沒有發現。寫得最勤的那份文件,是上架前寫的那一份。
寫完這篇我要去補文件。
反向規格這個名字聽起來像補作業。做完之後我的感覺不一樣。
它問的不是「你做了什麼」。它問的是你以為你做了什麼,跟你實際做了什麼,差在哪裡。
我以為我的原則是絕不刪除。盤完才發現那條原則只保護了照片,沒有保護用戶花時間做的判斷。一個人整理完一趟旅程,搬了章節、改了名字、排了門面順序,那些是他的勞動。我的程式會在他按下一個看起來無害的按鈕時,把那些洗掉。
照片我一張都沒刪。用戶的決定我刪了不少。
程式碼記得你做了什麼,不記得你為什麼做。
那些為什麼,我另外做了一支 46 秒的動畫:四個 App 的真實下載曲線,和我對 AI 說過的 98 次不。
這個系列同步寫在我的部落格:yojuhsu.com/blog
前一篇:Day 29,儀表板的地基,自己的數據資料庫
下一篇:Day 31,然後呢:AI 沒有消滅專業