This post is probably going to be a little bit scattered, because I’m still reeling from the overwhelming, unexpected response to the last post. I honestly expected “Inadvertent Algorithmic Cruelty” to be read by maybe two or three hundred people over the next couple of weeks, all of them friends, colleagues, and friends who are colleagues. I hoped that I’d maybe give a few of them something new and interesting to think about, but it was really mostly just me thinking out loud about a shortcoming in our field. I never expected widespread linking, let alone mainstream media coverage.

So the first thing I want to say: I owe the Year in Review team in specific, and Facebook in general, an apology. No, not the other way around. I did get email from Jonathan Gheller, product manager of the Year in Review team at Facebook, before the story starting hitting the papers, and he was sincerely apologetic. Also determined to do better in the future. But I am very sorry that I dropped the Internet on his head for Christmas. He and his team didn’t deserve it.

(And yes, I’ve reflected quite a bit on the irony that I inadvertently made their lives more difficult by posting, after they inadvertently made mine more difficult by coding.)

Yes, their design failed to handle situations like mine, but in that, they’re hardly alone. This happens all the time, all over the web, in every imaginable context. Taking worst-case scenarios into account is something that web design does poorly, and usually not at all. I was using Facebook’s Year in Review as one example, a timely and relevant foundation to talk about a much wider issue.

The people who I envisioned myself writing for—they got what I was saying and where I was focused. The very early responses to the post were about what I expected. But then it took off, and a lot of people came into it without the context I assumed the audience would have.

What surprised and dismayed me were the…let’s call them uncharitable assumptions made about the people who worked on Year in Review. “What do you expect from a bunch of privileged early-20s hipster Silicon Valley brogrammers who’ve never known pain or even want?” seemed to be the general tenor of those responses.

No. Just no. This is not something you can blame on Those Meddling Kids and Their Mangy Stock Options.

First off, by what right do we assume that young programmers have never known hurt, fear, or pain? How many of them grew up abused, at home or school or church or all three? How many of them suffered through death, divorce, heartbreak, betrayal? Do you know what they’ve been through? No, you do not. So maybe dial back your condescension toward their lived experiences.

Second, failure to consider worst-case scenarios is not a special disease of young, inexperienced programmers. It is everywhere.

As an example, I recently re-joined ThinkUp, a service I first used when it was install-yourself-and-good-luck alpha ware, and I liked it then. I’d let it fall by the wayside, but the Good Web Bundle encouraged me to sign up for it again, so I did. It’s a fun service, and it is specifically designed to “show how well you’re using your social networks at a more human level,” to quote their site.

So I started getting reports from ThinkUp, and one of the first was to tell me about my “most popular shared link” on Twitter. It was when I posted a link to Rebecca’s obituary.

“Popular” is maybe not the best word choice there.

Admittedly, this is a small wrinkle, a little moment of content clashing with context, and maybe there isn’t a better single word than “popular” to describe “the thing you posted that had the most easily-tracked response metrics”. But the accompanying copy was upbeat, cheery, and totally didn’t work. Something like, “You must be doing something right—people loved what you had to say!”

This was exactly what Facebook did with Year in Review: found the bit of data that had the most easily-tracked response metrics. Facebook put what its code found into a Year in Review “ad”. ThinkUp put what its code found into a “most popular” box. Smaller in scale, but very similar in structure.

I’m not bringing this up to shame ThinkUp, and I hope I haven’t mischaracterized them here. If they haven’t found solutions yet, I know they’re trying. They really, really care about getting this right. In fact, whenever I’ve sent them feedback, the responses have been fantastic—really thoughtful and detailed.

My point is that ThinkUp is a product of two of the smartest and most caring people I know, Gina Trapani and Anil Dash. Neither of them comes anywhere close to fitting the Young Brogrammer stereotype; they are, if anything, its antithesis, in both form and deed. And yet, they have fallen prey to exactly the same thing that affected the Year in Review team: a failure to anticipate how a design decision that really worked in one way completely failed in another, and work to handle both cases. This is not because they are bad designers: they aren’t. This is not because they lack empathy: they don’t. This is not because they ignored their users: they didn’t. This is such a common failure that it’s almost not a failure any more. It just… is.

We need to challenge that “is”. I’ve fallen victim to it myself. We all have. We all will. It will take time, practice, and a whole lot of stumbling to figure out how to do better, but it is, I submit, vitally important that we do.