Every now and then, the “why hasn’t decentralized social networking succeeded” discussion pops back up. And inevitably, that motivates somebody who thinks they can do better. They proceed to design a new set of decentralized networking protocols, write lots of code, and get early adopters to enthusiastically adopt the New Thing. Which then, inevitably, never grows beyond a certain size.
Rinse and repeat.
How many times has that now happened? And keeps happening?
Has anybody considered that perhaps the protocols weren’t the problem? Or whether the code was written in one language or another, or did or didn’t use HTML5 or other cool new tech?
The problem — and it is the same problem that is never being addressed — is that your decentralized social networking app doesn’t actually solve any of your users problems that haven’t already been solved! And often fails to solve problems that the centralized guys have solved and that their users depend on.
For example: Mastodon lets me tweet, like Twitter. It gives me more characters, but meh, most Tweets are short anyway, and Twitter can raise the limit any time they want. So that’s not a compelling feature. What else does it do for me? Having @email@example.com as an identifier sounds cool, but is actually harder to use than Twitter’s @foobar. Finding somebody on Mastodon is largely impossible unless you get an introduction. Trending cannot be implemented at all … I don’t mean to pick on Mastodon specifically, but it’s the latest whose growth is disappointing. And IMHO, from the perspective of solving user problems, Mastodon does less well than Twitter for the vast majority of users.
So: decentralized social networking will never amount to anything unless it solves at least one real, burning problem much better than the centralized alternatives.
Bonus points: find a problem to solve that is easy to solve in a decentralized fashion, and hard, or impossible to solve in a centralized fashion. (Just like Twitter trending, just reverse.) And all of a sudden, you have something that has an actual reason for being used. “I use XYZ, because it solves my problem ABC much better than Twitter.” Sorry, “I want it to be decentralized” does not count as a problem.
The problems that do qualify most likely are all problems in a “vertical”, i.e. they apply to a (perhaps small) subset of all potential social networking users. Which is why a lot of the decentralized tech people never look for them: many of them simply want to write cool decentralized code, hoping that billions will pick it up. The don’t want to understand a vertical market inside out so they can come up with a killer solution for the problems in that vertical, which just happens to use decentralized tech underneath. But unless that happens, decentralized social networking, sorry, simply won’t happen.
Once you solve one problem in one vertical really well, you can look for the next problem in some other vertical. And solve that, as part of your product. And eventually, you can go broad and perhaps decentralized social networking does reach billions of users. But it is long, hard work. No more easy pickings such as the ones found by Facebook and Twitter at the time.
To use a specific example, here’s a problem worth solving with decentralized social networking-style technology that occurred to me last night. It is a real problem with real time savings and other important benefits attached. (Note: you could actually get people to pay for social networking! What an idea!)
Imagine you are the “resposible adult” who takes care of an elderly relative, or a child, with a complex, chronic disease. You are probably middle-aged, female, family-minded, and have your hands full. Other than juggling your family and your job, you also need to find the right specialists for young Bob, organize rides to and from treatment, get second options, research conditions, get prescriptions filled, supervise that Bob actually takes them on time, keep all the other relatives updated, draft them for particular task (“can you take him to the physical therapist on Tuesday”), listen in to some on-line self-help groups, being a Mom of course etc. etc.
At the heart of all of these very time-consuming and stressful activities is communication, and bidirectional data sharing between a “network” of individuals. Which we could call a “social network”. But it is very different from what’s on Twitter:
First of all, all the info here is default-private. No, you do not want to publish to the world that you are overwhelmed and really need Bob’s uncles and aunts to take up some of the work, even if Bob is your kid. Or that Bob had an “accident” yesterday that’s really not normal for his age. Or the details of the latest lab tests back from the specialist.
It’s also not a hang-out-with-the-cool-kids thing like Facebook and Twitter, but a productivity tool. The app would provide specific functionality for this exact problem, such as, for example:
Now this is all off the top of my head, and I’m sure a product could be much better than what I outlined here. But I can easily imagine that such an app would save our harried mom half hour or an hour of work every week. Would she pay a few tens of dollars, with medical bills routinely in the thousands? Duh …
I also happen to think that if somebody built this product in a centralized fashion, say “HelpForHarriedMoms.com”, adoption would be low. What happens within this social network is too personal and too private, too close to our hearts, to hand over to other people. But if it was decentralized instead, running, for example, on a home server, that’d be different. So this is an example where decentralization has actual, tangible benefits for the user.
How many users could it reach? A few million, perhaps. The next few million would have to come from solving additional problems faced by additional users in a different vertical. (Collaborative research, for example.) But this kind of product would have immense staying power, because it solves some very specific problems extremely well, and be profitable for its developers, which is also very important for sustainability.
In summary: we have plenty (too many, in fact) protocols suitable for decentralized social networking, so just pick something and otherwise forget about them. What we don’t have is people getting their hands dirty understanding and then solving actual customer problems in specific verticals. What are you waiting for? :-)
P.S: What I discuss here is, of course, nothing else than Geoff Moore’s famous “Crossing the Chasm“. If you haven’t read that book and you wonder about lack of broad adoption of some tech or other, stop what you are doing and and do nothing else until you have worked yourself through that book.