But conversations are nested anyway. In real life you rarely have discussions with more than ten people at once. Even when you do, it's frustrating as you have to switch between topics instead of following the "threads" of the conversation. (And inevitably someone doesn't shut up and derails the conversation in a particular way.)
So what do current systems do?
* Go for broke, go full threading (eg. HN, Reddit, Usenet).
* Ignore it (eg. phpBB). Just like real life, everything gets muddied, but you have far more people in the conversation that would be practical in reality.
* Track it but try to hide it (eg. Twitter). Discussions have tree structures, but you can only have a flat view of them. You have to manually sift through replies to find the branching points and then trace it from there.
For example, these are two discussion trees branching from the same conversation starter:
Ours is essentially the twitter model, with a few tweaks. I think a hybrid approach -- flat for reading, but limited expansions on demand for context -- is best.
So what do current systems do?
* Go for broke, go full threading (eg. HN, Reddit, Usenet).
* Ignore it (eg. phpBB). Just like real life, everything gets muddied, but you have far more people in the conversation that would be practical in reality.
* Track it but try to hide it (eg. Twitter). Discussions have tree structures, but you can only have a flat view of them. You have to manually sift through replies to find the branching points and then trace it from there.
For example, these are two discussion trees branching from the same conversation starter:
https://twitter.com/lgarvey/status/279088834115940352
https://twitter.com/nitecoder/status/279088173743747072
In any case, I suspect Discourse's threading mostly stems from Jeff Atwood's dislike of threading: http://www.codinghorror.com/blog/2012/12/web-discussions-fla...