I’ve always felt that performance is an integral part of anything that you do. If you’re building a car, there needs to be a performance metric. It could be miles per gallon, miles per hour, or miles per dollar, but there needs to be something used to measure success. I think the same goes for websites and applications. You could measure website performance in load time, compatibility with many devices, or utility.
A website like SoundCloud is an immensely performant website in more ways than one and hits all of the above metrics. It could probably load a little bit faster, but when you consider all of the things possible with the platform, you could ignore that it takes an extra hundred milliseconds to load.
I recently started working on a project where the performance metric was getting features added as fast as possible. A lot of poor decisions were made to get it to where it is and the service suffered tremendously. Overseas programmers were hired at the lowest rate possible and they wreaked havoc on the codebase. The UI was a mess, the design was antiquated immediately after launch, and the experience was confusing at best, downright broken at it’s worst. It’s my job to clean up this mess. My new performance metric is an understandable codebase and a great UX.
I’m still working to accomplish that metric, but it got me thinking about performance. If you judge the quality of something by how quickly you can get it done, you’re going to fall short in every other category. If you instead perceive quality as a good UX, the quality of everything else will also rise.
If you’re looking for a good UX, you’re going to make sure that everything loads quickly and that means reusing as much as possible and removing useless things from the code. This leads to small reusable functions and styles, self-documenting code and everything becomes easier to follow. Your performance metric was a good UX, but your code is better, your load speed is better, your everything is better.