notebook / settings / bugs

The question the app answered for you

We asked people a question, and then Pomvox quietly answered it for them the next time it opened.

Pom’s shorthand

  1. On smaller Macs, Pomvox asks you once whether you want cleanup on or off
  2. A bug meant the app would forget you hadn't answered yet and switch cleanup back on by itself
  3. We caught it before anyone got the update. The fix was to remember the answer itself, not guess at it

This is a small story about a mistake that could have undone a lot of careful work.

On Macs with 8 GB of memory, Pomvox now asks one simple question: do you want cleanup on or off? Until you answer, it stays off, so your Mac stays fast. Once you answer, Pomvox follows your choice.

To make that work, the app needed to know whether you were brand new. We took a shortcut. Pomvox saves a small settings file on your Mac, and a brand-new user doesn't have one yet. So we treated "no settings file" as "new user," and "a settings file exists" as "someone who's been here before."

Where the shortcut broke

The problem was that Pomvox saves that settings file every time it starts, including the very first time.

Here's what would have happened on a smaller Mac:

  1. The first time you open Pomvox. There's no settings file, so cleanup stays off while it waits for your answer. Then Pomvox saves its settings file.
  2. The second time you open it. Now there's a settings file, so Pomvox decides you must be a returning user. It switches cleanup back on and loads the heavy version, on exactly the kind of Mac we were trying to protect.

And the whole time, the question was still sitting on the screen saying cleanup was off. What you saw and what the app was doing no longer matched.

What you saw and what the app was doing no longer matched.

The fix

We stopped guessing. Instead of asking "is there a settings file?", Pomvox now asks the thing we actually cared about: "has this person answered yet?" It writes your answer down and checks that directly.

We also added an automatic check that fails if this mistake ever sneaks back in, and left a note for whoever works on it next explaining why the shortcut doesn't work.

The lesson

Shortcuts are tempting because the real answer is usually one step further away. A clue that means one thing today can start meaning something else tomorrow. When you can, keep track of the thing you actually care about, instead of a hint about it.

was this useful? stamp it.