Closed Bug 938938 Opened 11 years ago Closed 10 years ago

Explore replacing yammer with a reddit clone

Categories

(Infrastructure & Operations Graveyard :: WebOps: Other, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: clouserw, Unassigned)

References

Details

(Whiteboard: [business - new app])

Attachments

(1 file)

Long ago we used Vanilla forums for internal discussions, and then we moved to PHPbb which worked, but was hard to follow and couldn't be customized in ways people liked.  We moved to yammer next which we're on now, but it suffers from a lot of the same problems, in addition to awkwardly shoving a timeline paradigm into the middle of it.  In a business world, the timeline doesn't seem great for sparking conversations because useful content floats by before it's seen, and it reorders itself according to some secret algorithm of unread vs popular vs new.  As a bonus it also lacks any kind of advanced filtering by subjects that interest you, has a (subjectively) confusing interface, and we're paying for it.

My proposal is to replace it with a reddit clone.  Reddit is open source (https://github.com/reddit/reddit), free, supports subreddits for instant focused discussions, has voting to highlight useful threads, and customization (both built-in and add-ons).  I think using reddit would get a lot more employees chatting and is a good evolution for our internal discussions (the reddit format has been replacing the old forum model on a lot of sites).

I'd like to set up an internal instance of reddit and invite some people to explore it and see if it would serve our purposes better.  Reddit has pluggable auth modules so it could auth to our LDAP, or, if we want the bare minimum, it already supports basic auth which we could hook up to our LDAP with ease.

I was going to use PaaS for this, but I wouldn't be able to bind to LDAP.  Is there some hardware (a VM works) available to explore this?  Thanks.
Assignee: server-ops → server-ops-webops
Component: Server Operations → WebOps: Other
Product: mozilla.org → Infrastructure & Operations
QA Contact: shyam → nmaul
I upvote this :)
(In reply to Wil Clouser [:clouserw] from comment #0)
> I'd like to set up an internal instance of reddit and invite some people to
> explore it and see if it would serve our purposes better.  Reddit has
> pluggable auth modules so it could auth to our LDAP, or, if we want the bare
> minimum, it already supports basic auth which we could hook up to our LDAP
> with ease.

Why not persona?
(In reply to Mike Hommey [:glandium] from comment #2)
> Why not persona?

LDAP libraries already exist and I was going for the least amount of work for a prototype.  Persona would be fine too.
If we ever do that (I'd love it!), we don't have to make it 100% private. Just one subreddit dedicated for employees only. The rest could be used to replace planet.
Whiteboard: [IT - new app]
Not a bad idea but speaking from some knowledge of IT's goals you would probably do best to explore getting this hosted by someone else or at the very least putting it on VMs in AWS. To make your case more concrete you might also try to find out the cost savings and the different models over yammer. That seems to be of paramount importance lately.
Hey Ben, thanks for the ideas.  I filed this bug instead of just doing it because I need to bind to LDAP which I think means I either need a VM from ops or at least netops' blessing on some other hardware.  If nothing else, it doesn't hurt to get a discussion going and get some support for the idea (yay, bugvotes).  Good thought on cost too.
I tried setting this up as an example of how I could feasibly use paas.allizom.org. I ran into some problems though, namely:

1) the postgresql system-service does not work. There is a problem with the pgclient used being 9.1 while the server is 9.2. This is being addressed by activestate (authors of stackato), and is planning to be addressed in the 3.0 release. Which should be happening in the January timeframe.

2) there is no cassandra system service, which means the paas instance would have to run cassandra locally, which would limit it to one instance.

Nevertheless, I got a mostly-useful stackato configuration file that (when these problems are fixed) could possibly be used for deployment. I'm attaching it.
Attached file stackato.yml
Whiteboard: [IT - new app] → [business - new app]
Not wanting to inject stop energy, but the current existing plan to build a discussion system that the whole community can use (while still having various levels of privacy when required) is to get an instance of Discourse up and running. mrz and community IT are working on it. I believe it's bug 889003.

Gerv
Bug 889003 doesn't seem to have much of a "current existing plan" vibe to it - more like a "this seems cool, let's try it" which is similar to this bug.  Since there are two distinct groups working on them why not either a) get the two groups to chat about the goals and assumptions of their respective ideas to see where there's overlap and if one of the two implementations shines more with regards to those or b) let the two distinct groups try to achieve their goals in a MVP way and see how the community responds?
(In reply to Lukas Blakk [:lsblakk] from comment #10)
> Bug 889003 doesn't seem to have much of a "current existing plan" vibe to it
> - more like a "this seems cool, let's try it" which is similar to this bug. 

It shouldn't have that vibe... As the person responsible for our current discussion forums, I very much hope that the Discourse instance will turn into a fully supported and much better replacement for them. And I'm arranging a meeting in SF next week to try and build support for that.

> Since there are two distinct groups working on them why not either a) get
> the two groups to chat about the goals and assumptions of their respective
> ideas to see where there's overlap and if one of the two implementations
> shines more with regards to those 

My post here was precisely to make sure that this group knew about the other group.

> or b) let the two distinct groups try to
> achieve their goals in a MVP way and see how the community responds?

