Promoting Chats to first-class content: all public message activity in a single view

Ever since the addition of the excellent Chat feature to Discourse some years ago, I’ve wished for better integration between the activity that goes on there and the core Forum functionality. Now that AI coding agents are so powerful, I’m starting to experiment with what that might look like. An early concept:

What you’re seeing is a view that includes Topics from the current Category (“This is a top-level category test”), Sub-Categories like “Programming”, and Chat Channels, all sorted by what has been most recently updated. For Sub-Categories and Chats a small preview of the latest message is shown, and for Topics just the Category Badge (I haven’t made it not show the current category’s badge, still a WIP). The Sub-Categories can be included either as one line like this, or like the existing flat “latest” view in Discourse that shows all Topics inclusive of Sub-Categories, with Category Badges, but I’m showing this way because it feels novel. Unlike the Discourse Category View it interleaves everything and sorts by recency. Alphabetical mode puts Sub-Categories at the top and sorts the rest alphabetically.

I am definitely still figuring out how best to communicate the context each update/line comes from, and unsure for example whether topics should also be explicitly labeled as such. But hopefully it’s legible once you look at it for a minute, and there is lots of room and time for improvement.

So why do this? Well, Chats are now very full-featured and capable, including Threads (love this!), and nice interaction with the Forum system (reply in Topic). But in terms of the default Discourse experience, and even what you can accomplish after heavy customization of the sidebar, Chat still feels secondary at best. It’s hard to find for new users, and interacting with and getting updates from chats is less obvious and well-supported than forum content.

Of course I get that Discourse is a forum first and foremost (forumost? sorry, I couldn’t help myself :smile:). But it now has a Chat feature that is robust enough that it should be usable as at least an equivalent interaction method, if not even a primary one. The extensive user management, groups, and permissions systems, robust authentication, events plugin, and much more are all highly useful to a Chat-first community. And I’m not aware of any other platform that provides all those useful affordances in a Chat-only, easily self-hosted, opens ource system, let alone one that incorporates both Chat and Forum.

To my mind all that really stands in the way of a better balance here, and letting community builders choose the prominence of different interaction surfaces, is UI and UX. One of the things that seems most important to me in that respect is allowing users to see updated content from across the entire system, regardless of its context (obviously with optional filtering). Sidebar improvements are probably also going to be necessary to really make all this work at its best. But for now the most interesting experiments for me are how we can see all updates across the whole system as easily as possible, maintaining an understanding of the context of that update, but not making any of them more “important” than the others.

I’m curious if anyone else finds this idea promising! Even if the current concept I’m showing here isn’t, I’d love to hear your thoughts, critiques, alternatives, etc.

4 Likes

Here’s a quick video showing how this view works right now:

Btw in retrospect I realize this may be the wrong Category. But it’s a little fuzzy, because a big part of why I’m doing this is just to generate ideas and discussion for how Chat and Forum might be more equalized in Discourse moving forward. This may turn into a Plugin, sure, but that’s not the main point. I’m more interested in the conceptual discussion than the plugin-specific context. But obviously if it seems to better belong elsewhere, I understand.

2 Likes

This is interesting. I am curious to see this in action in more detail, meaning, how does navigating to each chat channel or topic feel.

As a side note, I am a little confused by the inclusion of categories in the list. I can’t quite get my own head around a list that has categories/topics/chat channels. The last two make sense, but I don’t see categories as part of the same type of content.

1 Like

Thanks for taking a look! Navigating into them is basically the same as standard Discourse. Topics open just like from a regular topic list. I would personally like Chats to open in full-screen by default from this view, it seems more logical to me, but currently they open based on your last-used state (expanded or pop-up).

I can definitely understand the perspective that categories (sub-categories, specifically here) aren’t the same kind of content and don’t seem to belong with the rest. My thinking was that this acts much like the current “Show subcategory list above topics in this category” option for Categories, which I’ve always liked because I also find subcategories to be less prominent than desirable in many cases. Sorting by activity (optionally) just makes it feel more useful and current, to me.

That said it’s also my intent that this be totally configurable. The idea is that you could compose any number of “views” that include or don’t include types of “content”/structure. Right now it’s based on the current hierarchy, so you have everything that’s inside of a given Category, including topics, subcategories, and chat channels. You’ll be able to enable/disable any of those in a given view. The ability to fully compose views outside of hierarchy concerns might also be interesting, e.g. a view that contains topics, categories/sub-categories, and chats from anywhere in the Discourse instance.

I think all of this is probably more confusing if you’re used to and comfortable with how Discourse organizes things. Many of us are. The challenge with these kinds of experiments in a space like this is they will almost inherently seem weird to the audience here. :smile: But often those new to a discussion space care less about hierarchy than recency. More importantly, even if they do want to only see content in a given Category, chat channels are essentially invisible within the category right now! To me that seems like a grave usability/discoverability error. I set out to solve that problem and along the way decided to make the system more flexible and inclusive. But the core intent is to promote chat to “first-class content”.

Thanks again for the feedback. I’m curious if any of the above helped make it clearer and/or seem more useful!

I’ll try to post a more complete video demo as work continues on this. It’s a backburner project, but feedback will definitely encourage me to keep going. :slightly_smiling_face:

3 Likes

Yeah, 100%.

You are certainly onto something here. I am curious to see this in action and ideally, try it out somewhere. Please keep posting, I find this to be a fascinating idea, and you’re spot on that it helps with chat’s discoverability. The category question on my part can be put aside, I am looking forward to the next iteration!