Software interfaces are conversations, measure accordingly

Dec 23, 2025

An older post floated through my feed in the wake of the power outages in San Francisco broke Waymo's automated taxi service (because the traffic lights stopped working) and caused huge traffic snarls. The post (from 2022) points out that driving is a social behavior. Since current ML efforts haven't yielded us a machine that has a theory of mind for other drivers, pedestrians, cyclists, or literally anything at all, machines are universally terrible at it and the blackout highlighted this sort of failure mode.

Reading that post was mostly a reminder to me that the fact that driving isn't a social act that involves a lot of nonverbal communication and understanding. My particular brand of neurospiciness means that I don't pick up on all but the most exaggerated social cues easily and it's taken literal decades of practice to learn how to observe people and infer states of mind to it. There's conscious effort involved that for the better part of my life I assumed everyone else had to do too.

I was surprised again when other people said they had no idea what a cat or dog was thinking at times when you could just see it in the posture, ears, gaze, and a bunch of other things that I got used to looking for. I was even more surprised when some said they never noticed how other cars on the road had little "body language" tells that hinted what the driver was intending to do – of course that car that's been edging closer to one side of their own lane is looking to switch without signaling. Of course that jerk in the BMW speeding up from behind is definitely going to try to wedge themselves in the tightest spot available to "pass".

The "rules of the road" that are explicitly codified into driving regulations, like what road and sign markings mean, are easy enough for computers to be trained on. We can definitely make machines stay within lane markings (assuming they're not too worn down). We can usually get the machines to handle things like stop signs and red lights. But I don't think we've figured out how to get computers to interpret the messages passed between drivers when headlights get flashed, or turn signals/hazards sometimes get turned on, or when hands wave to do things like yield. Know that that awkward pause between two cars when they both come at opposing all-way stop signs and they pause then both nudge the gas at the same moment to only stop again? There's a lot of stuff being communicated in those brief moments that are context-dependent and use a very limited "vocabulary".

But I'm not here to ramble on about cars. I'm here to ramble on about how much of software is built around loads unspoken social conventions between software makers and users. Software interaction is a living, evolving, visual and design language. That fact has strong implications on how UX work, both research and design, play out.

Twenty years ago, the world barely had any touch screens owned by consumers, and certainly not smartphones. A common overall narrative is that it took years of experimentation to figure out "what works" for smartphone interface design but that makes it sound like software designers were imagining interfaces, inflicting them onto users, and keeping the stuff that users liked to use while abandoning the rest. It paints a largely passive audience of users who begrudgingly learn whatever interactions the designers push out.

Supposedly, the individual UX designers figured out what interactions worked and what didn't based on UX research studies and simple trial and error. Users complained that something was too hard, or they wanted to complete this task that was impossible. Through iteration, the software-makers eventually settled onto the stuff that annoys users least. Right?

That story makes it sound like software designers are somehow discovering the "platonic ideal app install" interaction flow that existed all along if only we had uncovered it in 2015 instead of 2025.

But the truth is that there probably isn't some platonic ideal. Instead, the software interactions we have today is just a single snapshot of the ever-changing conversation between software creators and their users. Users have mental models and expectations for the software they're using today, and they're most frustrated when those models don't align with the interfaces presented to them.

If you've every paid attention to how mouse clicks work, you'll notice that the click actually "happens" when you lift off the button. There's various benefits to triggering actions off the "mouse-up" event, such as allowing dragging inputs to not trigger prematurely. This behavior extends to how modern touch interfaces work where some subtle animations might trigger when your finger touches down, but the real work happens usually when you lift up. If someone does it the other way now, most users would consider it "wrong". Some users might even recognize what was actually happening. This is something of a barely written convention in how point-and-click interfaces are expected to work now. But you could easily imagine an world where events were keyed off the mouse-up event instead. We probably wouldn't have the same expectations for dragging/sliding actions under such a system, but if users never knew better they wouldn't miss it.

Back when I was working on Google Cloud Storage's UX data, I'd occasionally see feedback requests from people demanding that their iPhone photos or iCloud files. These users were thinking "Cloud Storage" meant we were where their files were stored "in the cloud", but that mental model was so far from the truth that they were essentially complaining to an completely different vendor.

But user habits can and do change. There used to be an age in the '70s when every byte was precious and so a bunch of UNIX tools wound up with inscrutable names like ls less and vi. During the giant "pivot to mobile" in the 2010s, somehow the software industry decided that standard file paths were too confusing for users and so files got dumped into giant repositories that had no real hierarchy to them – giving you the mess that is likely your Google Drive, your phone camera roll, and phone/table local storage layout. Now, jump forward a decade and we hear stories about how kids who grew up with primarily such flattened systems don't understand file systems. They learned one interaction mode – everything gets dumped into one place and you painfully search or browse things out. To them, the structure of files and folders feels about as alien to them as how edge swiping on a phone screen felt to older adults. There's a generational change in the interaction language some of us may or may not have noticed, but we all participated in.

And this is how I drag this discussion that started on cars and body language to UX research work. When we're testing out something with users, whether it's a new layout, interaction, or just text copy, we're learning something about users at a point in time. Over longer time horizons (on the scale of months or years), users may have learned to a different mental model that yields different results. It's completely possible to have an interface that is "too early for its time" and users don't understand it enough (and you don't have enough 'clout' to force users to learn).

