Home | 2014-09-29 | (c)2014 James Hudson

Picture of cityscape

Tweet Follow @JamesSHudson RSS Feed

Why there is no Facebook killer: the death of the P2P dream

This post doesn't have anything to do with running a business (except perhaps which startup ideas to avoid), but it's something lots of people seem interested in discussing.

With the recent buzz about Ello (and signs of its imminent implosion), I started thinking about how to make a revolutionary social network - one in which user data was distributed and didn't rely on a centralised server. Imagine if the messages and photos you shared with your friends only lived on their phones or computers, and not in some server being scrutinised by security agencies, used for targeting ads, or at risk of being hacked.

Services like BitTorrent and Skype can work in this way: your computer talks directly to other people's computers to share data. It's called Peer-to-Peer communication, or P2P. The technology is complex, but it works great for sharing large files on BitTorrent. I'm already running a P2P network for 50 artists. So why isn't there already a "SkypeBook", where your status updates and photos are shared via P2P?

Why P2P doesn't make sense in the mobile world

Because even Skype doesn't work this way any more. Skype's technology is 10 years old. In that time, we've seen the advent of "cloud" computing, and the plummeting cost of bandwidth. We've seen mobile internet go from being an expensive curiosity to being ubiquitous. We've seen popular computing move from the desktop into people's pockets. We've seen the scattering of companies which survived the .com bust coalesce into behemoths with endless kilometres of server racks.

What does this mean for P2P technology? The internet has changed from a mesh of small interconnected nodes, which every user was potentailly an equal part of, into huge pipelines designed to funnel Facebook and Google into your smartphone. P2P just isn't practical in a world where desktop computing is becoming a niche activity.

I'll keep using Skype as an example, as they are arguably the most successful P2P company, and have some of the most advanced technology in this area.

One reason why Skype changed over to a traditional server setup was the rise of mobile computing. Your 3G connection isn't like your home ADSL or cable internet connection - it is designed for browsing web pages and downloading data off big servers, not serving up content to the whole world, like a mini version of a Facebook or Instagram server. It's very difficult, inefficient, and unreliable for your phone to serve out data to all-comers: it's a one-way street. This is for excellent security, profit, and efficiency reasons. If both phones are on 3G, there is no reliable way for them to find and communicate directly with each other on the web.

How to fake P2P

Whenever "true" P2P communication is difficult or impossible, Skype and other services can cheat to establish a connection. This is quite complicated, so I'll leave out the details, but you can google "NAT traversal". Basically, Skype can take over your desktop and turn it into a mini-server, doing everything up to relaying voice traffic from strangers' mobile conversations. This relies on lots of people leaving Skype running on their desktop computers. These days, there just aren't enough desktops for the number of mobile internet users out there, so P2P is slow and drops out. A social network that can't run on mobile devices is useless.

You can prop up this hacked-together system with dedicated servers, but servers cost money. Getting money means charging a subscription, or targeted advertising. Personally, I'm not willing to pay money to see pictures of your food.

I expect excellent, reliable service. A huge server farm can guarantee this, and it represents excellent value through economy of scale.

If you see a mobile app advertising itself as P2P (unless it is FireChat using an ad-hoc local mesh network to connect to someone nearby), somewhere there will be a server farm. Somewhere, someone is paying the piper.

Encrypting everything at your end

What about encrypting all your content so only your friends could read it, and our Facebook-killer only gets scrambled data to store? Setup a Facebook ad account, just for the experience of stepping outside the zoo and into the control room. You'll see that Facebook is simply a cage to hold and study us monkeys while we are being fed ads. These ads are targeted based on an analysis of our activity on Facebook. This scarily accurate extraction of our personality and needs is advertising gold, and advertisers will pay a lot more for it. Without Facebook being able to strain and process our personal data, they would have less money, need to show more ads, and some other service that did this would offer better value for money to the end user. So nobody will do this on a large scale.

Trying to swim against the global tides of history

Since the iPhone, hardware manufacturers (Apple), operators (T Mobile, O2, Telstra, etc.), and services (Google, Facebook) have invested in the idea of mobile devices being a media consumption platform, not a mini server rack for hackers, pirates, and data libertarians. For this to change any time soon would mean changes to hardware, cell phone towers, and operating systems. It's not completely impossible to work around this, but why try to build a car out of cardboard when metal is cheap and plentiful, and users have the expectation that their cars won't go soggy in the rain?

This is why we don't have a Facebook killer, and why we won't, until some new Promethean technology drops from the sky. Anything that purports to be this will end up going down the same path as Facebook as it scales up. We might get a "better" Facebook, but it will still be a Facebook.

Please write to me if you think I've missed something. But think it through - I've heard every technical suggestion so far. I'd love to be wrong about this, but the fact is, you just can't hack everyone's normal 3G connected iPhone to become a server. Unless you are playing the hacking-themed videogame "Watchdogs".

Tweet Follow @JamesSHudson RSS Feed


It's Monday morning, but I don't have to go to work. Ever again.
Become a Part-Time Superhuman: Work a 4-Hour-Day
Adequate is better than more: your life as the perfect kitchen
This is the Sales Manual you should have been given at graduation
I'll build your app to help you become independent. For free.
Why there is no Facebook killer: the death of the P2P dream
How to become a freelancer in Berlin: the tricks and the traps
How to write a proposal they can't refuse
Programming basics for everyone: how to try coding right now, and why you need to.
Poledancing versus programming: break away from your business and run it remotely.


Needless to say, this blog isn't financial or legal advice, an excuse for getting fired, or promising that any of these ideas will work for you. The companies or people I mention may not agree with my opinions here. Don't do anything reckless, damaging or hurtful to anyone! In the future you might need your bridges unburnt.