The way the web works: run a program on a computer to serve data to browsers around the world.
The problem: how for the browser to find servers.
The solution: dns.
This architecture creates more problems. That people access the web by visiting specific servers means that the first class entity on the web is the server, and owning domains is core to participation. So, IndieWeb is a community that has grown around the idea that domain ownership binds identity to running servers, empowering the individual who administers those servers; the most democratic web is one where all software is served through individually owned domains.
While the premise is solid, the goal is unrealistic. I believe that having a name and being able to use language should be enough for being a first class entity on the web. People enter cyberspace with nothing but information about themselves. That should be all they need.
That it should be all they need is shown by the success of account based services for identity management commonly known as social software. A user gives a domain owner information about themselves, and the domain owner provides software to represent that person on the web. This is Google, Twitter, Facebook and most everything else. But that kind of identity is second class.
There is a better way.
What if identity was just data, not running machines? What if, when you opened your browser to access the web of information, you told it who from, not where from? If it were so, no one would need be paid for registration of a name. No remote account passwords would ever have to be remembered. No identity would serve as host for other identities; such a service would not be useful.