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.

3 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.