notebook / startup / performance
The first 37 seconds
The very first time Pomvox starts up, it takes about 37 seconds. We couldn't make that go away, so we changed when it happens and what it feels like.
Pom’s shorthand
- The first time Pomvox runs on a new Mac, it needs about 37 seconds to get set up. After that, it's almost instant
- Before changing anything, we measured where the time was going, and found our own measurements were hiding problems
- We moved the wait into setup and made the screen look busy instead of frozen
Pomvox understands your voice right on your Mac, without sending anything to the internet. To do that quickly, it has to prepare itself for your specific computer the very first time it runs. Think of it like a new pair of shoes that need breaking in once.
That first setup takes about 37 seconds. After that, Pomvox remembers the work, and turning your voice into text takes about a third of a second.
Thirty-seven seconds is fine if you know it's happening. It's awful if it happens during your very first try, while the screen just says "finishing…" and you start to wonder if the app is broken.
Step one: find out where the time goes
Before changing anything, we wanted to know exactly which part of that first wait was slow. So we split it into four steps and timed each one. We also checked that the long setup really only happens once, and not quietly every time you open the app.
What went wrong: the stopwatch was lying
While we were checking our work, we found something embarrassing. When a step failed, our timer sometimes recorded it as taking zero seconds. On paper that looked like "super fast." In reality it meant "didn't happen at all."
We fixed it so a failure is recorded as a failure, clearly and loudly. It's the part I'd tell any other team first: if something looks impossibly fast, check that it actually ran.
If something looks impossibly fast, check that it actually ran.
Step two: move the wait
We couldn't skip the setup, but we could choose when it happens. Now Pomvox does it in the background while you're still reading the welcome screen. By the time you speak for real, the slow part is already done.
Step three: make the wait feel different
For anyone who still catches the tail end of it, we replaced the frozen "finishing…" with a gentle shimmer that shows the app is working. Your words appear the moment they're ready. After that first time, you won't see it again.
The lesson
Some waits can't be removed. What you can control is when they happen and how they feel. And before you move a wait, measure it, so you know you're moving the right one.