Interface¶
Core Idea¶
A defined boundary mediating interaction between two systems, exposing some aspects while hiding others according to a contract. An interface adds to a simple boundary by specifying both asymmetric visibility and an interaction protocol.
How would you explain it like I'm…
Where Two Things Meet
Meeting Place With Rules
Contracted Boundary
Broad Use¶
- Engineering design: mechanical interfaces (threaded connections), electrical pinouts, thermal boundaries.
- Software engineering: APIs (application programming interfaces), communication protocols, application binary interfaces (ABIs).
- Biology: cell membranes mediating chemical exchange, organism-environment interfaces structuring energy and information flow.
- Human-computer interaction: user interfaces exposing affordances, hiding system complexity.
- Organizational management: department-to-department coordination protocols, cross-functional touchpoints.
Clarity¶
Names the pattern where two systems interact through a contract: what gets exposed, what remains hidden, what signals cross the boundary, and what guarantees hold. Distinguishes from a mere boundary (which only delimits) by emphasizing contractual asymmetry and structured interaction.
Manages Complexity¶
Allows each system to evolve independently as long as it honors the interface contract. Isolates internal implementation details from external dependents. Bounds reasoning: you need not understand both systems fully, only the interface between them.
Abstract Reasoning¶
Shifts focus from systems to the contract that couples them. Encourages thinking about what must be shared, what can remain private, and what happens when the interface changes or breaks. Surfaces the tension between expressiveness (exposing capability) and stability (hiding volatility).
Knowledge Transfer¶
The same structural pattern applies to electrical connector standards, programming language bindings, ecosystem predator-prey signaling, and departmental communication workflows. Design principles from one domain—versioning, backward compatibility, failure modes—transfer naturally to others.
Example¶
A USB port is an interface: it specifies a physical connector shape, voltage levels, and signal timing, but hides the internal wiring of both the device and the port. A software API specifies callable functions and return types, hiding the algorithm and data structures beneath. A cell membrane controls what enters and exits the cell, hiding the biochemistry within. Each mediates interaction through an explicit contract.
Relationships to Other Primes¶
Parents (1) — more general patterns this builds on
- Interface is a decomposition of Boundary — An interface is the specific shape boundary takes when it adds an explicit contract specifying what crosses, what is hidden, and what guarantees hold on each side.
Children (1) — more specific cases that build on this
- Platform Design is part of Interface — Platform design is a constituent piece of interface; its standardized contracts between core and derivative systems are the platform's load-bearing structure.
Path to root: Interface → Boundary
Not to Be Confused With¶
- Interface is not Protocol because an interface is the specification of methods and their signatures for interaction, whereas a protocol is the sequence and rules for exchange of messages; an interface defines what operations are available, a protocol defines when and how they are used.
- Interface is not Abstraction because an interface is the exposed boundary of an object or system, whereas abstraction is the conceptual activity of identifying essential features and hiding details; interfaces are tools that can implement abstraction, but abstraction is a broader cognitive principle.
- Interface is not API (Application Programming Interface) because API is a specific implementation of an interface with defined endpoints, formats, and methods, whereas interface is the abstract specification of interaction points; an API realizes an interface in concrete, deployed form.