profile

Human Who Codes Newsletter

Human Who Codes Newsletter - Knowing Your Users

Published 10 months ago • 6 min read

Thoughts on Knowing Your Users

Yesterday I had a very interesting experience at the Massachusetts Registry of Motor Vehicles (RMV). I just moved from California to Massachusetts, and as such, I needed to get a new driver's license and car registration. Going to the RMV is never any fun, the best you can do is cross your fingers and hope to get through it with a minimum of aggravation and (hopefully) avoid the meanest public sector workers. And of course, nothing ever goes completely according to plan.

When I finally got to talk to someone about my registration, it turned out that the document from my insurance company was no longer valid. These documents were valid for 30 days and mine was (gasp) 33 days old. I was told to call my insurance company, have them email me the new documents, and then print them out on the public computer they had available in the corner. I did just that and then joined the queue of people waiting to use the computer.

The man in front of me was 65 years old but looked about 45 (I overheard him telling people his age) and had no idea how to use the computer. He had received an email with a document to print out and wanted to print it. There was no way to print directly from the phone (I also checked) and so he’d need to use the computer. But there was a problem: he had no idea how to access his email on the computer. He couldn’t remember which email service he was using. I offered to check his phone and tell him. He was using AOL.

So I help him go to aol.com and log in. We get to the login screen and I tell him to enter his password. Not only does he not know his password, he’s not even sure what a password is or why he’d need it. Thankfully, AOL will let you log in by sending a code to your phone. He has two phone numbers registered that AOL shows the last two digits of so I ask which one is his cell phone and he points to the first one. We hit “Send Code” and wait. And wait. And wait. I ask him if he’s sure that is his cell phone number. He doesn’t know. I go into settings and find that, in fact, it was the second phone number that was his cell phone number.

We get the code and log him in. I’m trying to respect his privacy and not look at his emails, but he’s never used the web interface for AOL before and doesn’t know how to navigate it. I help him find the email, download the attachment, and print it to the printer. He thanks me profusely and explains he’s not very technical and he had a flip phone until about six months ago. Someone set him up with an iPhone but he barely knows how to use it. I said no problem and went about printing out my own documents.

When you work in the tech industry and spend most of your time in the tech bubble, it’s hard to imagine that there are people like this who don’t really understand the technology they are using. And that’s okay! Technology works, fundamentally, to help the people who can’t understand it. If we all had to understand the technology that we used then most of us would not be allowed to drive a car.

Always keep in mind that you are not your users and we are writing software to help them. Spending some time with people who aren’t as tech savvy and noticing how they are using their devices can really help ground you in that reality.

Key Takeaways

  • The people using your software may not be anything like you.
  • The focus of software should always be on the people who are using it, not on the people who are writing it.
  • There are many more types of people with different abilities, intellectual capacity, and physical limitations than there are “normal” people. We need software to work for all of them.

Further Reading

📝 You Are Not the User: The False-Consensus Effect by Raluca Budiu
There is actually a name for the false belief that your users are like you: the false-consensus effect. This is a common cognitive bias in humans and can negatively affect the user experience. This brief blog post explains the false-consensus effect and why it's important to actually get to know your users instead of assuming who they are.

📚 Ghost Boy by Martin Pistorius

This is the true story of a young boy who got sick, went into a coma, and then came out of it without being able to speak or move. Being trapped in a body that was like a prison, he figured out how to start communicating again, and eventually regain his life. To me, the highlight of this story is how technology allowed him to start reaching back into the world and have some autonomy. This is the perfect "you are not the user" story to remind you just how access to technology can deeply affect people's lives.

Want more book recommendations for software engineers? Check out my reading list for a complete list of what I consider must-read books.


♥️ Sponsor me on GitHub. Over the last two months, GitHub eliminated PayPal donations and as a result my sponsorships decreased by over 80%. If you enjoy the free content and code that I provide, please sponsor me on GitHub.


Stuff I've Enjoyed This Month

🎬 If you sit for work you need these stretches by Minus the Gym
Software engineers tend to spend a lot of time sitting, which does some awful things to our bodies. This video shows several simple stretches you can do every day to help undo some of the damage all that sitting does.

