# Modularization requires legible interfaces
Legible interfaces enable someone to build on top of a module without understanding what is inside of it.
[[Creating legible interfaces is expensive]]
### Ways that an interface can be legible
* Interfaces can remain legible by not changing, but this is rare.
* Interfaces can remain legible if the people who change them update the ‘documentation if you will’ but this is usually an afterthought.
* Interfaces can remain legible if there is a party whose job is to maintain the interface. This requires coordination that often doesn’t happen. [[Program and project management is important and valuable]]
I’m sure that there is a lot of thinking and literature around this in the computer science and possibly program management communities. (
The real test of an interface is how much work it takes to combine a node with another node. [[Connections create new knowledge]]. Interface quality creates the endogenous part of the friction in combining nodes that [[Jerry Neumann]] mentions in [[neumannOneProcess2020]].
### Related
* [[The Architecture of Complexity]]
* [[Modularization enables pieces to be used in many different technologies]]
* [[Modularization enables the higher level technology to improve continuously even if pieces improve discretely]]
* [[Modularization allows different groups to work on different pieces]]
<!-- #evergreen -->
[Web URL for this note](http://notes.benjaminreinhardt.com/Modularization+requires+legible+interfaces)
[Comment on this note](http://via.hypothes.is/http://notes.benjaminreinhardt.com/Modularization+requires+legible+interfaces)