How Not to Build a Social Media Platform

From Someone Who Failed


Let's start by talking about social media platforms as we have grown to accept them. These sites are a place for discussion, self-promotion, and meeting people and building community. Their place in our culture has been cemented. For many, these spaces are how people consume their news, the opinions related to that news, and both information and misinformation surrounding such events. They are how we keep in touch with our loved ones. Perhaps meet new loved ones. For those using them everyday, it seems difficult to imagine living without them.

Twitter has spawned many a spiteful love child vying to replace it. Using their original 2005 logo, because they deserve my spite, too.

Twitter has spawned many a spiteful love child vying to replace it. Using their original 2005 logo, because they deserve my spite, too.

I am not the first to point out the hidden costs of our social platforms. They are often provided free of charge. The hidden costs lay in the profit motivations and how these systems earn such profit. User-generated content, as these systems will often term it, creates profit in several invasive ways. They can supply advertisements inside the application which can often pose as legitimate posts from businesses or other personal accounts at a fee. They can sell the content of your posts along with your personal information to inform advertisers on your interests cross-referenced with demographics. They could possibly lock down features and hold captive your audience by charging you later after having incubated your interest while it was free. Of course, the companies themselves could be sold off which would include your content to the highest bidder. This also means the platform could shut down.

All of these can earn a buck for the company at the expense of your freely provided content. It is difficult to put a dollar amount on what this should cost and what your content should earn. I posit that this is a misleading way of approaching this. The problem is the invasiveness attached to an overwhelmingly useful mode of interaction. We want to communicate. We do find that more valuable than the costs. It is presumptuous to believe that people want to communicate in exactly this way. That is, globally, instantaneously, and/or highly visibly. However, people are not thinking about a dramatically different way to do things while using these existing services. Perhaps, this is also true about system designers.

Self-Hosted Federation

One solution is to provide a platform that is liberated from the control of companies and their profit motivations. Otherwise, the actual software apparatus is the same. Perhaps even designed as a purposefully identical facsimile to the corporate product. Here, such a system is designed toward its ability to migrate those from these existing spaces. A familiar interface and mode of communication is a nice design space since you already know it is useful and people like it. Why not rebuild it in the "By Us, For Us" tradition and have it community-operated.

StatusNet is the first relatively popular Twitter/Facebook decentralized clone.

StatusNet is the first relatively popular Twitter/Facebook decentralized clone.

From as far back as 2007, StatusNet (now GNU social) and its OStatus protocol revealed a path to a self-hosted platform (one anybody could legally run themselves, independently) that could still conventionally communicate with others. This style of communication is federation, which specifically allows accounts created on one system to collaboratively act on a network. I am "wilkie" on my own hosted StatusNet instance running on the machine next to me. I can post content that somebody on another such instance can read. People on a third instance can witness this and "like" it, which sends a notification to my machine. And so on. All while, since I own my machine, I own my content and its official representation.

Not being tied to a company agenda, outside of funding its own development, this allowed a somewhat as-promised libertarian view of self-ownership and operation. You can devise your own rules, moderate only as you wish, and still talk to and interact with others on systems similar to your own. Your use of the system is configurable and never impedes any other.

I helped build rstat.us in response to Twitter's growing influence in 2011.

I helped build rstat.us in response to Twitter's growing influence in 2011.

In March of 2011, a group called the Hackers of the Severed Hand, which includes myself, built rstat.us based on the OStatus protocol after rebelling against the Twitter Terms of Service changes related to ownership and advertising. The OStatus style federation was appealing as a technical means of solving this social problem of ownership. In a weekend, fueled by feta and eggplant pizza, we built the basic Twitter-like social media platform with a larger amount of text allowed, of course. Federation happened a short time later. Our goals were fairly simple. Just the basics. No frills. Therefore, easy to self-host. No advertisements, surveillance, or profit-oriented features. We hit 10,000 accounts within a few months.