The fact that we're working on a shifting landscape has some interesting implications for research in general. Since many of us are ex-scientists of some sort, we all habitually work under the unspoken assumption that our findings are durable – that we're uncovering "Truths" with a capital T about our users. Some of our findings may be durable, especially around customer values values – I can't think of a situation where users won't at least value ease-of-navigation, but the expression of those values (aka. the thing we're actually testing in practice), the navigation markers they look for may change over time.

And so, it's entirely possible we get into situations where "that's been done before" might be irrelevant thanks to shifts in how typical users interact with the world. It's like how many Windows laptops have, for a long while now, an option to come with a touch screen. I remember mocking the idea as unnecessary when I first encountered the concept ages ago in the heated competition phase between tablet/phablet/ultraboooks in the 2010s, but now that enough users have gotten used to the idea that my wife will touch my MacBook screen and complain when it doesn't respond. I've even on occasion wanted a touchscreen on that MacBook precisely because I wanted to quickly do something during collaboration and wasn't sitting directly at the keyboard.

What this all means is that UX researchers need to continuously stay abreast of what the normal user conventions are. Our findings have an potential shelf life, not because we did anything wrong but because the world is changing around us. I've had colleagues that had to interview multiple professionals in a niche field (like networking engineers, or security administrators) to ask seemingly self-evident things like "what is the term you use for something that does ~~~". Sometimes it's the engineers we work with had said it was going to be, while other times, the market had adopted a different term and our folks weren't aware of the shift because they're not active in that niche.

For quantitative work, we already tell practitioners to be aware of novelty/acclimation/learning effects and keep an eye out for them. These shifts I'm talking about are similar but playing out over much longer time periods – periods so long that it'd honestly be really weird to have a continuously observing test.

On the whole, I know that researchers in general are already wary of claiming the generalizability of our results, especially in our tiny, skewed, little industry studies. But this is a reminder to us all that little survives the test of time. Heck, I still occasionally use gifs as comments/messages and I've been informed that only old people do that now.


Next week, I'll be away from my desk for once in a long while and I've prepped a fun little post to share while I'm out. Then it's back to normal for the new year!


Standing offer: If you created something and would like me to review or share it w/ the data community — just email me by replying to the newsletter emails.

Guest posts: If you’re interested in writing something, a data-related post to either show off work, share an experience, or want help coming up with a topic, please contact me. You don’t need any special credentials or credibility to do so.

"Data People Writing Stuff" webring: Welcomes anyone with a personal site/blog/newsletter/book/etc that is relevant to the data community.


About this newsletter

I’m Randy Au, Quantitative UX researcher, former data analyst, and general-purpose data and tech nerd. Counting Stuff is a weekly newsletter about the less-than-sexy aspects of data science, UX research and tech. With some excursions into other fun topics.

All photos/drawings used are taken/created by Randy unless otherwise credited.

Supporting the newsletter

All Tuesday posts to Counting Stuff are always free. The newsletter is self hosted. Support from subscribers is what makes everything possible. If you love the content, consider doing any of the following ways to support the newsletter:

  • Consider a paid subscription – the self-hosted server/email infra is 100% funded via subscriptions, get access to the subscriber's area in the top nav of the site too
  • Send a one time tip (feel free to change the amount)
  • Share posts you like with other people!
  • Join the Approaching Significance Discord — where data folk hang out and can talk a bit about data, and a bit about everything else. Randy moderates the discord. We keep a chill vibe.
  • Get merch! If shirts and stickers are more your style — There’s a survivorship bias shirt!