Run your own social
July 8, 2019 11:47 AM   Subscribe

How to run a small social network site for your friends by Darius Kazemi, 2018-2019 Mozilla Fellow
This document exists to lay out some general principles of running a small social network site that have worked for me. These principles are related to community building more than they are related to specific technologies. This is because the big problems with social network sites are not technical: the problems are social problems related to things like policy, values, and power.

Darius Kazemi makes neat internet art, if you've seen a weird Twitter bot out in the wild odds are pretty good it's his (or Nora Reed's, where credit is due). He's also the founder of NaNoGenMo (National Novel Generation Month) and has aggregated a fantastic dataset in Corpora.
Notable previouslies: 1, 2
posted by CrystalDave (23 comments total) 84 users marked this as a favorite
 
Heck yeah, Darius.
posted by cortex at 12:01 PM on July 8, 2019 [3 favorites]


Very nice. Hopefully security will be very strong and built in from the get-go.
posted by senor biggles at 12:05 PM on July 8, 2019


Fantastic. Though this is for small, home-grown social sites, a lot of the take-aways are terrific guidelines for community moderation for any site.
posted by xingcat at 12:09 PM on July 8, 2019


I am just skimming this because I should be going out to do laundry right now but I am definitely liking a lot of what this guy has to say. His thoughts about it being a good idea to keep his Mastodon instance relatively small really jibes with my experience running dragon.style and watching the larger instances have Problems.
posted by egypturnash at 12:18 PM on July 8, 2019 [1 favorite]


Slack is another great tool for small communities; the restrictions on the free level aren't such a big deal for a small social group. But you don't have many of the customizability advantages Darius talks about here, Slack's pretty much the product it is. And it doesn't have great tools for moderation or community management, so it only works for a community that doesn't need a heavy hand running it. But given those limitations it's pretty good. Discord is too and has the advantage of being intended to be used as social media, it's not repurposed groupware for offices.
posted by Nelson at 12:21 PM on July 8, 2019 [1 favorite]


Friend Camp costs about $30 a month to run, it experiences about 10 minutes of down time each week, and it takes about 2 hours a week of my own time to maintain.

That's not excessive - if someone in your group has $360/year to put toward it, and the technical skills and spare time to maintain it. But it's a big part of why people are attached to the large corporate sites.

I think a good CoC should be specific enough that it is actively repulsive to some people. And frankly, the more people who are repulsed by it the better.

The code-of-conduct section is wonderful. And I love the section about scaling, and the lack of need for it: if you're running a server for 30-50 people who all know each other, you may need to scale to 75 at some point, but you don't need solutions that work for 5000. You can require that every new user be approved by a moderator, because there just aren't ever going to be too many for one mod to keep up with.
posted by ErisLordFreedom at 12:24 PM on July 8, 2019 [4 favorites]


In particular, the "future" feature concepts involving neighborhoods described at the end of the primary article get me thinking of Dunbar's Number.
I've had repeated shower thoughts around how to structure small self-deployable/hosted social networks, and this idea is one I have often focused on.
posted by bastionofsanity at 12:36 PM on July 8, 2019 [6 favorites]


This is a great article but it touches on so many topics that I want to draw attention to two points he brings up later on: there's no way to migrate your identity (or merge identities, which would work as well) across instances, and there's no easy way to fork or split an instance as it grows. For me these are key weaknesses of the fediverse. Right now, when somebody moves to a new instance, the only real mechanism they have for making other people aware of it is a toot. You miss that toot, you effectively lose contact with that person. This adds a lot of migration friction, and so you end up with a half million or whatever mastodon dot social accounts that might self-organize into smaller communities but don't really know how without breaking their networks. I'm not sure if this problem is even solvable within the framework of activitypub/mastodon.

(Darius also wrote an excellent guide to learning about activitypub. It doesn't teach you about activitypub; it explains which documents to read first to start making sense of activitypub. It's one of those protocols.)
posted by phooky at 1:13 PM on July 8, 2019 [4 favorites]


This makes me think of recent conversations with friends about where we should all move to better survive the climate crisis.

The first few said "Detroit." (Cheap land! Plentiful Great Lakes water!) But then each of the other friends we want to come along with us are going to want their own other circles of friends to come, too, and they're going to want the same, and so on and so on, so pretty soon we're talking about moving tens of thousands of people to the same place together.

Is it possible to start a small, general interest social networking site and have it survive and thrive without eventually getting enormous...?
posted by PhineasGage at 1:14 PM on July 8, 2019 [1 favorite]


Relevant XKCD: Sharing Options

I love the "Neighborhood" option, involving entire communities that have to agree to allow a new community in. It's what's missing from most (all?) current social media sites: a "share this with" option that's bigger than "my hand-selected group of followers" but smaller than "everyone on earth who has an internet account."
posted by ErisLordFreedom at 1:22 PM on July 8, 2019 [1 favorite]


I've been thinking of starting a personal social site, just for friends & acquaintances. Kind of like a dinner party that never ends. Nothing would be public, and people would have to opt into communicating with each other over DMs. That would obviously be reversible. Identities would not be federated and would be non-transferrable, like MeFi accounts. I wouldn't invite anyone I didn't already know very well, or at least well enough to know they weren't horrible. Kind of a BBS-style model rather than Mastodon / FB / etc.
posted by grumpybear69 at 1:54 PM on July 8, 2019 [1 favorite]


Or, you could come join us on Dreamwidth...
posted by fings at 2:02 PM on July 8, 2019 [5 favorites]


I’m also part of a small community with <100 active users. It’s Discourse based, has a handful of mods, and generally works because there’s at most 2 degrees of separation between any two users.

I like a few of Darius’ tips, especially around the introduction ritual and invitation to participate in certain events. Also 100% behind the non-free speech philosophy- many of the problems we’ve had there (and here on MeFi) are someone thinking they have the right to be listened to, not criticised, or not offended.
posted by a halcyon day at 2:35 PM on July 8, 2019 [2 favorites]


I've built and run communities professionally and can attest to this being a lot of great advise.

Even if you intend to get to a community of millions of people, you should start with 10 and make sure they can and will induct (explicitly and implicitly) the next 100. Who in turn do the same for the next 1000 and so on. You can evolve rules, code of conduct, enforcement etc. between some of these steps but it gets exponentially more difficult than if you do it at the start.

One thing I would add: a healthy community is always more than its most prominent, powerful or visible member. I've seen communities be taken over by their "super user" base who threaten to take away their followers or use their influence in the community to do X, Y or Z. If the community is healthy, it'll survive the removal of toxic elements even if they are extremely popular.

I have implemented Rules separate from Code of Conduct. The Rules were the immutable behaviours that you had to demonstrate as an absolute minimum while the Code of Conduct was best practise advise on how to get the best out of the community and how to help it flourish and grow. (Both were a response to the community outgrowing the deliberately open-to-intepretation 'guidelines' and requiring more clarity to grow the intended culture.)
posted by slimepuppy at 3:27 PM on July 8, 2019 [3 favorites]


Or, you could come join us on Dreamwidth...

What are the sharing controls and features like on Dreamwidth? I sort of dream of having a private FB / FB Messenger / Slack alternative for my friends because I loathe Facebook the company, but enjoyed many aspects of Facebook the platform - specifically the kind of interactions that were enabled among my real friends. (I learned too late that being liberal in accepting friend invitations was a Bad Idea™...)

I have understood Dreamwidth to be sort of a LiveJournal-y site and expect its barrier to entry is too high to persuade a meaningful number of my social circle to join. But I'd be happy to learn I'm wrong on this.
posted by jzb at 4:08 PM on July 8, 2019


Dreamwidth is a Livejournal fork run by some long-time Livejournal staff. Sharing controls are flexible. Default options are public, friends-only, and private, but you can also build custom lists which can be used instead. You don't technically need a DW account to interact with the site - any OpenID account will do, but that's mostly limited to other LJ-based sites so of limited utility. Consensus has been that one of the biggest barriers to entry right now is the lack of a good mobile experience.
posted by vibratory manner of working at 6:18 PM on July 8, 2019 [2 favorites]


beyond that I don't know why it would be a higher bar to entry than anything else. Right now, unfortunately, "something that isn't facebook" is a high enough bar on it its own
posted by vibratory manner of working at 6:19 PM on July 8, 2019


Dreamwidth's hurdles are (1) not notably mobile-friendly, which is cope-able (it does have some layouts that are more mobile-friendly than others), and (2) no image/video/audio hosting.

There is some image hosting, but it's both limited and clunky, and definitely won't serve for people who want to be able to copy and paste whatever meme or chart they want to share. That's probably what's holding it back from becoming the fandom hub that saves Tumblr's communities, because it does have the diversity approach that most of us want.
posted by ErisLordFreedom at 9:16 PM on July 8, 2019 [1 favorite]


Just going to fantasize about being cool enough to have fifty people to want updates from and who want updates from me now.
posted by Going To Maine at 11:50 PM on July 8, 2019 [5 favorites]


Dreamwidth's hurdles are (1) not notably mobile-friendly, which is cope-able (it does have some layouts that are more mobile-friendly than others), and (2) no image/video/audio hosting.

and (1a); it's a 1990s-vintage Perl codebase from before modern APIs, and as such has no API in the modern sense. There's no way of compartmentalising access permissions beyond giving an app your password and letting it do anything you can, and when the app talks to Dreamwidth, it doesn't have anything as logical as RESTful endpoints giving/receiving representation of posts/comments and such in something sensible like JSON or even XML; from what I understand, an app would basically have to wrap CGI form POSTs and scrape HTML.

The Dreamwidth codebase hasn't moved on from the era when the standard form of access was from a desktop PC.
posted by acb at 2:58 AM on July 9, 2019


Well the title does say "for your friends". I think other folks have said the advice can also apply to new communities, but they're referring to sub-sections of it, like scale and rules, if I'm reading it all correctly.

Mostly I'm just annoyed that he makes it sound like something I could totally do. I don't need more side projects! But I could build it and pay for it and my friends could safely share pics of their kids and we could finally start that book club we keep talking about...
posted by harriet vane at 7:43 AM on July 9, 2019


Heya! Darius pinged me elsewhere because he wanted to pass along a reply to winterhill's good criticism (and say he's updated the site with a note about it as well):
This does not have to be a video or in person thing. I think video works for many, but there are certainly all sorts of people who can't do that kind of interaction for all sorts of reasons. My recommendation ultimately comes down to: pick a form of onboarding with a personal touch, where you can convey a lot of information and answer questions in a way where the person you're onboarding feels comfortable asking questions.
posted by cortex at 12:57 PM on July 9, 2019 [3 favorites]


I've thought about doing this, but the people I'd want to invite aren't very technical. They've barely wrapped their heads around Facebook or Twitter and probably don't want to make yet another account for yet another thing.

Also this doesn't really consider what happens when two people in your friends group don't get along (which is already tricky to navigate IRL - who gets to be invited to things?) or if the other neighbourhoods your friends want to federate with are people that have issues with your other friends.
posted by divabat at 12:30 AM on July 13, 2019


« Older Politics and Sports, or, an Appreciation of the...   |   Should California become one long wall of concrete... Newer »


This thread has been archived and is closed to new comments