Using Discourse as a social media platform

Someone in the neighborhood standing up a forum and dropping a one-pager in everyone’s mailbox with the url and an invite.

Discourse’s mission isn’t congruent with the business models driving social media. FB/IG/LI/etc. Those platforms are designed to manipulate users for control and profit. Discourse is designed to benefit end users

As commercial interests continue eroding trust, I suspect we’ll see the current giants struggle with granularity, as we collectively withdraw into tribes.

Are there enterprise deployments out there bemoaning a lack of performance at scale or some lack of extensibility? If not, I think the bigger question is more a function of human need than how to turn this incredible software into another festering cesspool of wanton consumerism.

That said–and I haven’t had a chance to explore the federation stuff yet–I think some kind of limited, intra-install hooks could be interesting. Like, maybe a section on the dashboard that displayed other (participating) communities you could explore by high level industry, size, and/or age. Pull in the logo and tagline, make a sort of mini directory.

I like the idea of being able to show my community members other good communities. I don’t like the idea of Discourse being associated with the forces that essentially ruined the internet over the last 15 years

Excellent Topic, BTW.


Facebook’s evil practices can go suck an egg. I’m talking about the good side of social media.


Twitter doesn’t want any discussions. It is made, as every ”ordinary” some-solutions for fast broadcasting. It doesn’t try to hide threads, as Faceboog does with mobile users, though. There is no need because in Twitter is not such thing as threads :wink:


They happen anyway though. :man_shrugging:

Being able to mold Discourse into a social media platform is what I’m more interested in. It’s definitely possible, but I don’t know how hard it is.


I’m interested in the topic too! But I think a concrete definition of what is meant by “social media” is a critical first step to really turning this discussion into something practical to potentially advocate for and hopefully implement. As you and others point out, Discourse already has many aspects of “social media” in its native set of functionality (or in plugins):

  • User profiles
  • User activity
  • Following users
  • User discussion
  • Sophisticated content formatting, handling (better, actually, than most social media)
  • Lists of content by date/activity/etc.

I could go on, but you get the point. So what’s the difference between Discourse and social media? Identifying what Discourse does not have seems likely to be more fruitful in figuring this out. The one major thing that immediately comes to my mind, which I think you touched on in your original post, is the lack of a “feed” view.

The major difference between what Discourse has now (e.g. “Latest”) and a “feed” view, is the ability to directly view the entirety of a topic’s contents and then interact with it from the main feed. This has many implications, some good, some perhaps bad, but from a user experience perspective something it does well is to create a lower friction environment for consuming and interacting with content. One of the main benefits as I see it is it helps a user maintain consistent “context”, e.g. maintain their position in the feed. Twitter does a particularly good job of doing this across browser navigation (forward/back), while Facebook doesn’t, but lets you better interact with things within the feed (e.g. expand comments, make comments, etc. without leaving feed).

Discourse also does well with forward/back, returning to the last scroll position and highlighting the last-clicked topic briefly. But the sheer density of Discourse topic lists can still make it challenging to maintain one’s place, and more importantly the topic-only view often doesn’t give you enough to know whether you want to engage further with something.

Now, I think a “pure” feed view that reproduces how existing social media sites work is not necessarily desirable. It is arguably opposed to some of Discourse’s ideals, e.g. avoiding shallow, knee-jerk interaction, etc. But I don’t think the feed view concept is necessarily inherently opposed to those ideals, or rather, I think it’s worth contemplating how one might gain some benefits of that model, while maintaining the benefits of Discourse’s current approach.

There are a couple of ideas that spring to mind. First, let’s assume we have a familiar “feed” view like Facebook or Twitter, ranked by some algorithm/model, perhaps as simple as recency or popularity. It shows “posts”, which in Discourse would be Topics. Whether full topics are shown or just summaries, and whether comments/replies are shown by default or not are a couple of important details of the implementation that deserve consideration.

