There is no Speed in Web Performance

Within the Web Development industry we say that if a page loads quickly it has good performance. But we’re wrong.

There are several definitions to the word performance but the only definition that is even remotely close to referring to speed is:

performance: the capabilities of a machine, product, or vehicle

That definition has the following synonyms: working, operation, running, behavior, capabilities, capacity, power, potential. Don’t worry you aren’t missing anything. Speed is not a synonym for performance. But if web performance is not about speed what is it about?

Web performance is about reliability. If a page, site, or application successfully caries out a given task then it performed that task and is therefore performant. It is a web performance. It may be slower than molasses in the winter time at performing that task but it performed it nevertheless.

performance: the action or process of performing a task or function

It is odd to me that inaccessible “single–page” JavaScript–first web apps which don’t work at all in older browsers are considered performant. These agressively enhanced experiences may be asynchronous and snappy in modern browsers but they cake their pants when they come across a syntax error or an older browser…they may be highly optimized but they are not performant. At all. Sorry.

Web Performance has far more to do with accessibility than it does speed.

So how do you architect the web for performance? Progressive Enhancement! By starting your experience using HTML to semantically markup your content you will have a document that is backwards and forwards compatible. Before you move on to styling your document, and long before you move on to enhancing it with scripts, focus on achieving as much as possible with HTML first. If you follow this process you should be able to remove the scripts and even the stylesheet and still be left with a performant document.

Now that we got that cleared up, I can’t wait to visit your next performance!