Network Effect
Introduction
The Network Effect is a theory that deals with how things behave, and not how the are.
If you have things that have relationships with each other, you have a network.
The way networks behave is interesting.
Observations
A top-down hierarchy generally is inefficient. (In some cases it is more efficient, but only if it is managed well and that can only occur in the small scale.)
A good network needs peer communication.
The best networks consist only of peers who negotiate among themselves about whether they will continue communicating with each other. This is why Net Neutrality is a Bad Idea. We need to allow the internets to decide for themselves how they will interact with each other, and control their own networks in their own way.
A bottleneck is a node that everyone has to pass through. Not only does this introduce a Single Point of Failure, but it limits network traffic through that node. You should never have bottlenecks. If you do have bottlenecks, you need to eliminate them by increasing redundancy.
Redundancy is a situation where there are multiple paths to the same target that pass through different nodes. Redundancy is a good thing. It eliminated bottle necks and allows the network to continue to function after catastrophic damage.
The benefit of belonging to a small network is small. The benefit of belonging to a huge network are vastly more massive. I don't know the exact curve, but I think it is better than the square of the number of nodes.
Applications
The applications are endless.
Because of our observations of network behavior, we have built the internet. Unfortunately, not everyone understands why it is that the internet works at all, and how easy it is to destroy it by dictat. (See Net Neutrality is a Bad Idea.)
Our society is really one giant network. Our Founding Fathers have determined that a system of peers rather than top-down government is the only system whereby we can hope to maintain that network without catastrophic failure. That's why we don't have anything like a government in the traditional sense of the word. Our government is really subservient to us, and is more of a "servament".
In writing computer programs, we need to be aware of the network and its effect. We should think of each component of our software---from the lowly line of code, to the file, to objects and functions---as a node on a network, and manage it accordingly. (See How to Structure a Large Project.)
In business and marketing, it makes sense to outlay capital to build up a network, because the marginal cost of building the network beyond a certain size is totally dwarfed by the benefit. However, you have to surpass a certain size to get the benefits.