Showing full topics by default is problematic because it can make for an extremely long scroll, and somewhat defeats the purpose of the feed view since you have to fully scroll past at least the topic starter for each topic to see the next one. So summaries seem advisable. There’s no easy way to generate good post summaries that I’m aware of (this is different than Discourse’s ability to summarize a discussion), so a naïve “collapse body contents beyond X characters/words” approach seems likely, and is most widely adopted probably for that reason. Maybe not ideal, but I don’t know a better alternative yet. As with most other implementations, it could be simple click-to-expand (e.g. “show more”), though ability to either jump to the bottom from any point (i.e. “next topic in feed”), or re-collapse and bring you back to where you were in the “feed”/stream, would be ideal. Facebook doesn’t necessarily have this (and it’s irrelevant for Twitter since it has extremely limited “post” length :grinning_face_with_smiling_eyes:).

Comments/responses could similarly be click-to-expand, though I think popping up a full composer from the bottom in an overlay (like it does now when viewing a topic) would be the ideal behavior there, rather than in-line reply authoring like Facebook. This, I think, would help encourage longer, more in-depth replies. You could also quote from the in-line topic view as usual. The only difference really is that if you scroll up or down past the topic contents, you’d see other topics immediately (at least in a collapsed view).

An alternative to expand/collapse, which might also better serve the desire to show comments and ability to interact with topics with a more sophisticated and spacious writing area (thus avoiding some of the negative incentives of small comment boxes, e.g. shallow interaction), might be pop-up topic views, i.e. a modal window, dimming the background, but dismissible with a click outside the window. This is like the Reddit model. I don’t love everything about this approach, but I think most of my concerns with it are UX-related and could be improved with e.g. better interpretation of user intent with clicks (I find myself clicking out of Reddit threads too easily). The benefit is you have a lot of space to present your content, it encourages reading through the topic and interacting more deeply.

I think the overall feed approach, and the “Reddit” model in particular, is especially interesting to compare to Discourse’s existing approach. There is an argument to be made that the existing topic lists are more shallow/skimmable than e.g. Facebook’s feed view, where you can at least see some of the content beyond just a Title. Of course the Topic List Excerpts Theme Component takes care of this to some degree, but still it’s not the same as a real “feed” view. That said, perhaps it’s a good starting point, and then the only thing you might want to implement is this “modal” topic view idea (or click-to-expand in-line, but this seems like a more significant challenge to implement to my naïve, non-programmer brain). @anon73664359 do you think such a setup would meet more of your desire for a “social media” version of Discourse? I.e. Discourse with Topic Excerpts, Latest topic View, and a modal pop-up topic view? If not, what else is missing?


When I was typing my original post, I was actually thinking of Google’s (now defunct) social network, not Twitter. I actually much preferred the former over the latter! :slight_smile:


Hah! Good old G+. I liked many things about it too. But again I think it’s important to talk about what specific benefits and differentiators there were. It’s good to know you prefer G+ to Twitter, but to implement what G+ did well we have identify those things. I liked G+ more than Twitter as well, though a big part of that would be the character limits and poor threading on Twitter. In any case I do think this thread is a more appropriate place to continue that discussion than as a reply to the Fakebook theme thread since the scope of necessary changes is probably well outside what can be done just with a theme (AFAIK).

I’m also curious what you think about the more specific ideas I proposed above. If you prefer something else, what about those approaches doesn’t work for you, and what might work better?

1 Like

Well, you’re going to have to deal with me geeking out about Google+ for the next few replies or so… :joy:

For long posts, did Google+ show the entire post or did it only offer a summary (unless clicked)? My memory of Google+ has slowly eroded over the years (and details are scarce online). :slightly_frowning_face:


Hah, I have zero problem with this.

I have no idea either. Ironically, in researching this, I came across a link to a Vine video, that might have helped shed some light, had it not been on… another service that died some years back. :grinning_face_with_smiling_eyes:

Here’s a screenshot in an article which shows an “expand” link:

There was a point where Google changed the “stream” design to multi-column, which may be relevant. But according to this video, everyone just used G+ like Twitter, i.e. less than a couple hundred characters. :roll_eyes: Probably done this way because it’s prettier/cleaner for a demo…