My concern is that we already suffer from fractured communications. If both of these initiatives go ahead, not only will manpower be split, but it's very hard to close down a comms mechanism once it's in place, so we will continue to have splits.

I'd like to hear more from clouserw and others about the scope of what they are attempting here. Is it simply to replace what Yammer does now, or is it wider? Isn't Reddit all about discussion of particular URLs (hence the name)? Does it have access controls such that we could make it a community facility while still preserving the ability to have private discussions among employees or other groups?

Gerv
My goal was to offer employees of Mozilla a usable place to have interesting internal conversations.  I'm not sure what "discussion of particular URLs" means.  Reddit is essentially a flexible framework for conversations.  You can think of each sub-reddit as a separate forum full of threaded conversations if it helps.  The front page of reddit aggregates the sub-reddits you're subscribed to into a single list so you can quickly browse all the topics (sub-reddits) you find interesting.

Reddit has modular plugins which offer all kinds of functionality.  There are extensive administrative tools (as you can imagine) including private sub-reddits.  I think reddit would fulfill the goal of an internal and external discussion forum but my main goal was internal only.  I haven't used discourse so I can't comment on it, but I'll be happy to check it out once it is set up and we can compare and contrast.
WRT particular URLs, Reddit supports self-posts, which let you post a block of text instead of a link, effectively making it a forum post with threaded conversation.

Example of a self-post: http://www.reddit.com/r/IAmA/comments/1sezy8/i_was_sentenced_to_50_years_in_prison_at_the_age/
Gerv: can you share some good examples of active Discourse forums? The only example I can find is Discourse's sandbox forum: http://try.discourse.org/

I like how Reddit supports threaded conversations and, as Wil described in comment 12, that Reddit aggregates subscribed sub-reddits into one page.
See Also: → 889003
Interestingly, there was a conversation a few months ago (outside of Mozilla) comparing the two styles... reddit/threaded-comments vs discourse/flat-forum:

http://meta.discourse.org/t/difference-between-reddit-and-discourse/9741

I'm reading through this now and there are some really compelling arguments why the reddit model is actually not very good for group discussion.

Here's a different view on the same thing: http://www.codinghorror.com/blog/2012/12/web-discussions-flat-by-design.html


What Reddit does really well is *aggregate* content, and show the most popular comments about it. It encourages simplicity-of-consumption. It eschews chronological ordering in favor of threading, with voting to determine the ordering. It's easy to see what's popular at any given time, and it helpfully filters out the dreck (things the community finds unacceptable).

One big consequence of this is that it's virtually impossible to maintain state on a conversation over time. Effectively it's write once, read once, comment once. 1:1 conversations are easy to hold, but beyond that it's extremely difficult. The format discourages ongoing conversation on a topic. New comments can appear anywhere in the thread, and old ones can be shuffled around as the voting dictates.

Another major downside is that it tends to be a time sink. The format doesn't encourage returning later, so you need to hang around to keep track of a topic.

On the plus side, it also allows you to easily collapse "branches" of a conversation that don't interest you. You can set up different sub-reddits for different topics (or different groups/teams), and they're easily aggregated into a customized homepage.

Most forums I've used require you to "pick a forum" before you see any ongoing topics. Discourse seems better in this regard, as it appears (based on the try.discourse.org sandbox) to allow you to tag your posts with categories, and then users can filter based on those categories. I don't know about conveniently-intermingling public and private posts though, which is something Reddit makes easy with the subreddit aggregation model.


