The perfect social network
What do most people want in a social network? We all have different ideas, but is it possible to have a set of features that makes everyone happy? We think so!
This is the Peergos list of user-focused requirements for the Perfect Social Network:
- Sharing media of any size with any number of people, including "the public".
- Universal login - logging in on any device (even when all devices have been lost).
- Unique usernames (human-memorable).
- Location-independent identity - users should be able to change hosting provider without losing data or friends.
- Offline functionality - the ability for many functions to continue to work offline.
- Private data - the users decide who sees their posts, and the platform, as well as any server operators, can’t access them.
- Private metadata (including the social graph - who connects with whom and when).
- Post-quantum (safe if a large quantum computer is built).
- Free from targetted ads, or an engagement/outrage-optimised algorithmic feed.
- Fine grained access control - the user can restrict visibility of individual posts.
- The ability to delete or modify data.
- Self-hostable - for those who want more control, whilst still interacting with everyone else.
So why do we think these points are important?
They fall into three broad categories: convenience, privacy and control.
This one’s critical - if something isn't convenient, then most people won't use it. But what do we mean by convenience?
For instance, we are used to having unique usernames on services like email, Twitter, Instagram etc. This enables everyone to unambiguously find friends via a human-memorable name; it also gives an entry point to log in from anywhere. At the moment, many architectures rely on generating keys on each device, and require an existing device to authorise a new one (e.g. Signal). However, this means you cannot log in if you lose all your devices.
How many times have you switched email addresses and had to tell all your contacts about it? A location-independent identity means that we are free to choose where our data is stored, and move providers without any loss of data and whilst maintaining our full social graph.
Can we still do anything if the internet is down? Is it possible to search old messages or write new posts without internet access? Most folks would love a social network with offline functionality.
Finally, sharing large files. Unfortunately, this requirement rules out a lot of currently available architectures: in some popular social networks, sharing a 4 GB file with friends entails storing 4 GB on all their devices – and in append-only structures (i.e. ones you can only add to, never remove from) these files can't even be deleted!
Privacy is a fundamental human right, and the best way to protect it online is with end-to-end encryption of all data. Beyond that, to maintain freedom of association, we need to also safeguard metadata, in particular the social graph – i.e. not only protect what you send, but also what size, to whom and when. The need for full protection rules out protocols that expose lots of data and metadata to both the server administrators and the rest of the network (e.g. ActivityPub).
Privacy isn't very good if it is temporary. Given the possibility of a large quantum computer being built, it is important for any privacy-focused protocol to plan for it.
Many users would like more control over their data online, especially in social networks – and control comes in different flavours.
Control over your own social feed means that you cannot be manipulated by the platform or its advertisers (as seen in recent elections!). Ideally this is not just a promise by the network operator, but a property enforced by design.
Fine-grained access control allows users to do what they do naturally in life – control the flow of their information, whether it's private communication with a friend, or keeping work, family and friends separate.
Control over modifying or deleting data allows us to be, well, human. People frequently make mistakes and might want to modify something, or simply clear up some space.
And for those who want Even More Control, the system must be self-hostable. This also keeps the platform honest - a non-self-hostable (centralized) platform can do whatever it wants, and users have no choice but to accept any changes or leave the network entirely. To allow for self-hosting, the platform should be fully open source, including any server code.
At Peergos, we already tick the above boxes, except offline functionality and post-quantum – both of which are partial ticks and in progress. Currently we look more like a global social file system, but we will be adding a more traditional social feed in the future. Watch this space for more progress reports!
Do you agree with our list? What is YOUR perfect social network like? Tweet us at @peergos with your ideas!