25 · Maida 不追蹤的三件事(以及為什麼)
Maida 全部、一輩子,發三條 telemetry。每次啟動發一次。
一個隨機 UUID(讓我知道安裝數 vs 同一個人開十次 Maida) 首次安裝以來的天數(讓我知道人們有沒有留下來) App 版本(讓我知道哪個版本在外面)
就這樣。沒有 session 資料。沒有遊戲標題。沒有遊戲時長。沒有設備指紋。沒有 locale。沒有從 IP 推導的東西。沒有 analytics SDK。沒有第三方 tracker。
這在現代軟體裡不尋常。值得解釋為什麼。
Maida 不追蹤什麼,明確列出
我會逐項列我不收集的資料類別,按人們聽到時驚訝程度排。
你有什麼遊戲
Maida 在本地讀你的遊戲庫存。它不傳輸任何部分。Steam 知道你擁有什麼遊戲,因為你透過 Steam 買了它們。Maida 是一個本地工具,操作在 Steam 給你電腦的資料上。那個資料留在你電腦上。
沒有 Maida 伺服器持有你的遊戲清單。沒有排行榜。沒有彙總報告。你電腦上的遊戲清單在你跟 Steam 之間。
你玩什麼遊戲
當 Maida 顯示你一張卡你按 TRY,那個資訊留在你本地的 games.json 檔。它用來計算下一個要 surface 哪個遊戲。它從不被傳到任何地方。
如果你玩一個遊戲玩了 40 小時,Maida 不知道。如果你五分鐘後放棄,Maida 不知道。TRY 信號是系統看到的唯一東西,而它只在本地看到。
你用 Maida 多久
沒有 session 計時器。沒有使用率報告。「首次安裝以來的天數」telemetry 是從安裝日期算的,不是從活躍 session 算的。不管你一個月開一次還是一天開十次,telemetry 一樣。
這在現代軟體裡是比較容易追蹤的東西之一,多數工具預設追蹤。Maida 不。
關於你個人的任何東西
沒有位置。沒有設備規格。沒有 OS 版本。沒有 locale。沒有語言設定。沒有系統指紋。
如果兩個人在同一個家用 Maida,telemetry 能告訴我的只有有兩個隨機 UUID。我不知道他們在同一個家。我不知道他們在任何國家。我不知道他們有什麼硬體。
為什麼這麼少
多數軟體收集比它需要的更多 telemetry。理由通常是:之後可能會需要。也許新 feature 需要。也許 analytics 會揭示什麼。先收比之後要 instrument 好。
我建 Maida 時不同意這個推理。這個推理把使用者的資料當作可以「萬一」抽取的東西。使用者付成本(資料被收、被存、有外洩風險),讓我可以對未來可能 feature 有選項。
算式錯了。使用者的隱私是真實成本。我未來的選項是假設的好處。要求使用者付真實成本來換假設好處不尊重。
我收集的三個欄位是我需要知道專案是否值得維護的最低限度。人們還在用嗎?有 long tail 使用者嗎?三個欄位回答這些問題,到此為止。
不存在的 telemetry 啟動什麼
Telemetry 不存在不只是隱私姿態,是設計約束。
因為 Maida 不知道你玩過什麼,它不能根據你的 play history 做推薦。這有時候不方便。它也意味著引擎不能漂向「優化 engagement」,因為沒有 engagement 信號可以優化。
因為 Maida 不知道你玩多久,它不能 gamify。沒有「你連玩 5 天,保持你的 streak」機制。利用使用者注意力的 feature 需要 Maida 沒有的資料,by design。
三欄位約束在很多決定上游。如果我選擇收更多,我會用更多。約束保護產品不漂向抽取。
這對使用者要求什麼
部分信任。你可以讀程式碼(Maida 開源)驗證 telemetry 的主張。傳輸是可審計的。但對不讀程式碼的使用者,有一個小信任跳躍。
隱私姿態也是使用者體驗的一部分。你不會得到「你的遊戲年度回顧」。你不會得到關於你習慣的洞察。你不會得到跨設備同步。這些 feature 依賴 Maida 沒有的資料。
對想要那些 feature 的使用者,Maida 是錯的工具。對寧願有一個不看著他們的工具的使用者,這是交易。
順帶一提
三欄位 telemetry 在隱私政策裡有記錄,在程式碼裡看得到。這不是行銷主張。約束被 Maida 做的網路呼叫的小表面積強制執行。
如果你習慣了悄悄收一切的軟體,Maida 是不同的預設。維持專案需要的最低限度,其他都沒有。