The lead image here shows a “read more” in one post, but the length of it is much shorter than other images showing posts in the stream, so I’m not sure if it’s just a link to the external article/link, or what.

You’re right that most of what you can find is only fragments, mostly indirect references. Here’s a Chrome extension that seems to imply something about how the stream was, at least at a certain point in time…

May be tangentially related, but this also shows some interesting examples:

Ultimately I think it may depend on what iteration of the G+ design it was, but at least some iterations seemed to have a “read more”…


As a side note, I really liked the multi-columned stream design. I’m not sure how an average user would feel about it though…

I wonder if such a thing would be possible in Discourse? I really can’t get all this off of my mind… :thinking:


What about the things that Google+ didn’t do well? :thinking:

One former Google employee seems to suggest that it was because Google+ used an asymmetric following model.


While it’s an interesting walk down memory lane, I don’t think the failure of G+ necessarily has much bearing on the general idea of trying to make a social network-like experience built on Discourse. It seems, to me, to be more valuable to understand what the actual functional and design aspects of a “social network” are which differentiate it from what Discourse already is (for which G+ and others can serve as models for inspiration, comparison, and understanding). And then see if we can determine how some of the more valuable and/or sensible features and design models might be incorporated into Discourse as plugins or in core, to bring some of those benefits, while maintaining what Discourse already does well. So far a discussion along those lines seems oddly unwilling to materialize. :grinning_face_with_smiling_eyes:

What do you think about the points I made above about the feed view, and how it might be realized within Discourse?


I too got a lot of good experience from G+ and indeed I came to run Discourse forums as a response to G+ closing. I’ll see if I can describe what I believe to be the strong points of G+.

As a G+ user, I saw a stream of posts. It’s important to note that I had some control of that stream: it wasn’t all the posts in the G+ universe. In fact, control of what I saw was a major strength.

The initial offering of G+ was circles: control of who sees my posts. This idea was not a winner. The initial offering of what I see was taken from who I followed. But that was refined, twice, because in fact we don’t usually want to see everything someone has to say: we have interests.

The first refinement, as I recall, was called Collections. In this model, a person posts into either their general output stream or into one of a set of curated streams. In my case, about four topics. One can then follow people’s collections, rather than people. This was a great improvement, but a person has to curate those collections helpfully, and post accordingly.

The second refinement was called Communities. In this model, people join a community, to see the community posts in their stream and to interact with them. Communities could be public or private. Communities had moderators, and therefore have norms. I belonged to some dozens of communities, and moderated a few. As usual, some communities were more successful than others, for their quality and quantity of posts and of members.

The premise of social media is that there are a great many people, making a great many posts, and each of us only wants to see and interact with a fraction of them. The primary mechanism is to select people and to see only their output. In the case of Facebook, that’s people you know, in the case of Twitter it’s (often) people you’ve heard of, and in the case of G+, it was people you shared interests with.

There’s another aspect, which is the presentation and form of the content. In G+, the unit of publishing is the post, and a post had a linear comment stream. A post would commonly have a picture. In later revisions of G+, a comment could have a picture, and later still both the post and the comments could have albums of pictures. And those pictures could have comments. That was probably too much.

In such a rich offering, it was handy that the stream showed only the beginning of a post, including the picture if there was one, and up to a few of the comments, if there were any.

On top of all this, the stream itself could be mostly chronological, could be everything, or most things, or only the ‘best’ things. Which is to say, there was what we’d now call an algorithm, but it did initially have some user-accessible toggles and sliders. One doesn’t want to see every new baby picture, but one doesn’t want to miss the arrival of the baby altogether.


I should perhaps add that in the final year or two, most of my use of G+ was in Communities. Post-G+, I have used two or three Discourse forums as replacements for G+ Communities: in both cases, I think, we have Categories to help manage different sub-interests. But a forum is for a single interest.

