Has anyone built something for informal status updates - Chat?

(Dan Norris) #1

Hi guys one thing I’d love to see in here is a sidebar where people can post informal status updates. No category just post something hit enter and people can reply via the sidebar.

I’ve seen this done well in Ning, it tends to be a different type of conversation that goes on in the sidebar. I’m thinking this is use a UX thing, it could be a normal category just have it not selectable by the user?

(Jeff Atwood) #2

Where would this go, on their user page? So you would be posting to yourself, sort of, in a public way on your user page like a “wall”?

(Dan Norris) #4

Yikes i removed the image now can’t re-upload.

What should on-site chat look like?
(Dan Norris) #5

No bites on this one? My thinking here is the less friction the better. I’m in forums that have this feature and it tends to be a different sort of conversation that happens in the sidebar. Smaller stuff like check out this link or hey I just kicked a goal etc. Stuff you wouldn’t go through the process of creating a new thread, choosing a category etc.

Because we are on a hosted version it sounds like we can’t customize it so our only option is getting it into the core. Do others think this would be useful?

(Jeff Atwood) #6

It just feels like plugin territory to me. Can you point to any other forums that work this way as a default or as a common configuration?

(Dan Norris) #7

Yep Ning. I stole this screenshot from a Ning forum I’m part of.

(Dan Norris) #8

Hi guys I’m getting my dev Andrew to look at building something for this. Are there any good resources for plugin development? He’s pretty new to the language and he was digging around yesterday not making a whole lot of progress. Any tips on where to start with something like the status update idea above would be much appreciated.


(Sam Saffron) #9

I am afraid that what you are asking for is rather advanced work.

You need to make sure your dev has a strong grounding in JavaScript and ideally in Ember.js and in Ruby and ideally Rails.

Brand new plugin interface up to date with a bunch of samples, however what you are describing needs both changes on the JS side and probably a rails engine like my blog runs to process stuff on the server.

We are working hard to add more complex samples and plugins, but this takes time.

(Dan Norris) #10

Awesome great help thanks @sam

(Tomasz Stachewicz) #11

You’re basically looking for a shoutbox. I could use that for my forum, too. Care to share github link as soon as you start development of this one? (Or we could start that together).

(Dan Norris) #13

Hey @cowboytomash I had my developer look at this and it’s going to require him learn a bunch of stuff he’s never done before. I am really keen to do this but it’s not going to happen quickly. I’m not sure if we can work together, perhaps we can give some dev hours if you can help show him the ropes? He is fine with the front end stuff but he’s new to Ruby and postgres. He’s a very good learner though. Let me know my email is dan@wpcurve.com if that works best.

(Brentley Jones) #14

As soon as you described it as a shoutbox, I now want this. On our Discourse instance we created a thread to replace the shoutbox from a previous forum. It worked for a while, but has now gone dead.

(Tomasz Stachewicz) #15

@dannorris , @Ajarn , I’ll try to hack some initial code tonight and see how hard will it be (hint: should be relatively easy becase I plan to cheat a little). Will put it on github right after, of course :smile:

(Dan Norris) #16

Solid I love cheating!

(Tomasz Stachewicz) #17

I’m building the shoutbox as a part of one experimental forum, the repository and branch are here:

The cheating: it displays posts from one given topic (“shoutbox thread” :smile:) , i.e. there’s a special, designated topic serving as the backbone of shoutbox.

It’s read-only now, I hope to have the shouting form done today. It’s not easy as I’m learning both emberjs and discourse at the same time on this project.

Ditched the separate plugin for now – repo at GitHub - tomash/discourse_shoutbox: Shoutbox plugin for Discourse – because I need to figure out loading all plugin assets (especially ember classes) into the main application.

(Dan Norris) #18

Awesome @cowboytomash I’m going to show this to my dev today. Let me know if you need us to help with any front-end JS stuff we can help with that.

(Sam Saffron) #19

The gem deployment model has some serious drawbacks, much prefer if you use the new interface, for one it causes Gemfile.lock and Gemfile to diverge leaving you with a constant annoying merge problem.

(Tomasz Stachewicz) #20

Does that include Emberjs code? Because I suck hard at this one, especially when faced with Discourse codebase (own idioms etc.)

I saw the new architecture and it’s great for small plugins.
The gemified engine still seems like a better approach if the plugin is about to be bigger than a one-screener, especially if it’s going to have own migrations (and models etc.), as the shoutbox will most probably be.

In my opinion the current approach, discourse-is-an-app (and not a mountable rails engine that can be further customized with extending gems, like Spree is) means it is going to be very hard to manage customizations and dependencies. Last time when merging upstream master I had to remove Capistrano from Gemfile (and re-add it after merge).

I can bet Discourse is going to move to Mountable approach (it’s easy, not much work beyond adding lib/engine.rb) and it will happen sooner than later :smiley:

(Sam Saffron) #21

Have you seen my blog? It’s using the new architecture and a rails engine GitHub - SamSaffron/blog: samsaffron.com blog plugin for Discourse

Until secondary gem files land this is the only sustainable solution

(Tomasz Stachewicz) #22

Now I have. The extension code looks solid, I might need to review my opinions on the matter (the one regarding /plugins vs. separate gem, because I still think Discourse will become a mountable app).