Skip to main content

Stop building for San Francisco

4 min read

Eric Meyer's post about the unexpected side effects of securing every website is an important read:

The drive to force every site on the web to HTTPS has pushed the web further away from the next billion users—not to mention a whole lot of the previous half-billion.  I saw a piece that claimed, “Investing in HTTPS makes it faster, cheaper, and easier for everyone.”  If you define “everyone” as people with gigabit fiber access, sure.  Maybe it’s even true for most of those whose last mile is copper.  But for people beyond the reach of glass and wire, every word of that claim was wrong.

Overwhelmingly, our software is built by well-paid teams with huge monitors and incredibly fast computers running on a high-bandwidth internet connection. We run MacBook Pros, we have cinema displays, we carry iPhones.

That's not what the rest of the world looks like.

Human-centered design has transformed the way I think about building products: it starts with deep insights about the people you're trying to build solutions for, and then using rapid qualitative testing to determine whether you're on the right track, rather than just starting with technology or attempting to build a solution based on your own intuition. It works. But while we talk a lot about user needs, we don't talk a lot about the technology available to them (or the technology that's likely to be available to them two years from now).

First of all, you need to understand who your audience is, as people. If they're genuinely wealthy people in a first world city, then you do you. But for people in rural areas, or countries with less of a solid internet infrastructure, failing to take these restrictions into account will limit your potential to grow. If you're not building something that is accessible to your audience, you're not building a solution for them at all. That means faster loading times, smaller file sizes, and HTML that at least falls back to displaying clearly on older devices and browsers, including low-cost Android phones.

It all depends on who you want to be able to reach. But if you only want to reach people in San Francisco, I'd strongly argue that you should reconsider. I'd certainly like this blog to be more widely accessible, for example.

In his classic 2015 talk The Website Obesity Crisis, Maciej Ceglowski singled out Medium (a platform where I was an engineer) as being particularly bad:

Or consider this 400-word-long Medium article on bloat, which includes the sentence:

"Teams that don’t understand who they’re building for, and why, are prone to make bloated products."

The Medium team has somehow made this nugget of thought require 1.2 megabytes.

It's easy to forget that this is a problem when you're in a fancy office with a powerful internet connection, a wall-size Lite Brite, and kombucha on tap. To be clear, I had a lovely year there, and it's a team filled with wonderful people, many of whom are still friends. And while it's easy to rag on Medium, my personal website is no better in terms of file size, and arguably probably worse in terms of loading time, because I don't have a fancy CDN to load it from. Not to mention the aforementioned HTTPS.

I'm going to rethink how I could make this site more accessible, and certainly faster to download. (I'll reshare my work as a Known template that others can use.) But this is just a blog, and not my livelihood. If I was in the middle of building a product that I wanted to see wide use, I'd make damn sure I didn't leave billions of people out in the cold.