The internet is one of the greatest open-ended technologies our species has created, up there with language, writing, money, math, markets.
How do you design something like an internet? How does it get bootstrapped? How does it grow, scale, and evolve into the kind of ecosystem we have today? How did this internet succeed, when other similar efforts failed?
The internet absorbed existing infrastructure
One of the early goals of the Internet was to work on top of essentially any communications technology, because that approach seemed to be the only path to rapid, wide deployment.
Clark, 2018, Designing An Internet
The early internet bootstrapped on top of existing telephone networks, and jury-rigged existing phone hardware to get the job done. Early “acoustic coupler” modems literally sent and received bits over audio using phone handsets.
Look at that Rube Goldberg networking hardware! Incredible. This kludge allowed the early internet to draft off of the momentum of existing infrastructure. The internet didn’t have to deploy expensive new hardware, or lay down new cables to get off the ground. It was conformable to existing infrastructure. It worked with the way the world was already, exapting whatever was available, like dinosaurs exapting feathers for flight.
Infrastructure evolves slowly
Systems have layers, and these layers evolve at different paces. Lower layers evolve more slowly, acting as platforms for layers above.
Infrastructure has decades-long replacement cycles. It has to evolve slowly. If it didn’t, it would cause earthquakes for everything on top.
Instead of waiting decades for infrastructure to change, why not find ways to exapt it?
Existing infrastructure shapes how quickly new technology can be adopted
Here are the adoption curves for a handful of major technologies in the United States. There are big differences in the speeds at which these technologies were absorbed.
Landline telephones took about 86 years to hit 80% adoption.
Flush toilets took 96 years to hit 80% adoption.
Refrigerators took about 25 years.
Microwaves took 17 years.
Smartphones took just 12 years.
Why these wide differences in adoption speed? Conformability with existing infrastructure. Flush toilets required the build-out of water and sewage utility systems. They also meant adding a new room to the house—the bathroom—and running new water and sewage lines underneath and throughout the house. That’s a lot of systems to line up. By contrast, refrigerators replaced iceboxes, and could fit into existing kitchens without much work. Microwaves could sit on a countertop. Smartphones could slip into your pocket.
First our infrastructure shapes us, then we shape our infrastructure
The internet bootstrapped on top of existing telephone landlines, but it didn’t get stuck there. It seamlessly evolved from telephony, to broadband, wifi, cellular, and satellite. At no point did we have to shut down the internet, replace it, or coordinate an upgrade. Instead, the hardware that powers the internet is continually replaced, piece by piece, like the Ship of Theseus.
This is possible because the internet isn’t designed around telephone networking hardware. It isn’t designed around any hardware at all. Instead, the internet runs on ideas, a set of shared protocols. You can implement these protocols over a telephone, over a fiberoptic cable, or over two tin cans connected with string.
The internet’s designers made sure the protocols could be implemented on top of existing hardware and networks. They conformed the internet to existing infrastructure, and made it very easy to connect this existing infrastructure to the internet.
The Internet is... well... it turns out that you don't need more than one internet. If you have two internets, it is nearly unavoidable that someone will soon figure out how to connect them together. All you need is one person to build that one link, and your two internets become one. By induction then, the Internet is the end result when you make it easy enough for a single motivated individual to join one internet to another, however badly.
Apenwarr, 2020-07-08
As this internet gained momentum and built up network effect, something interesting happened. Instead of conforming the internet to existing hardware, the hardware started to conform to it. Modems, servers, routers, and network cables all rearranged themselves to align with the grain of the internet.
Over the long run, technology can be expected to follow the architecture rather than the architecture having to bend itself to accommodate technology designed for other purposes.
Clark, 2018, Designing An Internet
Software has more cybernetic variety than hardware, and who has the most variety drives the system.
How to design a new internet?
I think there are some systems design insights here that might be valuable for p2p, Web3, dweb, and other efforts to reform, reboot, or rethink the internet.
Resist the urge to build on a clean site. Everything is broken, internets are fundamentally sloppy. But previous attempts to reboot the world from scratch and build out totalizing visions have either flopped outright, or failed in horrific ways because they succeeded.
The path of evolution is always through the adjacent possible. Every stage of evolution has to be viable.
Build around open-ended protocols, not around particular hardware, software, or products.
Exapt existing infrastructure. The more it can conform to existing infrastructure, the faster it can get adopted. This is why I feel DeltaChat is one of the most quietly interesting things happening in the distributed software space. An end-to-end encrypted chat app built on top of email infrastructure that already exists. This is also why I think email is a good candidate for lateral thinking with withered technology.