# 使用者教會我怎樣做一款更值得信任的 Mac App

> 一次重複購買、溫度單位、難以閱讀的深色介面和坦率的價格回饋，讓我重新理解軟體裡的信任、在地化、輔助使用與支援

Published: 2026-08-16

Mole 從一條 Shell 指令變成 Mac App 時，我原本以為最難的是介面，真正開始面對一般使用者後，才發現更難的是放下自己那些想當然的判斷。一位使用者不小心買了兩次，我提出退回第二筆，他卻希望留下來支持產品，一位使用者糾正了我按地區選擇溫度單位的做法，還有一位使用者因為看不清固定的深色介面，根本無法使用 Mole，另一次很直接的價格質疑，也讓我重新思考，明明已經有免費工具，一款付費 App 究竟需要靠什麼贏得購買。

這些都不是整理好的功能需求，每次對話只是讓我看見，腦海裡想像的使用者和真正使用產品的人之間有一道縫，而這道縫帶來的輸入，比多看一張功能比較表或資料圖更有用。

## 信任就是功能的一部分

那次重複購買讓我記了很久，處理方式並不複雜，錢可以退回去，難的是如何接住這份信任。對方已經付過一次，因為操作失誤又買了一次，最後仍願意把第二筆留下來支持產品，這很溫暖，也會讓我覺得更有責任把產品做得清楚一點、安全一點。

清理工具比普通軟體多一道信任門檻，使用者需要相信掃描結果歸屬正確，不確定的項目不會被預設勾選，誤刪後還有機會還原。一個漂亮介面承擔不了這些承諾，產品需要把計畫展示出來，說明為什麼略過某些項目，保護共用資料，在需要復原時使用垃圾桶，這些並不是功能之外的售後工作，它們就是功能本身。

這也改變了我看待好評的方式。被稱讚當然開心，但更有用的問題是，對方把什麼事情放心交給了產品，如果答案是「清掉檔案，又不讓我擔心」，下一個版本就應該先讓確認和復原更可靠，而不是再增加一種掃描類別。

## 地區不等於使用習慣

我曾經想當然地認為，美式地區的 Mac 應該用華氏度顯示硬體溫度，一位使用者告訴我，天氣和體溫會用華氏度，晶片、風扇這類技術場景仍然習慣攝氏度，突然看到一百多度，帶來的不是熟悉，而是驚嚇。

現在 Mole 在所有地區都預設顯示攝氏度，需要時可以明確改成華氏度，程式碼改動很小，背後的糾正卻很重要。地區可以幫助產品決定語言、日期和數字格式，卻不能代替使用者在每一個專業場景裡的習慣。

更穩妥的方式，是先遵循被測對象所在領域的常見做法，再和真正使用這些單位的人確認，如果兩種方式都有價值，就保留一次明確選擇。根據國家自動猜得越多，看起來越像個人化，也可能離熟悉的體驗越遠。

## 輔助使用從「我無法使用」開始

Mole 已經做了 VoiceOver 標籤、焦點順序、減少動態效果和提高對比度，我一度會覺得，這款產品已經很認真地在做輔助使用，直到一位視力不太好的使用者告訴我，固定深色介面裡的白字很難閱讀，他的系統一直使用淺色外觀，也只會留下跟隨系統外觀的 App。

這句話改變了問題的分類，淺色外觀不再只是審美偏好，也不是再加一個設定，對這位使用者來說，它決定了 App 能不能用。Mole 的主要介面今天仍然固定為深色，所以這還是一個沒有解決的缺口，而不是一段已經圓滿的改進故事。

輔助使用不是加夠一些標籤後就能點亮的徽章，一款產品可以很好地支援 VoiceOver，也可能因為對比度、顏色、動態效果、點按範圍或外觀決定，讓另一位使用者無法完成工作。比起問產品是否「支援輔助使用」，更有用的是確認誰在哪一種系統設定下，仍然做不了哪件事，具體是哪一層介面擋住了他。

## 價格質疑也是產品研究