In line with that, a social media platform would be one level up from Discourse. Which is to say Discourse would need to offer multiple forums, each with their own moderators and categories. Perhaps not unlike Reddit, in structure. But I don’t know if Reddit allows one to construct one’s own front page, assembling content only from those subreddits of personal interest.


Well, where did Twitter get this from? :rofl:

Somebody’s been digging up some graves recently…


Google+ from late 2015 onwards was focused entirely on interests (through communities and collections). Circles were still a thing, but Google had crippled them and hidden them.


The idea of circles - that each post is narrowcast to some subset of followers - is the space now occupied by WhatsApp. This isn’t a model I’m too interested in personally, but it is another model. What it recognises is that each of us presents a variety of aspects, and that we don’t have a single persona for all purposes, and neither do we want all our thoughts and performances to be on display to all of our friends and acquaintances. Our work, family, social, civil, political, and sexual lives are often separate things. Also, we change and we experiment.

Before shaping some set of features towards social media, it would be important to decide which model or models is the most worth aiming for. For me, it’s Communities: a public record of interesting discussions around some area of interest, with discoverability and with moderation.

Some G+ users, and some unhappy users of Twitter and FB, have become users of the Fediverse: Mastodon, Diaspora, Friendica, Hubzilla, et al. It would also be a good idea to study those offerings and their respective models.


Circles could be way more useful nowadays, especially in today’s social landscape. Google was just too early to implement it.


I get why you say this but I’m not sure I 100% agree. It’s true that any given Discourse forum is unlikely to have wildly diverging Categories, like a fully generalized social media platform. But you could easily use Categories and Subcategories to organize discussion of extremely different topics if you wanted to. If this is not happening, it’s useful to question whether it is simply because of convention, or actual functional/design limitation. I suspect a strong dose of the former, with some of the latter. But Discourse is flexible, and if someone wanted to make a single forum with strongly separated discussion areas, e.g. a separate “home” for each, like Facebook groups for example, I think this could be reasonably accomplished already. It would make the main topic stream (e.g. “Latest”) even more of a social media “feed”-like experience, too.

More or less, yes, although like Facebook and others it also has other random stuff thrown in there that Reddit thinks you might like. :grinning_face_with_smiling_eyes:

You do have groups in Discourse, but of course you can’t use those as the sole organizational concept to which you can publish content. They need to be attached to Categories, which is where content “lives”. In a sense this may also begin to identify some difference between Discourse and most social media platforms: Discourse has a greater amount of formalized structure. Even if you make everything “Uncategorized” (i.e. make no categories), you’d be fighting the UI to make it a frictionless experience, I think. Categories are somewhat fundamental to how Discourse works, I think. So that’s an interesting insight.

I’m still wondering about your thoughts on the “feed view”, as well as any other key differentiators of what “social media” is separate from G+. Google Plus may have some great lessons, but I think it’s important to consider more broadly what “social media” is to understand how Discourse can potentially represent some of those features. If we look at multiple social media experiences together, we’re more likely to find the commonalities that transcend any one platform’s potentially idiosyncratic model.


As things stand, Categories would be the main tool, I think. It’s possible to visit a Category, and see its feed. That would then work a little like Communities in G+. I think perhaps there’s already per-category moderation, so even more so.

The shape that would then take is the shape of late-era G+, where Communities are the focus. It’s not about talking to friends, it’s about talking about topics, and some of your friends will crop up on those interests which are shared interests - and that did happen, for me, on G+.

And with a suitable plugin, one could have previews of the content of the head posts, with their image, which would make for an interesting feed, and the option of diving into those particular topics which might host an interesting conversation. I haven’t installed or used such a plugin, although I thought I might at one time. (And that’s because of the possible workload on me, as owner, if the plugin needs attention or sometimes misfires.)

I have my own view, of course: I’m an intellectual, in the sense that I’m interested in ideas. Topic-centric discussion is good for me. If a person wants social media because its about people, they will want a different shape of tool. If someone thinks of social media as a way to stay in touch with family, again that’s different. Or if its about reading the quips of the famous, that’s different again. I think “social media” is not well-defined.