2 ms·
My start-up is all about comments. I've spent months thinking about how to go about commenting... and I still haven't cracked it yet, but let me just spill my
by sam_in_nyc 18y ago
My start-up is all about comments. I've spent months thinking about how to go about commenting... and I still haven't cracked it yet, but let me just spill my thoughts on the matter.
Threaded/Linear have their pros and cons.
To have threaded comments, it means you are limiting the user to explicitly reply to one comment. As an aside, it's possible to make one comment be a reply to many, and then creating some really neat conversation graph out of it, but that's just so complicated. I think we can all agree that threading is the ability to reply to one comment, and create a tree structure of comments.
Threaded comments create a tree of conversation; it's highly structured. Nearly as important as your post is where in the thread it goes. You lose the option to post something more general, or something that references several other posts. The importance in threaded conversations is the structure and not chronology.
Linear comments is all about chronology. The conversation evolves over time, and you lose the structure. It's flat. If you want to reply to someone, you're just quoting then. By the way, a linear commenting system without quoting, in my opinion, is the lowest form of commenting. It almost angers me to see it being used, anywhere.
Nearly all forums use non-threaded, and it seems to work out great! It's more of a community builder -- let's all join this conversation as it passes through time.
Threaded conversations have the problem of becoming highly specific very quickly. But, they allow the structure to be clearly visible. Also, threaded conversations don't allow you to dig for what you want as easily. You'll never be able to order a tree-like structure in any meaningful way unless you flatten it.
The conclusion I ultimately reached was always use threaded, because if you're smart about it, threaded implies linear as well. You can always flatten a tree -- the data is there. But it's much harder to take a linear set of comments and imply which is a child of which based on quoted text. In short, you can go from threaded to non-threaded, but not vice versa.
So, I allow my users to view the conversation as a thread, with very smooth features, like instantly sorting children of any post by Date, Username, or Score. And, coming soon, I'm going to allow a non-threaded view. It will just flatten the tree and show posts, in any order they choose, date, score, username, etc. If the post is a "reply" then I just annote: "In reply to [link]summary of replied post[/link]"
One major issue with threading is scalability. What happens when you have 500 comments in one giant tree? Which do you show? How do you prune the tree? Do you show that gem of a comment that has a depth of 8? Do you hide it's siblings or parents? It really becomes a lot of trouble... and the solution seems to be: "ajax it in."
-sam