Thanks for sharing them :-)
> most people don't have a server or even a friend who has a server,
That's wrong from my point of view. In the past, in the dialup era that's normal, but we are in the fiber optic broadband era, at least in vast part of the world who are essentially the parts where IT is developed and used, so it's wrong not to have an IPv6 static global per device, it's wrong not having a domain name per human being, at least per Netizen.
Correcting this is anyway needed because even with modern connections distributed solutions have too much overhead, too little performances to be generally used. Having a homeserver, a direct connection with own devices, from cars to "smart" water heater should be normal for those who want it, normal without intermediaries but still with server, we need to know our infra.
Building giant tools to circumvent actual state of things is technically fascinating, give end user a friendly UI is remarkable but it does not really solve the background problem: giants services will be much more performant. On contrary no giant can offer something more effective than a direct connected services for any user, from a single device with data and logic and UI on it, to LAN to generic P2P connection without extra overhead. As a small example no VoIP services can be faster in my LAN than my local softphones/deskphones talking each others. No GMail alike service can search faster than my local notmuch-emacs on local maildirs. No file sharing services to exchange a file can be faster than a direct connection between someone else and me, at the maximum extreme they can be nearly equivalent.
At least, that's my vision: no chance to win competing with big & powerful on such tech, some chances pushing a local first, wide open connection between peers for the rest because users are needed, but nerd, people who know what they use is even more needed to start, just understanding IPFS from it's code and "docs" is challenging, understanding IRC is far simpler.