The Tethral logo is a curved tree like shape with a pointed end trunk and 9 branches each that in a small ball to represent connection points. This version of the logo is an ocean blue color that is darker on the top than the bottom.
Blog
Pricing
Contact
Resources
Product
Log in
All post
SHARE THIS POST
Published
February 20, 2026

Affordances Are Bidirectional. We've Only Been Listening to Half the Conversation.

John Lunsford
Founder, CEO

Affordances Are Bidirectional. We've Only Been Listening to Half the Conversation.

In 1966, the American psychologist James J. Gibson introduced a word that would quietly reshape how we think about the relationship between an organism and its environment. The word was "affordance." By the time he fully developed the idea in The Ecological Approach to Visual Perception in 1979, the concept had crystallized into something deceptively simple: the environment offers possibilities for action to the animal that perceives it. A flat, rigid, knee-high surface affords sitting. A narrow opening affords passage. A cliff edge affords falling.

One of the images from Gibson's work that has stayed with me is the idea that a cave is not a cave until something lives in it. Until then, it is a hole in a mountain. The moment a creature perceives it as shelter, the affordance emerges. The cave becomes something it was not before: a place to sleep, to hide, to survive. The utility is not in the rock. It is in the relationship between the rock and the creature that needs it.

Don Norman, decades later, brought affordances into the design world with The Design of Everyday Things. In Norman's interpretation, affordances became ways of interacting. A door handle affords pulling. A flat plate affords pushing. The designed object communicates its use through its form. This is the version of affordance theory that most people encounter, and it has been enormously productive. It changed how we think about interfaces, products, physical spaces, and eventually software.

But I think both versions are missing something. Or rather, they are hearing only half of what is being said.

The half we are not listening to

The classical view of affordance is essentially egocentric. The environment offers something to the perceiver. The cave affords shelter to the creature. The handle affords pulling to the hand. The relationship flows in one direction: from environment to organism, from object to user, from system to person. The thing exists, and its value is activated when we interact with it.

There is an improv principle that applies here, the "yes, and" of additive contribution. What if affordances are not just what a thing offers us, but also what it communicates outward about itself? Not bidirectional in the sense that the cave and the creature are having a conversation. Bidirectional in the sense that both are communicating, and we have been attending to only one of those signals.

Go back to the cave. Yes, it affords shelter. That is the inward communication: what the cave offers to the creature. But the cave is also communicating something outward. It was formed by unstable pressures in the rock face. The shape of the opening, the angle of the walls, the texture of the ceiling, the presence or absence of fracture lines: all of these carry information about the cave's structural integrity. About its stability. About whether the pressures that formed it are resolved or ongoing. This is not a message to the creature. The cave is not trying to communicate. But the information is there, expressed in the physical form, available to anything that can read it.

The cave communicates its utility inward: shelter. The cave communicates its stability outward: I was formed by these forces, and here is what they left behind. Both are real. We built an entire theory around the first and largely ignored the second.

The mechanic and the car

If you have ever watched a skilled mechanic diagnose a car, you have seen outward affordance reading in practice.

The mechanic does not need to plug in a diagnostic tool to know something is wrong. The car communicates its state through the way it moves, the sounds it makes, the vibrations it produces, the way it responds to input. A particular rattle at a particular speed. A slight pull to the left under braking. A hesitation in acceleration that is new. The mechanic is not interacting with the car. The mechanic is listening to what the car is already saying, not to any driver, not to any user, but outward, to the world, through its relational interaction with the road.

The car does not know it is communicating. It is not addressing the mechanic. But the information about its internal state is expressed in its behavior, and the mechanic has learned to read that expression the way a doctor reads a patient's gait or a sailor reads the surface of water. The affordance here is not "what does the car offer me?" It is "what is the car telling the world about itself?"

Not everyone can read it. I certainly cannot diagnose a car by sound. But the signal is there. The car is communicating its state whether or not anyone is listening.

The problem with invisible machines

This is where it gets interesting, and where the observation stops being philosophical and starts being practical.

Physical machines communicate their state through their bodies. The subway screeches on a curve. The elevator hums differently under load. The HVAC system changes its rhythm when a compressor is struggling. For the skilled listener, the physical world is saturated with outward affordance signals: information about the internal state of systems, communicated through their interaction with their environment, available to anyone who has learned to hear it.

Software has no body.

There is no screech, no vibration, no hum under load. When a piece of software is degrading, when its internal state is shifting toward instability, when the pressures that formed it (its design assumptions, its environmental expectations, its resource constraints) are being tested by conditions they were not built for, that information does not express itself in sound or motion. It expresses itself in behavior. In the timing of responses. In the pattern of retries. In the shape of fanout. In the drift of latency distributions. In the correlation of failures across services that share a dependency.

These behavioral patterns are the outward affordance of software systems. They are not messages to the user. They are not designed outputs. They are the system communicating its state to the world through its interaction with the environment, the same way the cave communicates its stability through the geometry of its walls and the car communicates its condition through the way it rides.

And we have been treating these signals as telemetry. As diagnostic data. As something you check after the fact, when you are already looking for a problem. We have not been treating them as what they are: a continuous, real-time expression of system state that is available to anything that learns to read it.

What changes when you listen to the other half

The conventional approach to system reliability is to wait for the system to tell you something through designed channels: error codes, health checks, alert thresholds. This is the inward affordance model. The system affords monitoring to the operator. It offers a surface of interaction, and the operator perceives what the system has been designed to present.

But the system is also communicating outward, through behavior, whether or not anyone is listening. And the outward signal arrives earlier. Timing drift appears before the timeout fires. Retry acceleration appears before the circuit breaker trips. Fanout expansion appears before the resource limit is hit. The behavioral signal, the outward affordance, is the leading indicator. The designed signal, the inward affordance, is the lagging one.

If you build infrastructure that reads the outward affordance, you can act on information the system is already producing but that nobody was listening to. Not prediction in the machine-learning sense. Not anomaly detection. Something simpler and more fundamental: attending to what the system has been saying all along, through the behavioral patterns that express its state of stability or instability, the same way a cave expresses its structural integrity through its geometry and a car expresses its mechanical condition through its ride.

The affordance is bidirectional. The question is whether we build systems that hear both sides.

John Lunsford is the CEO and founder of Tethral, and the inventor of TriST, a geometric coordination protocol for agentic AI systems. His PhD research at MIT and Oxford focused on autonomous system-to-society adoption. He writes about the intersection of machine behavior, coordination, and infrastructure.

info@tethral.ai

RELATED POSTS

Tethral
Privacy-first, hubless IoT orchestration platform that puts you in control of your connected devices.
© 2025 Tethral. All rights reserved.
Built with privacy in mind.