Using Discourse as a chat application

(Julien Gourdon) #1

Hello all
I don’t know if I’m in the right category, if not, feel free to move.

I was wondering if Discourse could be used as a chat application. A group of friends of mine used to have an irc channel where we gather when we have time. With our lives and work taking more and more time, the maximum number of simultaneous participant is never more than 4 to 5. Most of the conversations are a-synchronous (even the simplest questions such as “How are you?” get answers maybe 24h later). Some conversations are even lost for some participants (when unconnected.)
So moving to a light-weight, full-featured, fast, and almost interactive through javascript - like Discourse - web application kinda makes sense to me.
What would be needed to have the same kind of functionalities as a chat application would be minimal:

  • a clearly visible online status for users
  • answers should appear on others’ view as soon as they are posted
  • If possible we should see whenever a user is typing an answer
  • Chatrooms instead of threads? (Not particularly needed actually)

Or should this be handled through plugins?

What I miss the most about an irc channel is a way to have easily browsable archives (or even recent conversations) and categories for discussions. The ease-of-sharing links, images, videos, etc… is also great.

So do you think forums and chat channels could be mixed? Could Discourse be used for that? What do you think?

Will Discourse apply for Google Summer of Code 2015?
Encrypted PGP Messaging
(Daniel Watkins) #2

This has been mooted as a potential plugin:

(Julien Gourdon) #3

Why not in core?
Whenever you need […] a chat room where you can type paragraphs

(Jeff Atwood) #4

What’s preventing people from using it as a chat system right now? Again, you have to be willing to type paragraphs as I said above. Not just a bunch of disconnected, half-finished sentences.

The topics and topic list are updated with new stuff in real time.

However there is a little bit of a hole because we don’t update topics that aren’t new in real time, e.g. post count does not increment on the topic list when new replies are added to a topic.

(Julien Gourdon) #5

What’s preventing people from using phpBB as a chat system right now?
Online status, typing status, “stealth” threads created on the fly (I don’t want to say chatrooms, but that would be temporary (or not) threads visible by only a few users) and, (may I dare?) sound notifications, etc…

We’re on the same page about that.


I’d like to see this on Discourse, maybe as a opt-in?

[quote=“jgourdon, post:5, topic:3436”]
“Stealth” threads[/quote]

You can basically do this with pm’s already, and I believe the dev team was looking at supporting multi-person chats in the near future.

(Kiran Patil) #7

So what is the status of this feature ? ie Chat addon for Discourse…

(sparr) #8

A lot of Discourse was inspired by Stackexchange, and Stackexchange HAS a chat service. It would be nice to see some of that functionality in discourse.

(Brentley Jones) #9

Has there been any updates in regards to this?

Has this been fixed and have there been any other improvements?

(Jeff Atwood) #10

No, it has not – we’ve made no progress on dynamically updating the topic list, or the topic itself for that matter – with the exception of dates. You’ll notice the dates in topics do update in real time (5m, 6m, 7m, etc).

Things that will not be updated in real time:

  • edits to posts in a topic

  • likes to a post in a topic

  • flags to a post in a topic

  • deletions in a topic

  • topic list: reply counts, likes, views, last activity date, participants, title, category

  • pretty much anything else that’s not in the below list…

Things that are updated in real time

  • new topics arriving in the topic list, shown as “there are 3 new topics”. Also includes topics with new replies for some odd reason that @sam decided made sense :smile:

  • new replies on a topic, provided you are near the bottom of the topic where the new replies would arrive

  • likes and edits on posts in a topic

We tried to optimize for seeing the most important updates first, before getting around to the other miscellaneous stuff.

(Brentley Jones) #11

Will the above things eventually update in realtime? I just want to make sure I read you correctly and that you aren’t saying “will not (ever) be updated in real time”.

(Sam Saffron) #12

Yes, eventually. A design goal for discourse is to make clicking frantically on the refresh button, obsolete.

(Kevin C.) #13

What’s the status of either adding a chat feature to Discourse or the features necessary so it will work as a paragraph based chat service?

I believe these were the features missing as of Jul 2013:

  • Online status, optionally including desktop/mobile and idle status
  • Typing status
  • Update topics that aren’t new in real time
  • HOWTO document and example chat room on
  • Smartphone app to be notified of new posts in background, perhaps with sound
  • (Optionally) Browser button or extension to be notified of new posts in background, perhaps with sound.
  • (Optionally) Real-time updates to likes to a post in a topic

(Tobias Eigen) #14

I am curious about this too - I’d like to explore using discourse to accompany webinars instead of using GoToWebinar’s kludgy and horrible question/answer functionality.

How much better it would be to capture paragraphs of questions from participants and then answer those with paragraphs and orally in real time during the webinar!

(Jeff Atwood) #15

No plans for this

No plans for this

We will do this eventually. Note that topics, while within a topic, show edits and likes in real time now.

No plans for this.

No plans for this.

This already exists, sort of, see your user preferences. Sounds could be added for notifications as well at some point.

This is already available now.

TL;DR – no plans for Discourse to become a chat app.

Encrypted PGP Messaging
(Caue Rego) #16

How about plans to making the current SEN chat into an opensource platform like Discourse?

(Jeff Atwood) #17

Don’t know, you would have to ask Stack Exchange about that. Post on

(Caue Rego) #18

Done. Sorry I don’t follow your awesome blog nor the podcast (which I just assume you must be in) and I didn’t realize you were not working there any longer! I’m probably applying this wrong, but let’s just say you didn’t persuade me. :stuck_out_tongue:

Maybe I should start following those, though…

(Michael Downey) #19

Chat could be cool, but please make it possible for admins to disable all traces of it completely. Some communities already have other chat venues (like IRC, or as it pains me to say it, Slack) and users could become quite confused with 2 places to chat.

Perhaps this goes without saying but someone not in that situation might not consider it. :smile:

(Erlend Sogge Heggen) #20

Continuing discussion from “What is the most awesome plugin for Discourse, that does not yet exist?”: (Maybe some kind of merger is in order.)

Personally I still struggle to see where Discourse’s core principles and chat intersects. Don’t forget that if the developers hadn’t been vigorously beating down Signatures like a whack-a-mole from the very start, it would in all likeliness be a highly “upvoted” feature.

Of course, just like @downey, I wouldn’t mind seeing it in action as long as it’s easily disabled. Yet, with my own interests, I have the same worries as @sam; that the plugin would take away from other tasks that will always be more important than chat.

Chat would make for an excellent Google Summer of Code candidate though.

  • There’s already a solid foundation in place with the message bus etc.
  • The devs have already given it a lot of thought, which means rigid guidance
  • 1 month for a coder veteran & core dev is easily 3 months for a young’un.
  • There’s plenty of room for stretch goals.
  • Prospective applicants could start fiddling with ideas right now to improve their standings.

I’ve admined GSoC before, so if you’d like me to lend a hand with the (rather tedious) application process I’d be happy to help.