A reader replied with this story about audio engineering (shared with permission), that I thought was particularly relevant…
When I was in college, I worked for an audio engineer who had a tiny set of $40 speakers under his thousand dollar speakers that he used for mixing music. I asked him about it, and (to paraphrase) he said that if you can’t mix music so it sounds good on the best AND the worst speakers you can find, then it doesn’t matter if it sounds good on the best speakers – people buying music probably aren’t spending thousands of dollars on their audio set up.
I think coding may by the same way – it doesn’t matter if you’re code runs well on your most expensive setup if it can’t run well on the least expensive setup.
So how can you build sites that run well on the cheap setups, and not just the expensive ones?
I use a few principles…
- Cache aggressively with service workers to reduce latency on future requests and add resilience when networks fail.