Performance and assumptions

I gave a talk recently on web performance, specifically on auditing sites to get a handle on where things are at so you can figure out what you need to do to make your site faster. In the first third of the talk I make the case for performance. This was a relatively short talk, twenty minutes, so I didn’t linger too long. But I did say this:

Performance is also about accessibility, getting people content they need to live in our culture.

In the past several weeks there has been discussion online about JavaScript and progressive enhancement. It’s not a new discussion, it’s just the latest one that’s come around again. And in light of the work I did to write the talk on performance and then reading and listening to the discussion on JavaScript, I’ve been reminded, yet again, that we really like to make assumptions.

Quite a while ago I wrote about the assumptions we make. This was in regards to responsive web design, it was in the lead up to the launch of the responsive Boston Globe site and I made the argument that the way I choose to do things isn’t always the way others do.

Well, now the talk has turned from responsive to using JavaScript and performance topics and just about any day of the week, I can go on twitter and find people talking about both sides of this. Just recently Alex Russell said this:

These architectures harm users. They harm the web. They are not acceptable. Less JS, loaded better, is what we need now.

That was at the end of a thread discussing a product he was trying to use.

But here’s the thing: many of us don’t think this harms users because we believe that everyone who uses the web is just like us.

This argument can be made for all kinds of things, not just performance or how to use JavaScript, it’s made about accessibility as well. Jeremy Keith talks about it well in his post in response to the JavaScript/progressive enhancement discussion:

Personally, I find progressive enhancement a sensible way to counteract any assumptions I might inadvertently make. Progressive enhancement increases the chances that the web site (or web app) I’m building is resilient to the kind of scenarios that I never would’ve predicted or anticipated.

We all make assumptions, it’s natural and normal. But we also need to be jolted out of those assumptions on a regular basis to help us see that not everyone uses the web the way we do. I’ve talked about loving doing support for that reason, but I also love it when I’m on a slow network, it shows me how some people experience the web all the time; that’s good for me.

I’m privileged to have fast devices and fast, broadband internet, along with a lot of other privileges. Not remembering that privilege while I work and assuming that everyone is like me is, quite possibly, one of the biggest mistakes I can make.