Affordances
December 3, 2024
When I was at Apigee we had a deck to talk about API design, and one slide had a picture of doors with handles labelled PUSH.
We used this image to talk about “affordances” which I always felt was sort of ironic that we had to teach people a new word that basically meant we want to make things easy on you so you don’t have to think about what needs to happen next.
But the idea of “Don’t make me think” is a really important one in our complex modern era. There are so many decisions that you need to make every day, and you can use up your ability to think pretty fast when pummeled with irrational, poorly thought-out STUFF that really just gets in your way.
Every time we interrupt our process, every little interruption, takes us that much further from getting the thing done we need to get done. Sure, the PUSH sign on a door with handles is no big deal, but it’s one of many minor irritations in your day when you walk up to that door, pull on it, get that jerk against your arm, then read the sign that says push.
The same thing is true in an experience. In the tech world we talk a lot about User Experience (UX) but we don’t talk much about the Developer Experience (DX). Honestly, anything we do that involves other people requires a good experience, and it’s everyone’s responsibility to make that experience good for each other.
We work with people who aren’t in the same room as us. We work with people who aren’t in the same city, time zone or even the same country. We work with people who we don’t know we’re working with because they pick things up later or are customers, vendors, auditors… We are not always there to answer their questions.
Trying to collaborate with other people means creating affordances for each other. It means writing things down so the next person can understand what you did, not just assuming they will “get it.” This might be actual documentation, or it might be simple as in-line comments (and I don’t just mean commenting your code, you can add comments to Word documents).
Sometimes we even need to make things easier to understand because we, ourselves, will forget what we did. I hate picking up some old code I was working on and trying to figure out what the hell I did because I was having a particularly clever day that day and I didn’t add a comment saying what the heck that code snippet does.
Sometimes being clever gets in the way – doing something consistently (even if it’s boring) creates affordances, it makes it easier to pick it up years later and understand it without dissecting and researching an esoteric, if clever, experience.
On a similar topic, take a look at my Tribal Amnesia article and video I did a few years ago. Sometimes understanding something quickly and easily is an emergency, not just an affordance.
Just… don’t make me think too hard about it…
Your resume is your most valuable tool in your job search. But how do you know your resume is in top shape?
Our recruiters will review your resume line by line and give you detailed feedback on how you can improve it.
Visit mjlprojects.com to learn more!


