Giving a Damn at Scale

I've argued about "scaling" in other writings on this site and how we are doing it wrong in the tech community. Here I go again.

I just finished reading an excellent piece by Ethan Marcotte: Gardened. In it he writes:

In other words, they have to give a damn. But giving a damn doesn’t scale. Time and again, our industry chooses frameworks that weren’t designed for accessibility or for performance. And in the middle of a global health crisis, I think it’s time we talked about how the tech industry—an industry responsible for providing life-saving information and services, now more than ever—can be allowed to self-regulate. If other industries follow building codes and regulations, why shouldn’t we?

There is mounting evidence that a large number of websites today do not scale. What does it mean for software to scale? (Emphasis mine.)

Increasing or decreasing the capacity of a system by making effective use of resources is known as scalability. A scalable system can handle increasing numbers of requests without adversely affecting response time and throughput.

There's more explanation to that definition that you can read at the source.

What will it take? #

How many more developers have to point out how bloated we've made the web with our frameworks, tracking scripts, and other 3rd party solutions before we take things seriously? We've been banging on about this for ages. It's like a plague!

Speaking of plagues...

The COVID-19 pandemic exposed multiple weaknesses to our societies at large—the web included. As Governor DeWine's team held daily briefings,
they referenced the Ohio website where people could access more information. When I tried to visit the site I was met with server (500) errors and other flaky responses because the site was not able to handle the volume of traffic. The URL appeared to indicate they were using WordPress as a content management system. After reading Eric Meyer's plea for critical information sites to Get Static, I wondered if this same site prompted his post.

Other website weaknesses were exposed as I searched local drug stores for supplies that I needed. The high volume traffic made these sites load very slowly, if they loaded at all. So many stores in my area were out of toilet paper, hand sanitizer, disinfectants, etc., that I wanted to check online for which location might have items in stock before driving all over town to find them. This was especially important since the convenience of nearly instantaneous delivery from Amazon evaporated. I wanted answers, but instead I got fancy loading spinners that never went away.

These were concrete examples of failure to scale.

So if giving a damn doesn't scale, as Ethan stated, and not giving a damn doesn't scale either, what does that say about our industry? We're failing! Not in a cute "fail fast" way, either. As an industry that loves Lean, Agile, Design Thinking and all that crap, why do we ignore the feedback loops we've been getting?

I'm going to blame business-speak for this. Since people and money are referred to as "resources," the definition of scale I supplied above could be perverted to focus on how quickly you and/or your team can ship deliverables. As your response time and your team's throughput become the focus, you reach for what can make you effective as quickly as possible. Those tools and frameworks won't necessarily serve our users reliably. We're failing them and ultimately our clients and employers. It's time to do better!

This is a wake-up call #

The pandemic exposed some gaping holes in our societies. I don't have any expertise in what it will take to rebound there, so I'll leave it to educated professionals to solve for their specialized areas. The web, however, is something I know and love, so I have advice for this society. I don't care if
you call what you build a site or an app, there are some topics you need to learn more about:

Because that's what giving a damn looks like and it scales.