Creating a great user experience extends beyond the research, beyond the wireframes, and even beyond the visual design. All that hard work is ultimately for nothing if your website or web application isn’t fast. Why? Because if your site doesn’t load quickly, your users will go elsewhere very quickly indeed!
There are a multitude of ways we go about making sure your websites are the best they can be, but one of the fundamental aspects to all our work is that what we deliver must load as fast as it can. At its very core, making your website as fast as possible for the end user means minimizing the payload that is delivered to that user. And there are a number of techniques that we can use to help that minimization:
Minify text files
Gzip all the things!
Bonus: Gzipping does a pretty good job of minifying by itself. Not as great as minifying and then gzipping, but pretty solid.
Concatenate, concatenate, concatenate
Browsers have a cache. Use it!
Perceived performance is as important as real performance
Similarly, make sure all CSS is at the top of the document. That way it loads as quickly as possible and there’s no chance of a Flash of Unstyled Content (FOUC) disrupting the user’s experience of the page. Again, no real performance gain, but a perception of a high-performance site is incredibly important.
Living on the edge
With Responsive Web Design and retina screens now making big waves in the online space, it’s important to consider performance as early as possible, for as many devices as you can. For example, only load assets that are required at particular screen sizes. If you don’t need that call to jQuery and its associated plugins at a mobile screen size, don’t load them! Use an intelligent loader like Modernizr (with its built-in support for yepnope.js) to load based on screen width. Just doing this can shave valuable seconds off the load time of your website.
Another area that is gaining traction is the concept of responsive images. That is, images that are sized correctly for the screen upon which they are being viewed, and the bandwidth that is available to view them. Unfortunately, it’s so new that right now there isn’t a one-size-fits-all solution. I’d recommend reading this article to learn more about the various options that are available to us (as of 2012).
Take performance seriously from the outset. Because ultimately, it doesn’t matter how well researched your site is, how intuitive the information architecture is, and how great the visual design is, if that experience fails the performance test. Slow sites equal frustrated users. And no-one wants a frustrated user.