I don't know why you are assuming that everyone will have to run their own.
Also, it seems very cynical/naive to think that just because such systems aren't currently working/won't currently work with given social structures, that this will always be the case. Do you disagree?
But yeah, making a facebook/twitter-style social network app that uses plain email as transport would be really cool.
Probably. On the server-side RSS is nicer in some respects - you're not sending out mail to old, disused inboxes, you don't have to manage subscriptions or worry about being blocked as spam etc.
One thing that I think might make email better is if people got used to the idea of "email apps". The idea that my inbox might collate stories from a given source into a scannable digest (like RSS might give me) seems like a strange departure from the traditional idea of what an email client or service is "meant to do" - present discrete, unmodified messages in the most transparent way possible.
For a social network it's clear that you'd need something like that, though - you'd need clever filters on your feed, thumbnails on images, possible integration with image-sharing services etc etc. Using email and mailing lists gives you a big head-start, but if you can't build on top of it then it can't take off like a dedicated protocol can.
I can't help feeling that the natural outcome of decentralized social networking is that people eventually start hosting them for mom and dad, then a few friends, then start companies, then we are back to facebook. Someone, somewhere is going to have to have a database of names mapped to servers.
Centralization is, in an abstract way, present in so many of our social structures, that yes, I disagree that within a capitalist economic structure (one which is optimized for sharing of services rather than individualism, ie: non-technical users simply wont do this unless the work is done for them, like facebook did) it would be next to impossible for something like this to work.
People quite simply don't want to deal with this shit, and centralization brings efficiency and management amongst many other things.
But nothing stops most of us in the free world from choosing an alternative root system. Other than the support cost of a minor config change in our OS or application software.
The difference between DNS and Facebook/Twitter is that DNS is regulated so that bad guys have to go through some kind of due process to shut down your domain. It's not perfect, but it's better than what else we've got.
DNS is really only optional for email, at least functionally. But I think a lot of people assume there can be no email without domain names.
Instead of another service that will essentially turn into DNS, I would propose just using DNS for naming. So if you're Tyler Durden you register tyler.durden.name and put an A record pointing to your DiSo server. Now you can switch providers while retaining your identity by just changing the A record.
The original BitTorrent client was the first to offer decentralized [...]
Is not the same as "from day one"Facebook is the opposite of this. I have no option to build my own site for facebook style networking. I have no option to subscribe to Google's implementation of a general social networking protocol.
Imagine if GMail only allowed you to send Google Mail(TM) to other @gmail.com addresses. Email's decentralization allows us to ignore the fact that other people may be reading on an iphone, yahoo mail, or emacs.
Decentralization isn't (only) for neckbeards. It's about giving users freedom to socialize with those who choose a different client. Isn't it bizarre that I use LinkedIn, you use Facebook, therefore we can't be friends?
First we build the decentralized social network, then I will decide if I want to social network with you via google, yahoo, or emacs.
What makes it all possible is NAT traversal. That is the fundamental problem being solved which takes us back to peer-to-peer and the orginal model of the internet. The rest is all just pre-configuration and UI.
The harder part, to me, is distributed trust in the discovery phase. Without a central authority it's really hard to ensure authenticity, fight spam, etc.
People commenting about this in lists and forums and blogs make the issue more complex than it is because they have all sorts of assumptions about how it has to work. But as Rob Pike says when you assume you put plum paste on your ass. "Discovery phase." This is nerd stuff.
Put all the nerd stuff aside for a moment. When you want to telephone someone, how to you handle the "discovery phase"? You look up the telephone number and place the call. Everyone does this the world over. Second, how many people do you actually telephone in your entire lifetime? Hundreds? Thousands? (Are you a telemarketer?) Third, how many of them are people you see face-to-face at some point? People do not normally call lots of anonymous people.
A telephone network. (Actually a system of regional networks.) Everyone has a number. You get their number and you make the call. But how? According to nerds on the web, this should be a complex problem with no easy solution. But millions of people, non-technical people, make telephone calls everyday.
To think the web equivalent of a telephone directory is an unsolvable problem is ridiculous. And to think that every person needs a directory with billions of names is similarly silly. They will only need a small subset.
Moreover, with modern storage capacities, you could store a billion names and numbers on a small device no problem. Searching billion row databases is quite fast, if you use the right software. But you will never even need to go that far.
AFAIK people do not change their telephone numbers very frequently. Certainly not on a whim. If they do change it, then they have to let others know. Somehow they manage this., even if they are non-tecnical. Of course if you keep changing your number you'll be harder to contact. This ic common sense. But why would you do that? Why would you need to keep changing your number? Get a number and stick to it.
If you think stuff like MobileIP is the solution to roaming then you need to keep looking at what's possible. There are simpler and more reliable ways to do it.
How many people do you call in a lifetime? Think about it.
If you're thinking 'p2p' as skype is 'p2p', then fine, a directory service is easy to build. You just set up a centralized service to handle lookup, collision disputes, spam fighting, etc. Then when the centralized registry decides it wants everyone to start using their real names, we're back to where we started.
Lastly, you're right that the average person only calls a handful of people. But this is not the 1970s phone network, this is the internet. It's a different communication medium with different rules. Your HN account was created one day ago and has no contact information. The chances I could call you up on the phone are basically zero, yet somehow we're having a conversation.
Not really. Directory lookup should use a standardized API so that when one directory service goes rouge, clients can just switch to another they trust.
I do think that it's essential for this to be standardized. Not only for this reason, but clients/hosts shouldn't be forced with the responsibility of indexing the entire social web themselves.
That is exactly the type of conceptual roadblock I was alluding to in my comment.
But if you look at what people, not just nerds, want to do over the internet a significant portion (perhaps even the majority) of it is the same old stuff they did in 1970's. Send person-to-person messages and make person-to-person telephone calls.
The new dimension is of course person-to-person video, and we now have more ubiquitous bandwidth to make this happen that we didn't have in the 1990's.
Whether you see possibilities or just impediments depends on how you define the problem.
If you define the problem as achieving some sort of perfectly anonymous communication, an anonyous interchange of bits, then you are outside of the problem I'm discussing. It may be a fascinating problem, but it is not one that interests me.
I'm talking about doing those same old things we were doing in the 1970's, with the same degree of privacy we had (absence of advertisements and senseless statistical analysis of every word we say for commercial purposes), using the internet.
Millions of people manage to call their friends and family despite the issues of "discovery phase" and "trust". Millions of people have a connetion to a telephone network despite the potential of "spam" (cold calling? telemarketing?)
Again, if you redefine the problem your own way++ you can argue endlessly against any sort of simple proposal, e.g. one that aims to make something we've all been doing since the 1970's easy, for everyone, not just nerds: connecting, directly, to people you know.+++ Facebook seems to revolve around the idea of communicating with people ("friends") you know in real life, not online acquaintences you have never met. Is that the reason it's popular? I don't know. And I don't really care. Even if there was no such thing as a "social network" (buzzword), I see a utility in being able to stay in contact with people I know in real life. I fail to see Facebook, which is roughly the real world equivalent of a megaphone, as being necessary to do that. Why do I have to route all by bits through Facebook's website? The answer is: I don't. And NAT traversal is the solution.
++ We need a way to have anonymous communication with strangers. As other commenters have said, that problem is for the cypherpunks.
+++ And I'm pretty sure this is how the very early internet was, before firewall mania and NAT. People had met the others they were connecting to in real life. Or, at least, they had their real life contact information and could pick up the phone and call them, or send them a letter.
RetroShare is afaik completely decentralized private social network. Although it's security design isn't as good as I would wish it to be. Good network uses PKI and all data being transferred or at rest is secured. This also means that service providers can't be held responsible.
Many decentralized plans allow still operators to soop in network parts which they're operating. If there's separate client, why not to make sure that system is secure?
I'm not thinking about peer-to-peer from an anonymous file sharing perspective. I'm thinking in much broader terms. But I know anonymous file sharing is what many projects have focused on.
You are right that many puported "peer-to-peer" solutions are not true p2p. Look hard and you'll usually find a middleman somewhere in the scheme. Of course as we all know many users are not really interested in how something works, just so long as it works. How many people really look hard at the scheme being used?
As for IPv6, I think it brings a lot of complexity. And where there is complexity, there will be problems. Working with IPv4 is complex enough as it is. I like IPv4 because it's more widely found. Not everyone will have access to IPv6.
In general this is a common misconception at HN and in similar circles: Gmail may be ubiquitous among the tech crowd, but it's far from clear that it's even in first place among webmail providers.
Because they have to. Don't set up a router? Don't get an internet connection. It's like how people manage to put their tax in.
The barrier for entry needs to be much, much lower than setting up a router, otherwise it'll just be passed over in favour of something else, like Facebook.
(This, though, like the internet, changes when you reach critical mass. Then barrier for entry can be higher without impacting uptake much.)
Wordpress.
A very important part of an interactive webpage is how it changes over time and with different inputs. Web developers have no trouble looking at some example widgets and imagining all the possible things a user could make them look like, but most people (might) have trouble doing that.
The same thing, I imagine, applies to running servers. I only know a bit about operating servers, but from my experience there is a complete, unremovable complexity that comes with having a powerful set of tools. Perhaps, we could remove almost all the configurability from the instant-server kit, but then why would you want to run your own?
Freedom. e.g. being allowed to use a pseudonym or post breastfeeding photos.
Your mom/sister/dad/cousin are going to use a service that allows them to post status updates, instead of just using Twitter. Just like your mom/sister/dad/cousin use Gmail for email, and not their own server.
Most people don't host their own email service, but most people do benefit from using email – and the best part of it is that there's no monolithic Email Inc. that could someday go bankrupt and bring everyone's emailing days to a close.
Plus, it's really just an advanced version of email. I mean, you could build a fancy social network on top of SMTP. And SMTP is decentralized, so I don't see any reason why this shouldn't work.
Regarding Diaspora, it seems that tent.io is starting with the protocol instead of the frontend, which seems more promising to me.
Did you try to install a recent Skype version? Download an executable, run, enter your login and password, and it just works.
Execution matters, you know.
If there was a system that acts like current centralized systems out there it wouldn't be a matter of it being hard. The technology is becoming easier and easier.
If presented properly, there is no reason a decentralized system couldn't attract normal people.
Facebook and Google make it appear that what you are using is actually on your system. That you control the information. Yet, the so called "small" price of that is you have to give away personal information to them.
With a system that is completely decentralized and secure and keeps people's privacy while being so easy to use that my Mother can use it w/out problem, centralized systems would be in danger.
So yes, the current way of doing things is for geeks. That will change with projects like Tent. Centralized services will ultimately fail simply because of the violations to peoples privacy are starting to really piss people off. Normal people. Like me.
If I want to share my music playlist with my friends, I should be able to do it. I also don't like being censored and watched, which is exactly what these systems do. Don't believe me? Search it. And if you don't mind that type of thing for convenience, then I'm not sure you understand freedom.
And by the way, those "neckbeards" are the ones who are going to set things straight. A decentralized system doesn't necessarily have "servers". Everyone will be their own type of server.
That's not the point. Those aren't the ones decentralization benefits. Decentralization will benefit other organizations, such government agencies, companies, non-profits, NGOs, etc. These organizations most likely have other services running on either their own infrastructure or they have some one else paid to host it. They benefit by retaining control of the namespace and ability to post a message without relying on a centralized service.
Diaspora has some similarities with Tent, but there are a lot of differences between Tent and Diaspora.
There is a reason we don't dispose of our own garbage. It's just worth paying some one else (plus efficiencies of scale). Infrastructure like social network is garbage. People don't wanna deal with it, don't care how it works, and are glad to externalize the cost. They just want their waste to magically disappear. Or, to maintain / increase their social status with friends and family.
The sweet spot both Tent and Diaspora are/were aiming for is one where most users use somebody else's service, but a few crazy neckbeards choose to self-host.
The neckbeards who actually care (often quite unreasonably) about privacy, etc, provide a very useful service to the ordinary users - they keep the central service(s) honest, ie, keep them from turning into Facebook. Because it's possible to escape, because the neckbeards keep that possibility open, the ordinary users are not captured.
At least, that's the theory. Diaspora didn't execute on it. Tent, well, we'll see.
Make it easy for people to participate casually, but also make sure that people can customize to their liking and exert full control over their own stuff if they wish to, without causing trouble to the rest of the network.
This is truly, exactly it. I don't expect my mother or friend to run a Tent server. But imagine Facebook were a Tent/Diaspora host. People would have left in DROVES by now if another, somewhat equal host could migrate their data in and provide better user respect.
I want to hack and work on my own ideas. That's why I trust my mail hosting to Google. Sure, they read all my emails and analyze me for marketing. That's a small price to pay though. I get a rad web client, Apple Mail + iPhone support, and never need to worry about my email server. Anyone remember qmailrocks.org? I used to sit for hours messing with and playing with qMail back in the day. I've done it. I've hosteed mail servers for friends and family. What a pain in the fucking ass!
Same for hosting. I love configuring infrastructure. I taught myself HAProxy, load balancing, nginx, and clustering years ago when people were still using mod_python. I built a FreeBSD box for fun with old parts an an old SSD the other weekend. I have quite a few linodes running right now. But it's also a pain in the ass. Because of that, I also enjoy pushing my personal site to Heroku and not worrying about it ever again. git push, boom done.
A lot of people take things like Facebook for granted. We all bitch and moan about all kinds of issues it has or features it lacks, but it's a gargantuous network that virtually everyone that I know or care to talk to is on it. My family and friends back home in LA where I grew up, my new friends in Sweden that I met while abroad recently. It's got a handy mobile app (that was luckily redeveloped recently) and best of all it's 100% free.
This decentralized stuff is nonsense. There's too many layers of crap. Even if there was a one-click-deploy social network for people where all they needed to do was rent a server somewhere... someone is still running that server and you need to worry about them snooping your data or whatever else the neckbeards are worried about.
Remember Diaspora? Hah.