How to build a new Facebook
So I’ve been thinking about this problem. #deleteFacebook. There’s a simpler way. And a better way. It’s probably worth a lot. And someone should write it. It needs fleshing out, but here’s roughly how it would work.
Let’s start with the problem. At its core the issue is quite simple. Facebook is Big Brother. It’s a central database. It owns everyone’s information. That is a fundamental problem. And a huge problem. No entity that has this kind of information can ever be trusted. And no tweak or fix will work. But, it must be admitted that FB has many benefits. Rather than list them here, in short: you can stay in touch with a wide array of friends, and friends of friends. And you can ‘see what’s going on’. With all the benefits and disadvantages of that (and there are a few of the latter, as there are in social life).
A distributed, peer-to-peer social network
So here’s the idea. Build a social network based on peer-to-peer technology*. Every user keeps their own data themselves in their own private cloud service (e.g. iCloud, Dropbox, or whatever service they use, or even on their own device). And have their client (the App) ‘talk’ and connect to other clients that are ‘on-line’ of friends they are aware of. Those clients in turn can talk to other clients and thus establish in ‘real time’ a social network for the user. But importantly in this arrangement the user keeps complete control. Their data stays in their cloud. Their contacts are their’s and these App/client exchanges data with other user’s clients when on-line in a peer-to-peer sense.
This system and approach offers the vast majority of the functionality that FB does today. The functionality that people value, e.g. the news feed, sharing of updates, sharing of pictures, etc. But it would also allow users complete control – as their data stays with them. When online their network is established and ‘live’**. When off-line they are completely disconnected. A user could decide in real time and at any moment what to share and what to see. In essence what’s being described is like a large virtual cocktail party, with your App standing in for you. And the room spanning your entire contact list, and their contact list, and theirs***.
Implementing this program is not particularly complicated. It’s probably an interesting summer vacation project. The App can be built using pretty easy coding, and on top of existing cloud storage and peer-to-peer protocols. The key for this to work well is not technical. It will be however important to achieve network ‘economies’ of scale quickly.
These network economies of scale can be established in two ways. Firstly, the App when initially set up should guide you through deauthorising your FB account. In the process, your data from FB that you value can be imported: the friends list and the photographs basically. Deauthorising is an involved step which many people can’t navigate through. And FB makes it hard because it threatens their business. So this App can help there. Once it’s imported your friends list and relevant data, it can simply send out invites to your friends (under your control) inviting them to this new network.
Secondly, the client App can be left on running in the background (persistently), keeping your network live, or switched off, as any given user desires. It would, obviously, offer the same features to post news to ones newsfeed (which is only public when you’re on-line) and messaging. And it’s completely under the users ownership and control.
What’s described is simple. It offers the benefits of FB. And it does away with Big Brother. Whoever does this first and manages such a land grab to get scale, with a compelling application, stands to do the world a big favor. There are also multiple business models that can be wrapped around this. On the other hand, it’s so simple to write — and a commercial model may be an impediment to uptake — it should probably be under the GNU license, with an open protocol for the client-to-client communications.
So there it is. A New Facebook. A true service that replaces this naive corporation. It puts the benefits of social networking back into users hands and under individual controls. That’s where it belongs.
- Carl J. Harris
* For those old enough to remember this, the architecture described is not new, it resembles the old Fidonet from the 1980s, or even, dare I say it, Napster. The App ‘talks to’ other Apps on-line by other users in the given users own directory. And it’s only aware of them. It would be significantly easier to write these days given all the components above exist as modules and APIs.
** It’s perhaps worth mentioning that such an arrangement wouldn’t have been practical back in 2002–3 when FB was developed because the clients weren’t on-line frequently enough, so a central database was necessary for the network to hit critical mass of ‘persistent’ content/users. With connectivity today, that is no longer the case as most users are on-line most of the time, the data can be kept in their client. There is no need for a centralized database at all.
*** The depth of connections which the App ‘sees into’ and your App allows others to see into would be under your control.