Maintenance was impossible. Folks spoke a variety of languages that we could not read. There were no moderation tools and no time for us to moderate posts nor properly protect our patrons. At least we did not allow picture uploads. Phew. But it was clear that this was an impractical and unsafe endeavor, nonetheless. Painfully, it was also clear it did not offer anything new or useful to a community outside of ownership. It was difficult at the time to have people self-host (something I would say is easier to do today) and it was somewhat expensive to do at any decent scale (something still true).

After several dozen collaborators submitting code, and nearly 20,000 accounts, even with many of them active, even with groups using self-hosted instances to get around government blocks, we sunsetted rstat.us only after a couple of years. Simple can be an elusive enemy. You cannot solve the overall problem with a simple technical solution. You must build a system with the space to offer folks social solutions to their specific social problems.

In 2014, just over a year after rstat.us stalled, I joined the W3C Social Web Working Group to help devise a new standard intended to update and replace the OStatus and (its successor) pump.io protocols. Through this effort, the ActivityStream / ActivityPub protocols were standardized along with IndieWeb's Webmention standard.

While a member of this group, I advocated for moderation and flexibility in the protocols. My goals were to allow greater accessibility and range of possibility, while retaining sensible properties. I pushed, with the linked data / Solid folks, for RDF compatibility in order to enhance the processing of content and interoperability. I wanted encryption and proper messaging. I wanted, but probably meekly advocated for, strong privacy controls.

Yet, even then, I was not absolute in how it would all play out. Ultimately, RDF is ensured by ActivityPub's JSON-LD compatibility and most of the encryption features were shoved to possible Notes and not included or really advised in the specifications themselves. The idea being that they would be done as extensions. The IndieWeb folks cared only for self-hosted public solutions due to their insistence in low-tech methods. The StatusNet folks thought to our detriment that all we really needed was a strong standard for strong interoperability. The Linked-Data folks were just a little too academic to be taken seriously.

All in all, these protocols still focused on the idea of providing a rather public-facing decentralization of common social media content. That is, the systems that can be built with these basic blocks were truly no different than StatusNet. Just more efficient... and in JSON with much a far better (well, it exists!) schema for extensibility. They were more powerful systems without making any person on the system more powerful, nor protecting any person from somebody more powerful. You certainly could design the "proper" system. Just... nobody tells you that you should or exactly how.

Ay, There's The Rub

Today, we have a strong surge in the popularity of decentralized social networks. It really looks like they will actually stay. In the past, we would celebrate thousands transitioning to these spaces, yet we have millions participating in ActivityPub-fueled, self-hosted, federated Mastodon instances. Community-hosted servers popped up devoted to particular classes of folks interested in the same topics. Content was still rather public-facing. There is emphasis on discoverability of instances and the pollination of content.

Mastodon is a popular federated social media platform inspired by many of the others.

Mastodon is a popular federated social media platform inspired by many of the others.

Moderation controls were developed largely after-the-fact as the dark shadows rolled in. If anybody can run an instance, surely folks that you don't like will become your neighbor. Indeed, instances would pop up serving to folks with the shared interest of... say... neo-fascism, including complete "forks" of the Mastodon codebase which are practically impossible to control or prevent. In response, instances like that would be blocked by the vast majority of other instances. These blocks would be propagated and shared. Features would be added to aid in blocking known bad actors and servers throughout the network, tools for moderators to mass review and block content, timeouts for misbehaving accounts, etc.

What is the problem, here?

If you build a decentralized system correctly, it looks and acts like the centralized system it is based upon. If you build a decentralized Twitter, it will be, at best, a Twitter clone. That is, your goal in this design is not to leverage the decentralization, but to make it seem magical. Centralized Twitter is a monster. Decentralized Twitter is eventually a monster and at best a monster you have to repeatedly tame. The problem is that we are assuming we need to create a mass public communication space where everybody is connected to everybody else. (But make it decentralized!) This pursuit is a farce. In this mindset, we are just too libertarian to be anti-capitalist, if that really be our goal.

The Future, Perhaps

One trap we make when designing a decentralized system is accepting too quickly the idea that it must be widely and publicly used. We look at a centralized system like Twitter. We create a self-hosted version. Ok, well, your copy exists in a vacuum. You can only talk to yourself. Obviously, other servers should communicate with you and, so, what is the most obvious method of doing that. What do you know, you've designed a system that is open to the public and talks to everybody else.