📝 The Next Phase of Eleventy: Return of the Side Project by Zach Leatherman
For the last year year, Eleventy's development was sponsored at a full-time rate by Netlify. But this year, the sponsorship has ended and Eleventy is returning to a side project by its author. This is a good reminder that open source sponsorships are not set in stone, and in this post, Zach lays out where the project goes from here.

📝 TikTok's enshittification by Cory Doctorow
Social media companies have been around long enough that we can now find some basic patterns in how they operate. Twitter and Facebook followed roughly the same path of getting you addicted to your timeline before forcing paid placements into your feeds, and it looks like TikTok is now going the same way. The end result: social media that works for no one but the social media companies seeking to sell advertising space and user data. This post outlines how this has worked and what it appears TikTok is doing now.

📚 The Halo Effect by Phil Rosenzweig
An interesting thing happens when your business is going well: everyone thinks everything you're doing is brilliant. But when the business is doing poorly, everyone thinks everything you're doing is dumb. This is the halo effect, where your actions are judged based on your current level of success rather than the processes themselves. This book shows how the halo effect colors our understanding of business and how to insulate yourself from its effects.

📚 The Coddling of the American Mind by Greg Lukianoff and Jonathan Haidt
The authors describe how parenting an educational styles have changed over the last few decades and how this has affected the next generations of adults. There's also a fascinating subplot of how the iPhone, and having social networks in your pocket, affected the most recent generation's psychological and emotional development. This is a book that folks from all parts of the political spectrum will probably find disagreeable in some way, but it's a cogent assessment of where the United States is and were we might end up.


What I'm Working On

🏠 Real Estate: My latest BRRRR property is rented but I'm still waiting on getting repairs for the hail damage. It's turning out to be difficult to get contractors right now, so I'm still waiting to refinance until the hail damage can be fixed. A bit annoying as this whole process would have been complete a couple months ago if not for the hail, but I have no control over mother nature. Follow my Instagram for photos.

📝 Blog: I wrote a blog post on why disabling paste in textboxes is not a security feature. I absolutely hate this practice and wish it would go away. It turns out this is not a security recommendation (at least, not based on any resources I could find) and there are both security and accessibility reasons not to do this.

💻 Open Source: I spent a bunch of time trying to figure out why my Astro blog was not updating and discovered that there were some changes in a minor release that was causing my Netlify build to fail. After fixing that, my blog is now alive again (and available on GitHub).

💻 ESLint: By the time you read this ESLint will be 10 years old! It's hard to believe that the little side project I wrote in 2013 would go on to become the de facto JavaScript linter in the world. I've done a lot of catching up on issues and PRs since I got my home office set up. I'm hoping to get back into coding soon.

Human Who Codes Newsletter

Nicholas C. Zakas

A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.

Read more from Human Who Codes Newsletter

Thoughts on JSR This past month saw the public release of the JavaScript Registry (JSR), a direct competitor to npm. The folks behind JSR are the same folks behind Deno, a direct competitor to Node.js. While it may not be surprising that a Node.js competitor would also create an npm competitor, Deno actually started with a theory that the JavaScript community didn’t need npm or any other package manager. In fact, in Ryan Dahl’s original talk announcing Deno, he explicitly mentioned npm as a...

about 1 month ago • 5 min read

Thoughts on Burnout As tech layoffs continue to fill up news sites, I’m reminded of how hard I used to work as a full-time employee at companies who could dispose of me without warning. Not only was I giving my all to my work, but then I was working on open source and books in my spare time. For years, I had very little downtime as I bounced from one task to the next, all the while pushing through burnout and not taking any time to recharge. It’s no surprise that I ended up so sick that I’ve...

about 2 months ago • 6 min read

Thoughts on Decision Documents When you start a new project or significant feature, it's likely that you've written a technical specification. Tech specs often lay out the overall design of a system or feature such that it can be implemented by following the spec. Tech specs answer the question, "how?" Knowing how to build something is useful, but there's an equally important question: “why?” That’s where decision documents come in. A decision document outlines the thought process around a...

3 months ago • 4 min read
Share this post