有一位使用者很直接地說，免費 App 也能完成這些事情，這個價格對他來說太高了。最容易做的事情，是解釋價格、馬上降價，或者繼續增加功能，讓比較表看起來更長，但這些都沒有回答這項回饋裡更重要的部分。

免費工具確實能解決許多 Mac 維護問題，開源的 Mole CLI 一直免費，macOS 也內建「活動監視器」、「儲存空間」、Finder 和垃圾桶。付費 App 需要靠反覆使用時更省心，把分散的資訊放到一起，也讓永遠不會打開終端機的人，在操作前看得懂將要發生什麼，來贏得自己的位置。如果免費工具已經把一個人的問題解決得很好，誠實地推薦它，比硬找一個理由再賣一款 App 更好。

所以這項質疑沒有直接變成降價或擴充功能，而是變成一道定位檢查：哪些人確實會從原生 App 裡得到足夠多的幫助，如果不用它，需要自己拼起哪些工具，這些差異能不能在試用過程中看見。如果這些問題答不好，宣傳很難補回來。

## 把故事變成被糾正的假設

每封來信都照原樣放進待辦，很快就會變得嘈雜，有人想要一個開關，有人希望價格低一點，還有人描述了一次可能再也不會發生的失誤，如果把它們都當成功能投票，最有價值的背景反而會消失。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/feedback-to-product-decision.webp" width="1360" height="454" loading="lazy" alt="使用者回饋從無法完成的工作開始，先找出產品裡失敗的假設，再判斷問題是否屬於產品，最後成為預設值調整、針對性修正或明確拒絕，而不是把每個請求直接放進待辦清單">
  <figcaption>一場有用的對話會先修正產品對使用者的理解，再改變路線圖，結果可能是新預設值、一次針對性修正，也可能是更清楚地說不。</figcaption>
</figure>

現在處理一場對話時，我會盡量帶走四件事：對方原本想完成什麼，產品裡哪一個假設錯了，這個問題影響的是一類人還是一台機器，更好的預設值能否解決，還是需要一次明確修正，或者產品應該解釋為什麼不接下這項請求。

這樣做比統計需求數量慢，卻會少留下不少設定和半成品。溫度單位糾正了預設值，外觀回饋暴露了還沒完成的輔助使用工作，價格質疑講清了免費 CLI 和付費 App 的邊界，重複購買不需要任何新功能，只是讓我重新看見，一款被允許接觸個人檔案的產品，需要承擔怎樣的認真。

## 讓對話多走一會兒

我現在仍然自己處理支援，因為早期對話很少能在第一封郵件裡整理清楚，開始問的是授權，真正的問題可能是裝置數量的說明不夠明白，退款背後可能是官網承諾沒說清楚，看起來在要設定，也可能說明預設值對所有人都不夠好。

只有當一個問題反覆出現，答案已經穩定，例外也被理解，自動化才真正有用，在那之前，過早縮短對話，很容易順手刪掉那個原本可以改進產品的細節，關於這條邊界，我在[怎樣做一款安靜的產品](https://mole.fit/tw/blog/notes-on-building-a-quiet-product)裡寫過更多。

這些判斷我仍然會做錯，溫度預設值已經改好，固定深色外觀還沒有，有些回饋最後會變成程式碼，有些會變成產品邊界，也有一些會留下尚未完成的責任。有價值的部分並不是答應每一個人，而是每次聊完，都能更準確地理解誰在使用產品，以及他憑什麼願意信任它。

Mole 從私人腳本走到今天的過程，寫在[從 Shell 腳本到 Mac App](https://mole.fit/tw/blog/the-story-of-mole)裡，確認後再刪除、保護路徑和可復原操作背後的取捨，則寫在[讓 Mole 安靜地待在一旁](https://mole.fit/tw/blog/the-design-of-mole)裡。

---

Canonical HTML page: https://mole.fit/tw/blog/what-mac-users-taught-me
Blog index for agents: https://mole.fit/tw/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
