The role of roles

Kobe Albright
Valour App
Published in
3 min readFeb 18, 2021
Early role creation model

In a community, roles are the structural building blocks used to distinguish the positions of members. In reality, most communities would not function without roles — even the most relaxed of communities when it comes to moderation, such as 4chan, keep staff powers for a select few to keep the platform moving.

When it comes to small or niche communities, roles can be essential to their very purpose. On SpookVooper, my personal community, during our Discord days roles allowed us to separate out channels based on interest and status. It would be extremely challenging to run a mock Senate in a place where just anyone could talk.

The issue I find with most role-based systems today is a lack of granularity in the most common use cases they hold: Moderation. While roles can explicitly deny access to parts of communities on other platforms, the closest one gets to true control is the idea of a slow mode. While useful, many communities could benefit from more.

An idea such as maximum message length, or mention timeouts, would be invaluable to communities. Just the last idea there would save many communities from the nightmare of spammers showering members in phony notifications. While these ideas seem trivial, it’s almost shocking that such small and powerful features simply do not exist in current solutions.

How easy would such a feature be to implement?

public uint Ping_Timeout { get; set; } // Throw this in role class

Granted, we would have to take a few steps to actually ensure this ping timeout is not broken. Servers would need to track the last ping a user submitted as a timestamp, and then perform an utterly complex

if (DateTime.Now.Subtract(message.Time).ToSeconds() < member.GetMainRole().Ping_Timeout)    // Do something to cancel
}

Now, that before was sarcasm. This pseudocode took a few moments to write — so why do normal platforms lack such simple features that would prevent raids and headaches for owners and staff?

I’d say it’s a simple answer: Disconnect between management and community owners.

When designing Valour, the question of features has been taken from the position of a community-owner: What did I need, and how did other platforms fail me? What were the most frustrating parts of running a community? These questions are easy to answer for me.

That time I woke up at 3AM to a hundred messages saying that a rogue spammer was pinging hundreds of users repeatedly? That takes a spot.

Having to manually keep track of bans and use bots to perform something as simple as a temporary ban? That takes a spot.

It’s not like these issues aren’t put in a spotlight, either. Platform subreddits constantly beg for simple features like these and shout at the sky with their personal experiences. The sad truth is that a billion dollar company simply has too much red tape on development, and too little care for small communities.

The real issue these oversights cause is a real burden where you would least expect it — trust and safety. If basic role features prevented most raiding activity, the amount of reports would drop drastically and allow for more manual reviews and assistance for real issues on platforms. These companies should be accounting for this, but it would appear that it’s far easier to take a back seat and say it’s good enough.

Enough is enough, however. Valour may currently be in a pre-pre (yes, that is two “pre”s) Alpha state, but we are looking from the ground up on what tools are needed for the most comfortable community experience. And not only that, but designing the systems in a way that are highly extendable.

At the end of the day, to most platforms, a few extra bits and lines of code aren’t worth reducing your stress and the incidents in your community.

And it’s time for that to change.

--

--

Kobe Albright
Valour App

I’m a developer and Youtuber tired of the heavy-handed and controlling approach of silicon valley.