Metcalfe's law considers how the value of a network is greater when there are more people using that network. Yet, is it still plainly true once we consider the aggregate value each participate has related to the effort to maintain and moderate that network? The technical value of a network is not the same as its social value.

Metcalfe's law considers how the value of a network is greater when there are more people using that network. Yet, is it still plainly true once we consider the aggregate value each participate has related to the effort to maintain and moderate that network? The technical value of a network is not the same as its social value.

We are misled by Metcalfe's Law, which states the value of a network is proportional to the square of the number of instances in that network. This is trivially true as each new participant in a system can interact with every existing one, exponentially increasing the power of communication within a network. It is often utilized both in favor of (all of your friends are on this!) and in critiquing (all of your enemies are using this!) the social systems we have been discussing. However, Metcalfe was only considering the power of networks proportional to their technical effort. Yes, one fax machine is useless until another person has a fax machine. And only valuable as long as the person you need to talk to has such a machine. Which is more true, obviously, as more machines exist. But, what about when your enemy has a fax machine? Now you have built a network where somebody can fax you their butt and you pay for the ink. Great achievement.

This law says nothing about the social value of a network. I offer the counterpoint that the value of a social network will decrease after a particular number of folks join the public network. A point that has visited me in the rstat.us days as the strain of moderation took hold. Only people who can muster and survive participating in that space can find value in its size as long as communication is largely public-facing. Something many vulnerable folks cannot and should not endure. We are ethically obligated to keep systems to a manageable scale, or not build them.

Misled belief in designing for and desiring large networks is a dramatic mistake we are continuously making. One specific design point aggrevated by scale is that social platforms are opt-out communication systems where you block others to sanitize your space. The more folks, the harder moderation at scale will be.

Let's look at design another way. The original forms of telephony were slightly and necessarily decentralized. They involved a (occassionally comical) complicated set of relays to route messages from one person to another. Yet, people at the time were using this system to talk to others very effectively. Conversations were mostly, and increasingly over time, private. You could block single numbers from trying to call you, but most people could not hear you anyway. If you wanted to make a widely-seen message, you would issue a notice in a newspaper. Even in that instance, you can target a specific community. These are both opt-in. It is very obvious who you are talking to, who can hear you, and reasonable to assume who cannot. Different modes of communication required different and deliberate effort.

What we have now in social media systems is not a better telephone. It is an incredibly haphazard newspaper where everybody can write an article, and where everybody chooses what is on their front page. It amazes me, when thinking about it as a whole, that we have migrated to such a medium for practically all of our engagement! It is rather horrifying, personally. Particularly imagining children interacting with the world and each other in this way having never done so in any other.

I posit we do need decentalized and self-hosted systems for exactly the reasons the current efforts are such motivated. However, we need to ignore the popular social media systems in our designs. We need opt-in systems of communication. These are private by default. You do talk to a vacuum at first. You meet others by indirect but more personal means and add them. All messages and posts are encrypted and directed posts and replies are encouraged to be private to only the parties involved. Public posts can exist, but are only for in-system modes of discovery: introductions, biographies, and self-promotion, but they are undervalued and even possibly initially missing in the design. In their stead, we join small communities for niche posting, much like the community-driven efforts of Mastondon instances. These posts exist within and only within that pocket of the universe. We antagonize reposting the content of others outside of their specified desires. This is an inversion of the priorities present in many if not most current efforts.

These systems are community or individually owned and operated. Their scale is purposefully small. Moderation, therefore, is scaled as well. You see what you see. People hear what you want them to hear. That's the path moving forward. Sometimes you just have to start walking upside-down.

Tags

programming, programming/ethics, social

Comments

If you'd like to comment, just send me an email at wilkie@xomb.org or on either Twitter or via my Mastodon profile. I would love to hear from you! Any opinions, criticism, etc are welcome.

Donations

If you'd like to make a donation, I don't know what is best for that. Let me know.

Copyright

All content off of this domain, unless otherwise noted or linked from a different domain, is licensed as CC0