老實說:當 Apple 首次宣布 Genmoji 時,我們 ViviDiary 產品團隊集體陷入了一陣恐慌。
多年來,我們整個追蹤理念都是建立在限制之上。您打開應用程式,點選五種核心心情之一(極好、好、普通、低落、糟糕),或許再點選幾個標準表情符號來增加背景資訊,就完成了。我們刻意保持簡潔,因為限制等於速度。
但 iOS 27 為我們的生態系統投下了一顆巨大的震撼彈。突然間,用戶不再受限於標準的 Unicode 表情符號集。他們可以輸入「拿著小咖啡的疲憊鴿子」,系統就會立即生成一個自訂表情符號。
我們立刻意識到用戶會想要這個功能。但我們也知道,無限的輸入會破壞模式識別。當每一個數據點都是完全獨特、由 AI 生成的圖像時,您該如何建立每週洞察儀表板呢?
以下是我們如何為 ViviDiary 設計 genmoji 心情記錄 ios 27 功能的幕後花絮、我們遇到的技術障礙,以及為什麼我們最終選擇文字提示映射而非儲存圖像資源。
快速回答:ViviDiary 如何處理 iOS 27 Genmoji 心情記錄 1. 用戶在每日 3 秒的記錄過程中選擇一個 Genmoji(例如「疲憊的鴿子」)。 2. 我們擷取底層的文字提示,而非沉重的圖像資源。 3. 該提示會經過去識別化處理,並移除任何個人資料。 4. 系統將提示映射至標準心情效價(例如「疲倦」、「低能量」)。 5. 去識別化後的元數據會安全地儲存在我們的雲端 Supabase 架構中,以產生您的每週洞察報告。
---
iOS 27 的震撼彈:當表情符號變得無限
要理解這個問題,您必須了解 ViviDiary 的運作機制。我們是一個模組化的心情與生活追蹤器。唯一必要的輸入是您的核心心情。其他一切——備忘錄、語音筆記、照片以及我們 22 的手動表情符號類別——皆為嚴格的選擇性功能。
標準表情符號的美妙之處在於它們充當了通用的結構化數據標籤。如果您在一個月內記錄了 🌧️(雨)和 😞(難過)表情符號三次,我們每週的「鏡像」(Mirror) 功能就能溫和地指出其中的關聯。這在心理學上是有實證依據的;記錄表情符號 背後的科學極度依賴一致的情緒標記。
Genmoji 粉碎了這種一致性。
在 ios 27 健康應用程式設計 的早期測試中,我們看到用戶創造了極其具體的情緒化身。一位用戶生成了一個「畫著笑臉的洩氣氣球」。另一位則創造了一個「正在震動的咖啡因松鼠」。
這些都是對複雜人類情緒極其出色且精準的表達。但對資料庫而言,「洩氣氣球」和「震動松鼠」只是隨機的圖像檔案。它們沒有關聯價值。如果我們只是讓用戶將這些放入每日記錄中,我們將徹底破壞使 ViviDiary 變得有用的模式發現功能。
我們拒絕的方案:原始圖像資源陷阱
我們的第一個原型採取了阻力最小的路徑:直接將 Genmoji 圖像資源儲存到用戶的每日記錄中。
我們建構了它,進行了內部測試,並在一週內將其廢棄。
以下是我們拒絕它的原因:
- 資料庫膨脹: 一個標準的 Unicode 表情符號大約佔用 4 位元組的儲存空間。一個生成的 Genmoji 圖像資源大約是 50-100 KB。如果用戶每天記錄三個自訂表情符號,那麼每位用戶每年就會產生 100 MB 的純粹膨脹。將此乘以我們的用戶群,我們的伺服器成本將會飆升,卻沒有任何功能上的好處。
- 效能下降: ViviDiary 速度很快。當我們之前重新設計主畫面時,我們明確地優先考慮兩秒互動,而非沉重的 UI 元素。每次打開日曆檢視時載入自訂圖像資源網格,會導致明顯的卡頓。
- 黑箱問題: 如果我們只儲存圖像,我們就不知道它的含義。我們無法在您的每週「鏡像」中將「疲憊的鴿子」與「疲倦的狗」歸為一類。數據變得視覺豐富,但在分析上毫無用處。
我們意識到我們把問題看反了。Genmoji 的價值不在於圖像,而在於圖像背後的「意圖」。
A/B 測試提示到效價的映射
我們決定擷取用戶輸入以生成 Genmoji 的文字提示,而不是儲存圖像。
Apple 的 API 允許開發者存取 Genmoji 的描述性文字。因此,當用戶放入那隻疲憊的鴿子時,我們不會儲存 PNG 檔案。我們儲存的是字串:`"exhausted pigeon holding a tiny coffee"`。
但我們仍然需要對其進行分類。這讓我們回到了去年關於為什麼我們取消心情表情符號而改用基於文字的效價映射的核心產品決策。
我們對 400 名測試版用戶進行了 A/B 測試,以了解如何將這些自訂提示映射到我們標準的 5 級心情量表(極好、好、普通、低落、糟糕)以及我們現有的表情符號類別中。
* A 組(對照組): 用戶記錄 Genmoji,我們將其儲存為原始圖像。沒有模式映射。
* B 組(測試組): 用戶記錄 Genmoji。我們擷取文字提示,透過一個輕量級、去識別化的分類腳本進行處理,並將其映射到核心效價(例如,「疲憊的鴿子」映射到「低能量」)。
結果:
B 組在 14 天的週期內,其記錄習慣保持得比 A 組好 38%。為什麼?因為在週末時,B 組收到了一份真正了解他們的「鏡像」報告。應用程式能夠說:「我們注意到在您記錄與『疲憊』相關的自訂表情符號的日子裡,您的能量偏低。」而 A 組只得到了一堆奇怪的圖片。
透過專注於提示而非像素,我們成功地支援了無限的 自訂表情符號心情追蹤,同時沒有丟失使應用程式運作的結構化數據。
資料架構:Supabase 中的去識別化雲端儲存
每當您在日記應用程式中引入 AI 或提示處理功能時,就必須討論隱私問題。
目前健康應用程式領域有一個巨大的趨勢,就是對絕對隱私做出廣泛的聲明。我將對您完全透明:我們使用安全的雲端儲存並對您的文字進行去識別化處理,我們相信真正的隱私來自於數據最小化。
ViviDiary 依賴於建立在 Supabase 上的隱私優先雲端架構。您的數據是雲端儲存的。
為什麼?因為真正的隱私並非來自假裝雲端不存在;它來自嚴格的數據最小化和去識別化。
當您記錄像「對老闆感到沮喪」這樣的 Genmoji 提示時,我們的架構中會發生以下確切過程:
- 提示在邊緣端與您的用戶身分 (UUID) 分離。
- 在離開應用程式之前,原始文字會使用本地正規表示式過濾器移除任何可識別的名詞。
- 去識別化後的字串 (`"frustrated with [REDACTED]"`) 會被發送到我們的 Supabase 後端。
- 我們的後端對情緒進行分類(效價:糟糕,標籤:沮喪)。
- 只有分類後的元數據和原始的加密提示會儲存在您的雲端資料庫中。
我們在雲端處理此過程,因為它允許我們執行比手機本地處理器更精確的分類模型,且不會耗盡您的電池。我們的 AI 功能嚴格為選擇性功能,並非因為我們在本地隱藏數據,而是因為 ViviDiary 的核心價值在於 3 秒的記錄。AI 只是為您想要更多深度時提供的選用輔助工具。我們絕不會在未經您明確審查的情況下儲存或確認 AI 生成的內容。
為什麼核心記錄必須保持在 3 秒以內
最終,我們建構的每一項功能都必須證明其存在的合理性,並與時間賽跑。
我們從內部指標得知,如果每日簽到時間超過 30 秒,用戶留存率就會大幅下降。這就是為什麼我們不做壓力式的連續記錄。我們不做完成百分比。我們不發送「您錯過了昨天!」的內疚通知。
如果您使用我們的「專注」(Focus) 模組(預設為關閉),常規事項只是您想要注意的事情,而待辦事項只是您劃掉的事情。錯過一天不會受到任何懲罰。
ViviDiary 對所有輸入模組、無限心情與表情符號記錄、3 個月的日曆存檔、每週「鏡像」以及最多 3 個常規事項 / 5 個待辦事項完全免費。(我們確實有每月 $2.99 或每年 $11.99 的高級版,可解鎖更深度的歷史存檔和無限的專注項目,但核心體驗完全免費)。
整合 Genmoji 有可能拖慢整個過程。用戶很容易花五分鐘來製作完美的自訂表情符號。
為了應對這一點,我們將 Genmoji 流程深度整合到我們的手勢心情記錄系統中。您滑動到您的核心心情,鍵盤會立即在標準表情符號旁顯示您最近使用的 Genmoji,您點選一下,就完成了。
如果您想花時間生成一個新的,也可以。但無摩擦的路徑仍保持在 3 秒以內。
下一步是什麼
我們目前正在向 TestFlight 測試小組推出提示到效價的映射功能。目前最大的挑戰是處理邊緣情況——例如當用戶生成一個「快樂流淚的小丑」的 Genmoji,而我們的分類引擎不太確定這是一天「好」還是「糟糕」。
但這正是產品設計有趣的地方。您建立限制,用戶找到美麗的方式來打破它們,而您則調整系統來跟上。
一旦 iOS 27 正式發布,我們將在下個月分享更多關於用戶如何與自訂表情符號互動的數據。在此之前,請保持您的記錄速度,不必擔心打破您的連續記錄。



