Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nested comments? #153

Open
ghost opened this issue Feb 12, 2014 · 9 comments
Open

Nested comments? #153

ghost opened this issue Feb 12, 2014 · 9 comments

Comments

@ghost
Copy link

ghost commented Feb 12, 2014

I think not being able to reply to comments inline makes for very confusing discussions. Are there any thoughts regarding adding nested/threaded comments?

@kennethrapp
Copy link
Contributor

I'm going to be a contrarian and suggest that flat comments might actually work better if done properly. Other sites manage inline references without nesting.

Also - this is probably not the "correct" way to do it but here is an experiment I made a while ago to build a threaded forum using firebase.io: https://github.com/kennethrapp/firethread

I think it's about as simple as you can get - using id/parent id references and building everything in the browser.

@ghost
Copy link
Author

ghost commented Feb 12, 2014

I'm not familiar with firebase, but that looks interesting. I'll have to take a closer look.

Using the existing infrastructure, I think this would be fairly simple and we'd get fast hierarchical retrieval using materialized paths. However, if the idea is to add comment voting at some point then sorting by votes/score is where things get much more complicated... maybe a hybrid backend/client sorting solution would work well.

That said, there really doesn't appear to be much interest in this feature at the moment, I'm just putting some ideas out there.

@treygriffith
Copy link
Collaborator

@kennethrapp does your example of a threaded forum have a live demo somewhere? I am interested in non-nested options. In my own experience I skip over deeply nested threads as they usually don't add much to the conversation (although maybe that's an argument to keep them nested so there is an easy visual cue?).

@kennethrapp
Copy link
Contributor

sure: http://kennethrapp.github.io/firethread/ - it should also run if you just clone it and open it locally but I understand if people don't want to do that ;)

It's still little more than a proof of concept for myself, but I think it does solve one of the problems I have with threaded comments which is that threading tends to work for headers, but makes following conversations difficult when the comments themselves are also threaded. Although in the case of deeply nested threads, I understand this is meant to be a feature in some places.

@willurd
Copy link
Contributor

willurd commented Feb 16, 2014

What about having some kind of syntax where you can respond to a comment by id/number. Something like:

#15

I agree in principal with what you're saying, but...

#27

Have you tried...

Essentially, it would place some kind of widget (link, button that opens a modal, expandable preview, whatever) inline in your comment that shows what you're replaying to.

@chall8908
Copy link

@willurd that's pretty much how FIM Fiction handles comments. I find that it works pretty well.

Replies use the name of the poster as the link. Depending on how prominent the name of the poster is, this may make it easier to figure out which comment is being replied to.
comment

Hovering over the link opens the comment in a floating div.
comment_hover

Clicking on it opens the comment in-line.
comment_click
Comments shown in this manner can also be clicked on. So, if that comment is a reply to another comment, that comment can be in-lined inside the first comment and so on.

@willurd
Copy link
Contributor

willurd commented Feb 16, 2014

@chall8908 I really like that. That's also great for mobile devices which are inherently bad at displaying nested content inline.

@kennethrapp
Copy link
Contributor

Imageboards use that method. I think it would allow the structure of conversations to be more dynamic than nested comments would. The scripting could also be done entirely though main.js.

@treygriffith
Copy link
Collaborator

Seeing @chall8908's example has me thinking that a totally flat structure (not even one-level nesting) is the way to go. I like the idea of quoting based on user (which is easy) and post (which is specific).

Perhaps the way to go would be to have the commenter type the user's name, and pull up a list of that user's comments in this thread so that the commenter can select the specific comment to be referenced. It wouldn't even require any backend work, like @kennethrapp mentioned - the post referenced can be pulled in with front-end js (Trello has a system like this that works pretty well).

Here's some interesting reading on this topic:
http://blog.vanillaforums.com/philosophy/why-vanilla-no-nested-comments/
http://www.codinghorror.com/blog/2006/11/discussions-flat-or-threaded.html
http://www.joelonsoftware.com/articles/BuildingCommunitieswithSo.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants