Speed matters above all else
Nick Mazuk
December 27, 2023
The more I learn about coding and software engineering, the more I realize just how much speed matters.
When I started coding, I liked making websites fast because it was fun.
Then, I got really interested in speeding up my Finale workflow. Part of this was creating a ton of Keyboard Maestro macros and Lua scripts which dramatically improved my workflow. Tasks that used to take minutes to hours now takes less than a second.
Now I work at Google where speed is a consideration for everything. In fact, one of Google’s core philosophies is that fast is better than slow.
But why am I so obsessed with speed? Well, because it matters. A lot. Here’s why.
Note: Technically, whenever I say "speed," I'm really referring to "responsiveness." For instance, you want a car who's door opens immediately when you pull on the handle, not a car who's door slams you at 100mph. In software development, though, responsiveness usually requires code to run fast, so I'll just use the word "speed" for simplicity.
What is fast?
When it comes to speed, there are really only 4 numbers you need to know:
- 16 milliseconds: If you want 60 frames-per-second (which is the minimum you need for fluid animations), each frame is only 16 milliseconds. So for fluid animation, all your computation must be done in 16 milliseconds or less—ideally less.
- 100 milliseconds: This is the just-noticeable-difference for any delay. If any delay is less than 100ms, our brains don’t notice it and think it happened instantly. So if you want to make something feel instant, it must be done in 100 milliseconds or less. For instance, try clicking the following buttons to see when you start noticing a delay. It’s probably right around 100ms.
- 1 second: Anything that takes less than a second is unlikely to interrupt someone’s thought process. Anything longer than this will let someone’s brain get distracted. Note this doesn’t 1 second is fast, just that 1 second is not slow. I like to aim for 0.75 seconds or faster for everything.
- 3 seconds: At 3 seconds or above, someone is very likely to get frustrated and abandon the task. While I’ve seen numbers that go as high as 10 seconds for this threshold, 53% of users leave websites that take longer than 3 seconds to load. So for most practical purposes, nothing should take longer than 3 seconds.
This starts to paint a clear picture. For a stellar experience, everything should take less than 100ms. For just a good experience, everything should take less than 1 second. And nothing should ever take longer than 3 seconds.
Most importantly, these stats aren’t about how fast a website or app should be. Rather, these stats are about how we perceive speed. Speed is not about creating a good user experience. Speed is about creating a human experience.
Slow hurts everyone. Speed delights everyone.
Slow is one of the few things that literally hurts everyone. It doesn’t matter if you’re blind, deaf, alone, in a group, paralyzed, young, old, rich, poor, happy, depressed, autistic, dumb, or even “completely abled”. Slow hurts you.
In contrast, being fast and responsive helps literally everyone. Every moment you wait for your computer to do something is literally time in your life you’re wasting. Plus, it’s a lot more delightful to use technology that’s fast over technology that’s slow.
Disclaimer: As of the time I wrote this, I worked at Google (I may still work there). All opinions expressed in this post are my own, and not those of Google.