You're right that it's certainly within the financial means of anyone to run a web server; "class mobility" is not terribly difficult here. The problem is, as you state, that virtually nobody wants to have to administrate a server!
In-home devices which accept connections are not relevant as they are inaccessible without giving your home network a well-known name. Any device which is not accessible from the Internet at large is not meaningfully a part of the Internet--it's simply on a network. Of course, you can set up port forwarding and buy a domain so you can access these devices from the Internet, but that fundamentally changes the situation. This is really the important distinction here: "servers" have known names and addresses on the Internet and "clients" do not.
When you want to communicate with your friends, you do it by name or address; in the current model of the Internet as something 99% of people access via 3g on phones (with all kinds of network-side firewalling) or via their home router's dynamic IP and NAT, most users do not have any well-known address. The only way they can find their friends is by coordinating to both use some third party site. This is what it means for the current architecture of the web to encourage centralization: the most efficient way to let everyone find all their friends is for everyone to congregate at the same third-party location, i.e. Facebook.
We haven't moved away from that because the decentralized alternatives have tended to suck, requiring running your own server all the time at a fixed address; actual progress would involve eliminating servers entirely and replacing DNS with a distributed name-lookup service that's actually designed for this use-case, and then having your mutual friends play the role of mailservers when you and your peer are playing phone-tag and not simultaneously online.
I agree with your point about search/indexing, but a lot of that has to do with an economic model to fund such a service ... the advertising-driven free models leads towards centralized control and loss of privacy. One interesting way to look at this is the move Apple is making towards more search and cloud services that are funded by device sales, not by advertising and analytics.
Decentralized services have tended to suck because you always need at least a federation of centralized servers for search/discovery. But it's possible to do so in a relatively end-to-end secure way, if it can be funded without requiring spying/analytics.
Anyway I'm just saying that there's a lot of possibility out there, and the barrier really is one of coming up with a big enough application incentive to force change across multiple areas of the current deployed web.
In-home devices which accept connections are not relevant as they are inaccessible without giving your home network a well-known name. Any device which is not accessible from the Internet at large is not meaningfully a part of the Internet--it's simply on a network. Of course, you can set up port forwarding and buy a domain so you can access these devices from the Internet, but that fundamentally changes the situation. This is really the important distinction here: "servers" have known names and addresses on the Internet and "clients" do not.
When you want to communicate with your friends, you do it by name or address; in the current model of the Internet as something 99% of people access via 3g on phones (with all kinds of network-side firewalling) or via their home router's dynamic IP and NAT, most users do not have any well-known address. The only way they can find their friends is by coordinating to both use some third party site. This is what it means for the current architecture of the web to encourage centralization: the most efficient way to let everyone find all their friends is for everyone to congregate at the same third-party location, i.e. Facebook.
We haven't moved away from that because the decentralized alternatives have tended to suck, requiring running your own server all the time at a fixed address; actual progress would involve eliminating servers entirely and replacing DNS with a distributed name-lookup service that's actually designed for this use-case, and then having your mutual friends play the role of mailservers when you and your peer are playing phone-tag and not simultaneously online.