Although I really like the reddit model, I don't think I could argue that it's a good communications medium. It's fine when you want to stand on a soap-box and say your piece (the original poster) and have the rabble below you shout out their thoughts (the comments section). But it doesn't encourage any healthy discussions within the community, and it's not very good for someone who shows up late to the party - they can read what happened, but can't effectively contribute. Reddit encourages group conversations to fragment into 1:1 conversations.

The reddit model also means that whatever is most-heavily upvoted, wins. Funny, easily-consumed messages dominate. The Karma system fuels this, by attributing "Internet points" to whomever can post the funniest, most easily-consumed message.

By comparison, when you start a forum post, it's more like walking into a room and starting a discussion with a group of people. The original poster is on (mostly) equal footing with the commenters, and the conversation flows chronologically. Anyone can (given time) follow the stream of thought and catch up. But since it's not threaded, there's no good way to skip over portions of the conversation that are uninteresting to you... you gotta wade through it all. And without that karma system, you may not get the cat pics anymore, but you do have to wade through all the slop that would normally have been hidden.


I like both tools for different purposes, and dislike both for others. I spend far more time on threaded systems like Reddit than on flat systems like phpbb or Discourse, but I'm not convinced that it actually promotes better communication or collaboration. I  think we need a *better* firehose, not a bigger one. :)
An interesting thought: threaded systems like Reddit are like trees... many branches, new leaves (comments) can appear in any branch at any time, etc.

Like trees, they are convenient if you are interested only in a related subset of the data... that is, a particular branch or set of branches. They are also hard to traverse entirely, especially if you want chronological continuity.

I suspect that flat-forum models work better, but only up to a certain size... beyond that threading becomes a mandatory feature, or it becomes impossible to maintain state. Reddit would not work without threading.

Given the size of the Mozilla paid staff, I suspect that we're still small enough that a flat forum would work. Including community... I think it could still work, given reasonable categories to post into.
(In reply to Chris Peterson (:cpeterson) from comment #14)
> Gerv: can you share some good examples of active Discourse forums? The only
> example I can find is Discourse's sandbox forum: http://try.discourse.org/

http://community.badvoltage.org/ is another I know of. But my primary confidence in Discourse is that, after Stack Overflow made question-and-answer sites good again, I have a lot of faith that the same team can do it for web-based discussion.

I think Jake's analysis is a good one; if "the medium is the message", then the software you pick has a significant effect on the discussions that happen within it. 

I also think that, as a principle, working out more ways to have discussions in the employee-only part of the community should be a non-goal; we should be solving the problem for all of Mozilla, and pick whatever software is best for that. 

Gerv
(In reply to Gervase Markham [:gerv] from comment #17)
> I also think that, as a principle, working out more ways to have discussions
> in the employee-only part of the community should be a non-goal; we should
> be solving the problem for all of Mozilla, and pick whatever software is
> best for that. 

I agree in general, but employee-only discussions have a place. (See the recent Yammer discussions about benefits.) The original motivation of this bug was to replace Microsoft's Yammer with an open solution we can manage ourselves. If we can use the same platform for community discussions, that is an extra bonus.

btw, after reading more about Discourse vs Reddit, I agree that Discourse is probably more appropriate. <:)
I talked about the discussion forum problem, and Discourse, with Sylvie Veilleux before Christmas. It seems to me that the problem of us having lots of different systems in lots of areas (with discussions being only one) is on her radar as a big issue. She's pretty busy fighting larger fires, so she may not be able to directly support an effort in this area at the moment. And I suspect she would probably be actively opposed to setting up Yet Another Discussion Thing unless it was clear that it was eliminating or deprecating one or more existing things.

So my view is that the best way forward is to push on with the community testing of Discourse. If we can demonstrate that it can replace the existing string-and-sellotape discussion forums implementation, and has the features to replace Yammer too, then perhaps we can build consensus around implementing it officially. But we need to document and demonstrate it.

Gerv
Given that we are heavily invested in spring cleaning and other projects in IT, we do not have any available cycles for this project. If someone wants to evaluate this outside of IT and bring us a working proposal we might get some traction. If that is the case the project would need to use the project kickoff form.

As gerv said in comment 19, the only way a project like this could work is if it were a complete replacement to an existing project. In order to support services at a level of quality that we would like, we are no longer going to be running multiples of a similar nature and use.

Given all of this I am going to close this bug wontfix for now.

As I said, if a decision is made to move from Yammer to another project, and that project has an operational test running, please feel free to use the project kickoff form to get the ball rolling.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: