Rethinking Social Media

December 05, 2020


The harmful effects of the algorithms employed by social networking platforms like Twitter and Facebook has been well documented: polarisation, privacy issues, you name it. Even though I share a lot of these concerns between all the petty tribalism there is potential for having deep and meaningful conversations too. But I do not think it is possible to improve existing social networks, as even though these networks are not inherently evil they are a result of a bad business model. Their main objective is maximising user engagement the more time you spend glued to your screen the better. With this model at the core it is hard for these companies to implement change. In certain cases taking initiatives for improving the mental well being of users or for promoting productive discourse might be impractical too. The quality of the experience is secondary to the screen time.

The solution in my opinion is to build networks with strong core values that promote productive conversations. Start with a small community with a solid foundation then gradually expand keeping the values intact. What would such a network look like? Well like anything great it will have to take what is good about its predecessors and improve on their shortcomings. The improvements should be significant so as to provide a reason for people to actually switch. But improvements is a vague term to see how social networks can be improved I think it is better to analyse and think about the components that make up these networks from first principles.


If we have learned anything from Parler it is that sometimes it becomes necessary to infringe upon people’s free speech rights especially when these privileges come at the cost of civilised discourse. Still banning people is a slippery slope for example if you ban a terrorist account then what do you do when China asks you to ban accounts of Hong Kong protesters? You have given them the precedent. I think the solution is to have strict moderation but with strong foundational principles and make them clear early on. A good strategy is to only censor people if they are disrespecting other people not when they are expressing their opinions or ideas. Even if you think that the earth is not flat you should let other people talk it out if they are being civil about it.

If you look at communities like Hacker News, Stack Overflow, or the Ask Historians subreddit where the moderators rule with an iron hand you can notice that the posts and comments in these forums are of much higher quality. But still it is anecdotal evidence and these communities are small when you compare them to giants like Facebook and Twitter. Also how would you moderate millions of post? Even if it was possible for human to do it can you rely on them to look at these posts objectively and report them only if they violate the guidelines? I believe if you start a community with strong core values it is possible to motivate people with a little bit of algorithm ingenuity to act in good faith.


Feeds and Algorithms are inextricably linked, feeds serve content curated by algorithms. Feeds can be finite or infinite providing an endless stream of posts and the algorithms used by these can range from simple algorithms that serve posts in chronological order to relatively complex machine learning based recommender systems. Most of the big platforms nowadays use recommender systems coupled with infinite feeds. It can get really messy if a single feed is used to serve both recommended content and the content that the user is subscribed to. YouTube is a good example of this even though they have great recommendations the content that the user has actually subscribed to gets lost in the feed of recommended videos. You might argue that they have a different feed for subscriptions but its not the one they show first when the user enters their app/website and that is the one that actually counts.

For our ideal social network I think it will be better to use two different feed one main finite feed solely for the subscribed/followed content and one infinite feed that recommends content based on the the interests of the user. For the subscription feed I do not think a purely chronological algorithm will work as a post about an important event like a friend’s birthday might get trapped between relatively trivial posts but between the posts of similar importance chronological information can be taken into account. A more complex algorithm will be required for the recommendation feed I will talk about it more in the monetisation section. The goal of the feeds should be to maximise signal from noise and not waste the time of its users.


Advertising is a bad and unsustainable business model for social networks, if your main source of revenue are advertisements you will be incentivised to increase user engagement and sometimes even at the cost of the actual experience. The best business model for social networks I think is the Wikipedia model. Ask people who can afford to to pay a nominal subscription to keep the servers running. The success of the company will actually depend how happy its users are with the platform.

You might have noticed that I have used vague terms like ‘algorithmic ingenuity’ and statements like ‘build a system that recommends people posts based on their interests’ without mentioning the specifics of the algorithm that is because I do not know and when it comes to moderation algorithms neither does Twitter. Learning based algorithms are not completely transparent and it is difficult to predict what they are going to do and it becomes even more difficult to come up with good algorithms when the goals of the networks are misaligned with the public good. What my argument is that in social networks that do not depend on advertising money engineers will be actually motivated to come up with better algorithms for moderation and recommendation.

Interface and Posts

The whole social network revolves around posts these are the primary content that people use to interact with their subscribers/followers. For Twitter these are limited length messages, for Quora these are questions, for Instagram images, for YouTube videos, etc. The format of these posts is important. They can be designed such that people come up with clever ways to use them (example tweets) and they can also be designed in a more restrictive way such that people struggle to get across what they mean (example tweets).

The ideal post in my opinion is a mixture of these two we could allow people to post both a restricted length post and a full fledged article but nothing in between this leaves space for creativity and does not hamper conversation. An option could be given to the users to sort their feed by articles, shorter posts or both. And instead of like and dislike buttons we can use recommend and not recommend buttons the functions might be same but change in name might help people make conscious decision about whether they want similar content recommended to them or not.

Another way we can improve conversations I think is by giving people a small break between writing a post and actually posting it. This might seem counter-intuitive but I think if given a chance to reflect on things people generally take right decisions and it can also give them time to calm down so that they do not engage in pointless name calling. We can implement it by an optional 15 seconds timer which is enabled by default.


The goal of the post is to start a conversation about what an ideal social network might look like. But these are just abstract ideas and musings there is no evidence a social networks like this will be successful but instead of conjecturing about whether things will work or not it is better to try to implement it and see for yourself. In that spirit I am going to try to implement a social network based on these principles. But I am a lone programmer and I need help if some part of my post resonated with you and you think that implementing such a network is worth a try contact me at and maybe we could team up.