Hacker News new | past | comments | ask | show | jobs | submit login
The best way to have complex discussions? (cq2.co)
512 points by anandbaburajan 7 months ago | hide | past | favorite | 322 comments



> we started searching for a tool specifically built for complex discussions. We found none

This was basically solved in Usenet, more specifically, in news reader software. You had a clearly arranged threaded view (you could see the thread structure of as many as 50 postings on a single screen), with unread threads and unread postings highlighted, and pressing Tab jumped to the next unread posting. Unread status was per posting/comment, not by time. Many more conveniences for quick navigation, filtering, and so on.

All newer discussion platforms have been a step back in terms of efficiency of use and ability for deep, long running discussions. Initially due to web browser limitations (though nowadays that shouldn’t be much of a problem anymore), and later due to mobile touch interfaces (still poses some difficulties).


I have a very hard time connecting this to my lived experience of Usenet, which was full of top- and bottom- quoted posts, broken threads, and routine missing posts that sometimes left people talking past each other for days. I dearly loved Usenet; it started my career. But I don't miss it. Even before you get to basic affordances like posts, moderation and sorting, and following specific people, the basic nuts-and-bolts experience of discussing topics on Usenet was worse than it is today on Reddit, Usenet's rightful heir.


I disagree with this; I lived through this switch. The problem might be that it was a paradigm shift; I realize what reddit does is not something USENET could be scaled to(?). Using USENET across multiple decades, I was used to following certain groups meticulously, tracking and reading whatever new items appeared. In particular, the news reader application - NN - had very solid tools for browsing and tracking discussions. When set up correctly, I could work through updates by pressing the space-bar to page through them.

Reddit, and the even worse lesser forums, loses pretty much all of that. Browsing reddit, for me, feels more like watching a mix of a river with flotsam drifting by, a busy traffic street, uncoordinated fireworks, and a tornado ripping through a midwestern city. There are no tools to track what you have and haven't read already, or what new comments have appeared. You cannot sort and filter the posts properly, the best you get is a "do you feel lucky?" search, which often shows that "no, you weren't lucky today". On low-traffic subreddits, it IS possible to track new stuff, but you have to do so manually. I offer no solutions, I don't know how to effectively do highquality discussions for 6 or 7 billion people.


What struck me early on with Reddit is that it's where conversations go to die.

That's both a matter of design and scale. Forums larger than ~10^2 -- 10^3 participants aren't really discussions so much as a compilation of hit-and-run pieces. For very large subs (10^5 -- 10^6), discussion is effectively over within a day, if not hours.

A strong contrast are the now-defunct Google+ and (at certain points in its evolution) Ello, and the not-quite-dead-yet Diaspora*, all of which had or have a "notifications" pane in which recent discussions are presented in full, and to which all or most prior participants (so long as they've not muted the discussion) see not only direct responses but new comments. I've seen specific conversations continued for days, weeks, months, and even years, productively, and it's a really good way to noodle at an idea (particularly with a good post moderator) over time.

There are other factors about that which also contribute. All three of these platforms are post-and-comment style (HN can be somewhat like this), where the post author is the moderator of that post (HN is NOT like this). I consider the post author a "host", and think of this as a "salon-style" network. Barring blocking actions (which can have a pretty profound impact, TBH), everyone is mostly seeing the same discussion.[1] All three platforms also showed comments to posts in strict, flat, chronological order. As a long-time user of threaded interfaces (tin, mutt, /., Reddit, HN, etc.) this grated strongly on me for quite a while, but I eventually came to see the model as useful and with merits. It's an option and a tool in the box, though I'll still say it's not appropriate in all cases.

I'll also note that G+, Ello, and Diaspora* all have relatively small limits on discussion, with a post permitting up to 500 comments, so while the platform sizes could be large (G+ claimed over 4 billion "accounts", though highly actives were ~10 million or so), individual discussions tended to be fairly small. I'll also note that the salon-style engagement was fairly rare, many people (and institutional/organisational profiles) treated the platforms as post-only or broadcast, and my experience may well be niche. That said, there were some awesome discussions on all three of these which simply don't seem to gell elsewhere: Reddit, HN, and the Fediverse come particularly to mind.

Specific to HN: it's ... close. Discussions are threaded and moderated (both by mods and members, though by different mechanisms). There's no notification of follow-ups and it's hard to tell when a conversation's really died, or if it's still active. Participation quality is ... mixed, but there are some occasional gems. I do regret that there aren't better tools to surface really-high-quality comments or threads, though there've been some manual processes in the past ("best of" lists). That effort's largely been dropped, for understandable reasons of time and scale.

________________________________

Notes:

1. Some day I really should write up my thoughts on blocking. Effectively, it seems to create a geography or topography of the social network, which combined with follows and inter-participant links gives paths of greater and lesser propagation. Blocking by highly-linked nodes in particular can be devastating to reach, particularly in a simple chronological timeline. I'm a fan of the mental-hygiene aspects of blocks,[2] but have to admit that being on the receiving end can occasionally hurt. But beyond that, the effects on how following and blocking shape the overall network and activity dynamics is simply fascinating to me.

2. <https://toot.cat/@dredmorbius/104371585950783019>


I find this part as the general trend of enshitificaiton. Sometimes it's incompetence in UI/UX, other times it's other perverted reasons such as to keep users confused causing them to linger and be server more ads or to confuse users with billing, etc.


Good moderation can increase the signal to noise ratio immensely, but also increases the latency.

I vehemently disagree that Reddit is in any way even approaching equivalent, much less better, than Usenet was.

There's something about the text area, vs an email-like posting box, which encourages low-thought short replies.


This must've differed a lot between usenet groups then; the ones I was on strictly followed a bottom (or infix) posting pattern and would chastise people who did it differently.


So the culture enforced the discussion format, not the technology.

Technically we could be all writing in a giant Notepad file, and adhere to any discussion format.


The technology supported and encouraged it, for example by editors placing the cursor and the signature at the bottom of the quoted post by default, and auto-removing the quoted post’s signature, so you could immediately start typing your reply at the “right” location. Furthermore, when reading postings, the viewer would automatically jump to the first nonquoted part.

In email, top-posting began when Microsoft’s first email client placed cursor and signature at the top of the quoted email instead, and didn’t provide commands to reflow partial quotes, or any of the features mentioned above. It also had no threaded view, which is what makes it practical to only partially quote instead of fully.

Culture is important, but technology can influence it heavily.


That's basically how discussions work in Wikipedia (and other MediaWiki projects). Discussion pages are just a giant text file which anyone can edit fully. The only extra feature over Notepad is an implicit edit history.


What made this workable was that discussions were rarely "hot" - typically you discussed with one or two users over a span of many hours / days. Once you got many people editing the discussion page at the same time, you got conflicts which were solvable but annoying.

(My experience is more than 10 years old, though)


It feels like a straight line to that from the c2 wiki, where that was all pages, not just discussion pages. Discussion happened inline.


I have the same response, more or less. Loved usenet, and miss it, but don't know it would actually compare well to reddit or even other forum software. I think the amount of traffic in usenet was smaller, the groups were smaller, and far less nasty actors.

I think worshipping Usenet is just a simple case of rose-tinted glasses. Like people telling how awesome old OSs and applications were in the 90s ;)


When did you first encounter Usenet?

I'd had my first tastes in the late 1980s, where some uniformity of tools, platforms, and cultures (tin, Unix, and largely uni-based participants) tended to cohere. I've cited on HN Brian Reid's Usenet activity surveys (from John Quarterman's The Matrix,[1] an early exploration of what we'd now consider social networks) several times on HN[2]. As of 1988, there were 381 newsgrous, 1,933 articles/day, 4.4 MiB/day of traffic, 7,800 hosts, and 141,000 readers. That's ... tiny by contemporary standards.

Cultural norms broke down rapidly as Usenet spread first to corporate networks (Lotus Notes email formats remain a massive annoyance etched in my brain), and then the general public. By the mid-1990s, Usenet though far more active and reaching far more people was a pale shadow of its former self in terms of culture and relevance.

The fundamental technical presentation along with the original posting culture was fairly effective. That unfortunately didn't scale. One of my concerns as I look at decentralised networks with multiple clients and server implementations (e.g., the Fediverse) is that a diversity of tools will inevitably result in a broken set of standards and practices. In the case of the Fediverse, the baseline is fairly low, though there are implementations and/or instances which offer some fairly narrowly-supported capabilities, notably raw HTML or Markdown formatting, and equations support (as with ColinWright's Mathstodon).

I'm not arguing against your experience, FWIW. I am arguing that your experience is probably highly time-dependent on when you participated in Usenet, and the era from 1979--1992 is markedly different from that of 1993 onward, though cracks were already starting to show.

I've also noted that HN has survived longer than Usenet's golden age, and with remarkably stable quality. It's not all it could be, but it's not the worst of what's online either, and by a long shot. Despite some frustrations, I still find it useful.

________________________________

Notes:

1. <https://archive.org/details/matrixcomputerne0000quar/page/24...>

2. Search shows most, excepting where I've brainfarted "Eric" for "Brian": <https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...>


FWIW, many email clients -- before Gmail dumbed down email forever and no one seems to understand that email replies form a tree anymore -- also had (and maybe some still do?) that way of viewing the world.


There arae numerous email clients for Linux-like platforms that provide this, both text-based adn GUI.

Text: Mutt, Alpine, and emacs's mailer off the top of my head. There's a listing of other clients here: <https://www.tecmint.com/best-commandline-email-clients-for-l...>

GUI: Sylpheed, Thunderbird, KMail (KDE's Kontact suite still strikes me as one of the best I've encountered), Evolution, and Clawsmail.

My own strong preference remains mutt, and the ability to process huge amounts of complex email reasonably well is still utterly unmatched.


I like mutt, but aerc [0] is imho much better. But no matter which solution you prefer, editing emails in the terminal is so much more efficient. If the majority would switch to pure text emails instead of HTML...


aerc sometimes breaks on non-compliant email because the author of the header parser refuses to introduce kludges to handle broken email. When it happens, the mail in question simply doesn't show up in the list. I fully understand that position, but it's not really ideal as a user who can't simply refuse to deal with broken crap. So after using it for a couple of months I reverted to neomutt.


Which mail software sends broken mails? As far as I know, this never happens to me.


Missing a link?



Thanks!


Outlook killed it, gmail arrived at a scene with an already dead body :-(


Thunderbird is still alive and developing.


Or like the HN comment system :)


No, HN doesn’t have read/unread state, and also cuts off discussions after a day. This makes checking for new comments tedious, and prevents any longer discussions.


The HN comment system discourages depth as there is a relatively shallow limit to threads. There also is no in-built concept of an inbox to monitor replies.


It discourages reflexive replies. The depth limit is a soft one, just an extra step that perhaps gives one a chance to pause and cool down.


This baffles me so much. It would be so simple and valuable to add.


Hacker News prefers quality over quantity and signal over noise. Deeper threads tend to result in uninteresting, low quality comments as the subject matter diverges from the topic at hand, or flamewars, so long-term engagement is discouraged.


All these decisions add up to people just not replying to interesting questions.

More often than not, nobody will reply, so all threads are just one or two levels deep. Or in the rare case someone actually replies to an interesting point, it's usually not the original poster. Probably because they had no idea that anyone had even followed up on their post.

Requests for elaboration mostly go unanswered, and comments are made expecting no replies. So people just shoot ideas into the void, with interesting interactions only happening when someone famous comments.


I think the main reason for flame wars isn't the depth of threads but the users. Usenet had no such depth limits, LessWrong doesn't have them today.


Yes. The only critical issue I'd see with Usenet's client interfaces would be linking cross threads.

At some point a thrrad becomes irrelevant because of parallel discussions in other threads, being able to easily redirect to a specific point in another thread helps a lot. But that requires an URL, and messages ids weren't used for that purpose.


I actually remember using message IDs to reference other postings. Newsreaders had commands to jump to a certain message ID. You had to copy the message ID from the posting, but on Unix that was just a double-click, and a middle-click to paste, so quickly accomplished.


Zulip has many of these features I believe. Anecdotally it seems to be great for running an online discussion forum for a high school or college level class.


Twist is a better Zulip. Zulip has some awful UX decisions, though the chat experience is definitely a step up on Slack.


I love Zulip, but Twist's free tier seems to be restricted enough that I'm put off trying it. Maybe a month of retention is OK practically, but I'd hate losing conversations if I don't end up needing it enough to pay, so I'm not even inclined to try.


Twist is hugely underrated and doesn’t get the attention it deserves.


I used Zulip last week to ask a question on Lean on their community.

I only sent like 3 messages, but it was awfully slow. Didn't come away with a good impression.


I'd be curious to investigate this; do you have many tens of thousands of unread messages in the Lean community, or is it a new account?

I ask because we have a known issue in Zulip that the first minute or two of using the product is quite slow for folks with 100K for unread messages because it the web app's client-side data fetching system ends up fetching them all in order to make clicking around the app afterwards extremely snappy.

We've reworked that system over the last few months, and it'll be deployed to Zulip Cloud next week if all goes well. But if you don't have a lot of unread messages, I'd very much like to understand why -- I'd love for you to stop by chat.zulip.org and debug with us a bit if you can spare a bit of time.

(It could be that the Lean community Zulip involves rendering a LOT of LaTeX, for example)


I didn't spend a lot of time. It is a new account. I logged in again just now to check.

You are right. Lean community had about 3K unread messages for me. After I marked a whole bunch read, and clicked around a bit, speed is now good.

Thanks for making me check.

My only other feedback would be that there is a new user "tutorial" or rather the interface highlights certain aspects of the UI for the new user. The bubbles that pop up for this, are too small and not noticeable on a dark theme. Make them bigger and different color.


Absolutely! Reworking the onboarding experience is one of our main focus areas right now; we plan to remove the bubbles altogether, and replace them with other types of onboarding content.


I can't recommend Zulip in my context because - reading between the lines slightly - the size of servers it needs is untenable. It scales up, not out, so last I looked autoscaling and resilience weren't there for the number of users I'd need to support.


I lead the Zulip project, feel free to stop by chat.zulip.org to discuss what you're trying to do.

Just to clarify for anyone here reading, Zulip can be scaled out, but largely our philosophy is that you should only scale out if you need to, since it comes with extra fiddly operational headaches and is expensive in dollars. We've designed Zulip with an efficient data model and well-indexes queries, and are constantly working as we add new features to maintain the property that only multi-tenant installations like Zulip Cloud should need to scale it out.

In particular, Zulip on a single server with 16GB of RAM can handle 10,000s of users, thousands of which are concurrently active. (That's what we use for chat.zulip.org, for example, and the machine is usually about 96% idle with only half its memory used).

(Keep in mind that Zulip's public access option means you don't need every user to create an account in order to access content).

I don't know your context, so I can't comment on whether zulip would be suitable. But there are very few communities today having complex conversations involving 100K+ people in a single organization/workspace, so I would expect it to be quite rare that autoscaling would be relevant. (Certainly there are Discords with over a million users, like the Midjourney one, but most of those users are just users the product, not having discussions at all; the company famously made the unusual decision to only offer a Discord bot as UI for their product).

https://zulip.readthedocs.io/en/latest/production/requiremen... has some basic guidelines on Zulip's scalability for a single-instance deployment, but those are fairly conservative -- the goal is for folks to be able to deploy with those settings and be safe even if their load profile per user is fairly heavy for whatever reason.


It is open source (appears to be django-based), so presumably you can treat it like any other Python app and optimise it that way.


So why do you think Usenet is not the mainstream status quo for conversations then?


Because it sucked, and people fondly remembering it have blotted its manifold failures out of their memory. Imagine HN or Reddit, but virtually every post in every thread quotes huge chunks of preceding posts, often many layers deep. Randomly remove comments from threads; remove different comments from different servers at different times, to make sure nobody sees the exact same content. Eliminate search. Eliminate all but the most blunt-force moderation. Eliminate user profiles, or following particular users. Divide the universe into a global taxonomy of discussion topics, then allow people to cross-post from one to the other, starting firestorms of confused argument and complaint. Wait 2-12 hours for your discussion partners to see your as they move peristaltically through the store-and-forward NNTP system. Expire all history after a week or so. Every once in awhile, just for fun, drop a 50-comment-long chain of uuencoded binary chunks into the middle of your debate about Lisp.

Usenet was one of the first systems of its kind, and it's no wonder people look back on it wistfully. It was wild, being able to talk (or argue, or flame, or troll) people all around the world at every hour of the day. Usenet was amazing. So was the Sony Vaio. You wouldn't want to use it today, though.


I don't know what you're talking about. I use Usenet daily.

Usenet is the best forum system out there; everything web thing is just a ghetto/silo.


I'm guessing you prefer terminal user interfaces to GUIs and spend a large fraction of your compute time in a terminal.


And yet you have 29622 karma points here. To accumulate those points, how many hours did you spend reading and writing on what you'd presumably call a ghetto/silo?


However, I've never been able to actually discuss anything substantial here beyond two or three exchanges at most, usually.

Where is the equivalent of the Usenet three-month-long thread?

The karma points are not transferable, which ticks off the checkbox under the silo column.


Isn't a mailing list as good at hosting a three-month-long thread as Usenet is?


Mailing lists are fine. I run a few, out of a box under my desk here. They do work for long discussions.

Usenet and e-mail are closely related; there is a reason for Usenet to exist.

There exist gateways between usenet and mailing lists, too.

If you join a new mailing list, your only option for "back issue" content is to go through an archive. Either a web archive, or else mbox files.

Usenet has a pull model. You connect your client to a server that stores articles going back whatever: months, years. You're not subscribed to receive anything spontaneously; if you want to quit Usenet, just exit the program, and that's it.

Numerous newsgroups are available in one place; you can search through them in your client and take a look. Mailing list archives tend to be scattered all over the place. GNU mailing lists here, BSD mailing lists there ...

On Usenet, you never have to use an identity with a real, working e-mail. Not so with mailing lists; they don't work without a reachable e-mail address.

Usenet has spam and so do mailing lists. But mailing lists have actual e-mail spam. Not only are lists sometimes the targets of spam, but spammers harvest addresses.

So, when I subscribe to mailing lists, I use throw-away addresses, unique for each list. This is a dance I do not have to do with Usenet.

When you use different addresses for subscribing to different mailing lists, you have to be careful to also use the matching addresses as your posting identity! (If you use your principal e-mail address by accident, it could get harvested. Or, something else: the posting might not go through to the list at all, due to that address not being a member.)

When a throw-away mailing list identity receives spam and you replace it with a new one, your old identity still exists in ongoing discussions and will be CC:'d in new postings.

You can use a working e-mail address in your Usenet From: header, if you choose to do so, so that you can be privately contacted. Getting a private e-mail reply from a Usenet posting is rare. If that address starts getting spam, it's pretty easy to change, just in your NNTP client setup. The address is not the basis of your NNTP identity, and so changing it doesn't break threads.

It doesn't involve your mailbox in any way. You don't have to register. "Subscribing" to a newsgroup is purely a local configuration, and you don't have to do that to post to it.

When you sum it all up, Usenet is easier to use and more casual than mailing lists. That gives it a different flavor.


Usenet died due to spam. Newsgroups were unmoderated by default, and moderation wasn’t built into the protocol. Then PHP web forums took over because they were discoverable by web search and only required the web browser that you had anyway. They also added support for popular features like posting images and using emoticons graphics, instead of only text (though the latter hasn’t hurt HN).


We may distinguish between USENET the public network that is part of the Internet (considerd "out of date" by many because it is not Web based, and indeed suffering from spam) and the USENET protocol, which you can use to set up your private version of USENET-like discussion groups.

In fact, many organizations had (and some still may have) inhouse groups, often prefixed "local." e.g. "local.events", "local.jokes" etc.

Advantage: threaded discussions, open standard (many existing open source readers e.g. Emacs: M-x gnus)


> Usenet died due to spam. Newsgroups were unmoderated by default, and moderation wasn’t built into the protocol.

Doesn't that make Usenet unfit for complex public discussions, at least?


It worked quite well with a mostly-academia audience. For the general public, of course, moderation is indispensable. The spam in Usenet began when businesses and scammers discovered Usenet. My point in the root comment is that Usenet clients contained all the ingredients for efficient, structured, long-running, deep discussion, and those are orthogonal to moderation, which you nowadays need in any case.


The problem with Usenet style interfaces isn't just spam, it's low value comments. Comment voting somewhat solves this but most people vote based upon how much they agree rather than the comment's discussion value.


This should be solved by moderation when necessary, like in traditional web forums. I agree that voting is a bad mechanism, because people then start posting for likes and reaction stats, and also involuntarily judge posts by their like count instead of only by their own judgement. Flagging/reporting to moderators is fine.


I'm not sure moderation is that much better. Some moderators strive to be fair but the majority will still vote and moderate based on preferences. There's also the quantity issue, most low-value comments don't break any rules but also aren't very insightful.


It really depends on the community. You can certainly have rules against low-value or one-sentence comments. Here on HN you can get banned if you post too many low-value comments, it doesn’t need voting for that.

I haven’t seen the lack of voting to be a major problem in newsgroups or traditional web forums. But I’ve come to despise the prevalent dynamics of liking/voting in newer platforms.


Slashdot solved this (arguably) by having you classify comments as "interesting", "funny", and several other categories, rather than plain up/down. Although Slashdot failed here by mapping these categories to a single score.


I would argue that Usenet died due to binaries, not spam. Binaries were what made it untenable for independent ISPs to run full-feed Usenet, which sent people who cared about Usenet to third-party centralized services, which destroyed incentives for independent shops to attempt to run Usenet.


These systems were developed before unsolicited commercial promotions started flooding these mediums, later, automation made it worse.


Most people don't want to have truth-seeking complex discussions because it's hard and boring.


Hard, boring, and a social liability.


There's a lot of truth to be found out there that is useful, technical, and utterly devoid of public attention.

But if the truth-seeking you're thinking of is being a culture war truther, that'd certainly explain the woes.


A lot of technical issues are very controversial.

It can be difficult to discuss inside an enterprise because everyone’s already so committed to a particular solution.

People have very strong opinions about crypto, SPAs, and CDNs.


It can be difficult to discuss technical issues inside an enterprise, but if it turns into a social liability, either you enterprise culture is extraordinarily corrosive to the soul, or what you're doing is culture war.

The words they used are social liability, not merely controversial. It's a pretty high bar for how wrong a discussion in an enterprise has to go that it turns into a social liability.


Maybe they're thinking about what they said, which is seeking out truth about issues that happen to be thrown around in culture war?

Anyway, you don't have to go all the way there for knowledge to become a social liability. The more you understand about the universe and the human world - hell, the more permission to think you give yourself - the more you realize just how much utter bullshit regular people believe about everything. Homeopathy, weird coaching stuff, fitness and dieting and cosmetics. This supplement will help your health, that fruit will stop some ailment, looking at a microwave when it's cooking will ruin your eyes, etc. Most of this bullshit is fed by content marketers, through magazines, shows, radio, podcasts, and social media.

I have a whole rant about ethics of advertising, but that's for another day; point here is: it doesn't take much truth-seeking before it gets incredibly cringe to talk with most people. You either let them keep believing in bullshit and suffer inside, or speak up and end up being pushed out of the group.


It's kind of boring at the beginning while you figure out where people are coming from, but if you do it genuinely and openmindedly, it's bound to get interesting.


Especially if the mob and/or government begin to want to "cancel" you.


No need for anyone to still have their own artisanally bespoke thoughts on "why": the reasons for the decline of Usenet are well-documented and easily found. It's a fascinating part of internet history worth reading up on.


People mention the spam, but the decentralized nature also makes it plain harder to use than the web. It's like the difference between Mastodon and X.

Your experience was largely dependent on the server and client you happened to use. I mainly ended up reading threads on Deja News (later Google Groups) because you could at least search for messages that were outside of the retention period of most servers.


No-one has found a funding model that works for it.


Disproved by subscription-based www.cix.co.uk.


I don't see anything about Usenet service on there. More generally, while a few people are willing to pay for access to a discussion service, most aren't and it's not clear that the people who are are a big enough market to be viable.


I was referring to the paradigm but sorry yes you are right the parent was specifically about usenet.

> More generally, while a few people are willing to pay for access to a discussion service, most aren't

Agreed.



Eternal September lowered the average quality of Usenet content, but it’s not what ultimately lead to its demise. I actually only started using Usenet around the mid-90s, and continued for a good decade. The problem later was spam, and web forums being much more discoverable, and somewhat easier to get started with, so that’s where new users went.


You’re right. We shouldn’t try to improve what we are doing now.


I’m saying it’s worth looking into what worked in the past, and why. It’s not uncharted territory.


You only think in yours UX world.

That site shows quite different UX for same logical structure as you said.

I would say backend core logic is almost same as usenet reader or mail client for mailing list.

But the real value is quite different.


As much as they have a bad reputation, I think the image board style of comments is the best for these kinds of discussions.

Each post has a unique ID, and you can insert links to other posts in the text of your post. Then each post is given a set of back-links showing all posts that quote it. In this way, posts form a hyperlinked network that you can traverse relatively easily, while also being displayed in chronological order.

I've found this quite effective for long-form discussion. My only complaint would be that structure is needlessly limited. It would be better if posts simply formed a connected graph of content which you could ask the website to present in arbitrary ways.

This project reminds me a lot of Xanadu in its layout. I don't really think this complex of an interface is necessary. In fact, it might get in the way of productive discussion. I find that the constraints on other mediums (character limits, reply depth, etc.) often aid clarity. The transmission of information between people is fundamentally linear, and so you are pretty much always just going to be composing short essays and exchanging them as the basis of any real discussion. Complicated features seem like they would obstruct this.


Despite all the attempts to improve upon the basics, hyperlinks really are better than almost everything that’s come after them.


HyperCards need to make a comeback


Yes, people just need to embrace the directed graph nature of hyperlinks, instead of desperately trying to flatten the graph into a tree or a sequence (chronological or otherwise). We shouldn't be too surprised it's hard to have complex discussions with modern tools, when those tools removed the possibility of such discussions at structural level.


I think the key part of the UX there is the instant pop-up visibility of the linked comment when you hover over it. Navigating between comments seems like the biggest barrier for most users, where even the extra couple seconds to find out what the person is replying to may be enough to deter someone's interest. And if you accidentally click the wrong place or hit back too many times, it's easy to lose your place.


Most imageboards will show you the post if you hover over a link to it. This technology is decades old.


The downside of this approach is the redundancy of information. If multiple conversations are happening at once, it's hard to follow what people are saying about a particular one. Following a thread's history means there is a huge amount of cognitive load regarding filtering irrelevant comments and ignoring redundant quotes. By this new method, I will only ever be shown a post I don't care about once.


a locally ran reddit-like forum would do wonders for any large or small company

it basically takes the task of organizing and just turns it into a format


I don't know if it's still the case, but Reddit used to be open source.

Years, ago, back when I worked at EA, I convinced some people to spin up an Reddit instance to use for internal discussions. I figured it would be much better than email chains which are easily lost and don't support threading well. It was fun for a while. I have no idea if it stuck around. I left shortly after.


lemmy.ml https://lemmy.ml/post/70280

Just run a private instance if you want.


By "Image board", do you mean 4chan? Or does this also include the likes of reddit and hn?


I refer to all the chan sites and many other sites in the same style. Reddit and HN are not image boards. HN doesn't even have images. They are link/content aggregators.


There are other chan sites of note? Interesting.


The communities are generally significantly smaller but yes. Двач, 8chan, lain, and sharty come to mind.

They're rarely "nice" places though (lain is fairly pleasant).


Ironically, IME the smaller imageboard is the higher average discussion quality ends up. I really enjoy having anonymous discussions on smaller chans, though of course it's still not a very productive endeavor (just like reading reddit or HN).


This also explains it's popularity and notoriarity.


The best way IMO is still (somehow) a 4chan-style linear timeline, with heavy UI affordances to make following >-ref’s simple. This application (and HN, and Reddit) go with the “threads on threads on threads” tree, which is awful for when you want to respond to a specific subset of replies to the same parent comment at once.

How could it be improved? I say embrace the DAG nature of the beast and allow for selecting a specific set of parent nodes a comment is in reply to, and, importantly, make that set editable so when some other person comes in and replies to a comment with a topic that has already been discussed, you can link your earlier replay to that new parent without needing a “see my reply here” comment.


That possibly works for quiet discussions, say <30 total posts.

For these with high level of engagement you often get distinct subtrees of threads which have little to do with each other.

For the latter the linear structure is awful.


That’s where the UI affordances come in, for instance a button on each node to hide/show all comments that are descendants of that node.


So a tree, but worse.


4chan threads are more like DAGs


The graph of 4chan threads are definitely cyclical, since they can include back-references.


To be cyclical they’d need to have elements in reply to a post made after they were created. Including back references is a way of adding more parents, not children.


You can reference posts that haven’t happened yet


You are referring to providing a sequential post ID past the current latest? That is more of a quirk of their naming convention than a product feature. UUID's, for instance, would not support this, and checks could be made in either case to prevent it.


What makes you say it’s worse?


The underlying conceptual structure is still a tree, but now you have to unfold it into a line, with one reply potentially having nothing to do with the one before it (because they're on very different branches).


No, the underlying structure is a DAG. I've already stated this, and that heavy UI affordances should be made to support ease of interaction with this model.


The 4chanx extension (userscript, run it in violentmonkey or equivalent) lets you nest comments in a chain to make following threads easy while maintaining the overall chronological state of the threads. You can also hide a reply, and it will automatically hide the entire chain of replies to that reply.


I like this thought but note that it would no longer technically be a DAG if you allowed editing earlier comments to link to later comments.


This is easy to solve by representing edits as amendments. Each edit forms a new "reply" node in the graph with the amended content.


Ooh, interesting - so it's clear that the B responded to A, not to A'. And your DAG ends up A'->B->A (where -> means responds to).

OTOH I'm not sure that cycles are even a huge problem.


They probably aren't a problem, but they might be. I can see there potentially being some graph theory optimisations on the server side you can do if you know you're dealing with a DAG.

> And your DAG ends up A'->B->A

A' would be in response to A.


Or each edit forms a new "edit" node that new replies are then connected to. Regardless, the DAG can always be preserved somehow.


You could edit a comment to violate the DAG criterion, but not every edit that references a prior node must result in violation of the DAG. Those edits which would result in a violation should be prohibited.


DAG does seem natural here. Having a LLM add metadata to the nodes can make this even cooler. For instance, person A presents statement Sa. Person B comments on person A's statement, Sba and person C comments on person A's statement, Sca. The viewers now, especially new parties that are joining the conversation, would be able to see that Sba agrees to most of Sa said, but refutes a fact said by Sa. Sca doesn't agree with anything Sa is saying. Another example would be, nodes getting more weight as more people agree with it and smaller as more people disagree. Obviously, the implementation and implications are boundless.


An idea I’ve been playing around with in my head for some time is to have LLM’s play a role in somehow generating an idealized debate structure of any given topic. For example, given the prompt “Namespaces are one honking great idea – let's do more of those!”, many actors (LLM’s, humans, etc) would submit top level replies to a hidden container. Eventually, an LLM would look over all the replies and cluster them into a small number of “essential responses”. The process repeats with each of these responses being new top level nodes. Eventually, a tree/dag/graph/something is created that recursively contains all the things one might have to say about the topic at hand.


Although the discussion structure may be different from Fb/Twitter-like platforms, how does this approach mitigate or go around algorithmic curation issues? It's long been know that posts or comments that are visible 'above the fold' promote certain (popular) ideas while occluding the varied long tail. Discoverability, in a way, still needs to be taken into account.


I really like this idea.

Maybe it wouldn’t work for internet chats, but for discussing complex topics as a team? Yes!


I think this would basically kill debates about a lot of things (which is a good thing).

Because when you read enough of the common things people debate, like whether dynamically typed languages are a very bad idea, or how we should address global warming, or stuff like that, you quickly realize there's only a few clusters of arguments which can probably be summarized in a few words each. If you know those clusters, it becomes increasingly hard to add anything different to the discussion... but most people have already heard each of the cluster arguments but did not accept it, which is why the topic remains unresolved - despite the fact that, if everyone agreed on the factual nature of each claim, there would be a mathematically optimal answer. I think the problem is not finding the answer, but accepting the arguments - which you can't get people to do in any case where some judgement is needed.


Considering how debates tend to go in circles, I'm not sure if a DAG is the right data structure


The comments are a DAG. The ideas go in circles.

But I'm not sure you can get an automated map from comments to ideas, no matter what data structure you use...


HN just doesn't have enough controls. I don't just want to reply to you, I want to elevate this comment so your comment is a reply to it...

(Perhaps you could edit in a circular quote of this... :)


> In CQ2, there's no mess of unorganised comments — create threads inside threads so that each thread stays on topic and organised.

Wish this could work, but my experience is that getting people to use even the first layer of threads is very difficult, especially non-technical people.

IMO most often complex discussions will devolve into a "let's just jump on a quick call to settle this", for better or worse.

The feature I am looking forward to the most in comminication apps is having a machine learning model listen to those "quick calls", generate summary and action items and post them right back in the thread. You get the benefits of both worlds that way.


> getting people to use even the first layer of threads is very difficult, especially non-technical people

I've found that as well. I wonder why that is--many times I've been working with someone who is extremely intelligent and methodical as an individual, but structured communication totally breaks down as soon threads enter the picture.

Interestingly, this sometimes even happens verbally (at work, when doing tech support on either side of the phone, at feedback discussions with artists/writers, when talking with friends): some folks really do not like "zeroing in" on specific sub-discussion items, talking them out, then moving on or going back to the bigger picture. Instead, they like to jump around or "chroot" the discussion to whatever the most recent topic of interest is. Anecdotally, it's very much a "two kinds of people" situation, but I don't know what the common factor is (and again, I don't think this is a skill/bad-faith issue; these are smart and reasonable people. They just ... don't think in trees or stacks).


Because nested threads get so deep into the weeds that the eyes start to glaze over.

I liked the old Joel on Software boards. No threads, messages posted sequentially as they are created. If you want to quote, do it manually. I feel like discussion stayed on topic or at least evolved sensibly, there were no deep tangents on pedantic matters that pushed the rest of the messages off the bottom of the page.

Edit: here's a post where Joel talks about the design of his forums.

https://www.joelonsoftware.com/2003/03/03/building-communiti...

I think there's a lot of good sense in there, if you are too young to remember, the JoS forums were the "Hacker News" of their time, a place where programmers and other people involved in software businesses had online discussions about a number of interesting things. Those forums were even simpler than HN is -- no threads, no replies to individual posts. You could read comments in linear order, and post your comment after scrolling to the bottom. That's it.


Interesting essay, but there must be a limit to how these ideas scale, otherwise StackOverflow wouldn't be such a mess.


For the verbal phenomenon, I think that is just a symptom of human brain function. Only a small amount of processing is conscious verbalisation, so you will need to talk about new things while your subconscious processes other ones.

As for online, I think the idea of threads is obviously antithetical to the concept of linear discussion. When you organise things as a tree, you present the many branches as though each is a valid target for a new entry. If you want things to be discussed linearly, you must present that discussion linearly. This linear discussion is feasible only in text, as you have time to think something over before verbalising it.


Because, in Slack for example, the post new top-level message box is right there! The most prominent affordable for replying results in it appearing at the top-level.

If the 'Message #whatever' input was hidden behind '+ New post' then there would be a much clearer push into threads. In my experience (and my own doing) threads are more likely to be used if there's other conversation happening too, or another unrelated message has already followed; otherwise if it's quiet people are quite likely to reply at top-level and I don't think anyone can blame them.

(I don't even really have a problem with it personally, as long as someone doesn't then reply in thread ignoring the top-level discussion about it, which does confuse things.)


Although technically tempting, I think most people don't want to have a transcript/recording of person to person calls, especially in a work context. Even if you aim for "just" an AI summary, there has to be a recording, there has to be a transcript somewhere. Do you trust in the promise of deletion?

Self-censorship, preference and knowledge falsification come to mind. People behave differently when there is no expectation of privacy, when they know they're observed. Apart from employment consequences, social alienation and mental health impact, panopticism may negatively affect creativity and innovation, when people behave less impulsive and more agreeable.

In my practical experience, (local) transcription also tends to be anything, but instant, if you don't allocate significant compute to the task. So your summary may not be available for some time after the call ended. You may need to cognitively backtrack quite a bit to confirm plausibility/"correctness" of the AI production.

Management will love it, everyone else will grow to hate it.

For me, at least, private personal talks/calls are the last bastion of interpersonal bonding and social relief in the modern (remote) work environment.


If you can't trust your coworkers, it might be a sign that it's time to move on. A healthy workplace relies on a certain level of trust.

We already naturally adjust our behavior depending on whether we're with friends, family, coworkers, or supervisors. If your boss is having an affair with the receptionist, you're not going to bring that up in a team meeting. That's self-censorship at play, without any need for surveillance or written records.

Regarding the mental health impact of workplace surveillance, I've never encountered someone explicitly linking their stress or burnout to call transcripts or AI-generated meeting summaries. Many complaints I've heard about mental health tend to focus on these issues:

* Excessive workloads from bosses or coworkers with no recognition.

* Transfer to toxic work environments engineered to make you quit a year before retirement.

* Invasive management that gets too involved in your personal life, knowing details you never told them.

* Boss sharing personal (sometimes even health) information with coworkers.

* Being called into work even when on vacation.

* Soul-crushing jobs with high stress, like call centers.

* An imbalanced work-life dynamic, leaving no time for family or personal care.

* Persistent crunch time with no relief.

* Office politics with gossip and backstabbing.

* Workplace mobbing.

* A number of personal issues that I'm not going to list here.

These are some reasons employees face burnout and dissatisfaction at work. While I'm open to hearing more about the potential mental health impact of call transcripts or AI-generated meeting summaries, it's not something that appears in the complaints I've come across.


> it's not something that appears in the complaints I've come across.

It reads to me like it is.

Arguably five to six of the issues in your list are exacerbated (if not enabled) by constant surveillance. Call transcripts are one more thing that adds to that feeling of surveillance.


That trust should not rely on people having to censure themselves all the time, since that would be harmful for an organization's performance in the long run. And a lot comes down to how that criticism is delivered.


Self-censorship is a natural part of social interactions; it's what allows us to navigate complex relationships and maintain harmony in a workplace. Consider all those intrusive thoughts you’ve had—the ones you chose not to voice because they were inappropriate or would create conflict. Our ability to filter what we say is key to functioning in social settings.

It's like a skill we take for granted. When you see people with certain mental disabilities who can't regulate their words, it quickly makes you realize why self-censorship matters. It's a critical tool for keeping things from descending into chaos.

The question isn't whether self-censorship is necessary, but rather, how much is appropriate. I shared the example of someone who revealed a boss's affair during a team meeting. It was a moment of impulsiveness that led to serious career consequences, to put it mildly.


I understand self-censorship, white lies, and similar social constructs are crucial so that people can get along at all, but sometimes it's important to be able to ruffle some feathers without fear of repercussions, for the benefit of the whole organisation. The Emperor's New Clothes and all that.

That ability goes out the window once all communication is written down verbatim because now people can point fingers and have a grudge with each others for years.

Now, that affair with the receptionist is really HR's problem, and it's just great for one's prospects at the company to inconsiderately flame on the boss' way of doing things (not!). But somehow it should be possible to criticize things without having to join management at the golf club or at pub crawl...


A different angle: cutting private personal talks and interpersonal bonding can help a lot in remote environments.

It might feel paradoxal, but as there's little context on each other's private life in the first place, private talk stays limited and trite (basically close to grocery lane small talk)

For instance imagine having a call for reworking a service and the other side starts asking what you did during the weekend, which happens to be medical follow up for your kids on the spectrum. Either you start explaining all your life, or you just cut it down and deal with the purpose of the meeting.

There's of course a ton of personal preference, some people thrive in grocery lane talks. I just wouldn't expect most people to be so.


Luckily I managed to avoid socially alienated work environments so far. I actually enjoy working even.

I presume the vast majority of humans needs and enjoys social warmth, and a personal connection. You can escalate almost any conversation out of grocery lane talk with one or two questions, so your experience is maybe a bit on you, too. Also don't shun chitchat, there is subtext, belonging and trust building encoded. It's an offer and a compliment.

Apart from basic needs, this also creates an environment more resilient to worker exploitation.


> social warmth, and a personal connection

Yes, definitely, though people going the full-remote route tend to get enough of it to not seek more in the work environment. It's the first time I've ever been in a team where half the people are either actively parenting (taking the kids to school etc.) or fully engaged in a different activity circle (side gigs are ok).

Discussions are fun during offline events/retreats, just not during the meetings.

> resilient to worker exploitation.

Thanks, this is an important angle I didn't consider. I wouldn't drop that kind of inquiry in a casual discussion, but it's something that needs its time and place to check on.


> IMO most often complex discussions will devolve into a "let's just jump on a quick call to settle this", for better or worse.

The issue then isn't about communication but decision making.

Complex topics, for the reasons listed in the linked blog post, should not end up in "let's settle this over a talk".

I personally, to this date, consider moderated vBulletin/phpBB-like forums the highest form of long term communication online.

There are active discussion threads on many forums I follow that are decades old.


> getting people to use even the first layer of threads is very difficult, especially non-technical people

Indeed. We use Google Chat which is roughly a Slack clone in terms of structure. A discussion will start at the root level, and then branch into a thread after a few comments, but some users will miss this and continue to use the root level, which of course gets mixed into unrelated comments. It’s easy to create a mess, and it’s even worse when a discussion has multiple threads.

This “thread-based” style of space/channel was forced upon Google Chat users late last year. Prior to that, we had the option of “topic-based” channels, where every discussion had its own thread and there was no root level. Any reply to a topic would bump the topic into view. These were great for some use cases (one topic for each software issue, one topic for each support case, etc), and were easy to understand for non-technical people, because you could explain it like “each topic is like an email chain”. We got into the habit of summarizing the first comment of each topic, which always remained visible, so you could browse the list of discussions, again, much like email.

Anything that you can relate to email is great for the non-tech crowd.


> getting people to use even the first layer of threads is very difficult

Partly a UX problem. In slack and discord, the default is to send unstructured message to the whole chat - with a big text box and send button at the bottom. The reply-to-break-out-a-thread option is more obscure.

This could be solved by simple UX rearrangement and emphasis. Creating a new thread could have some more friction, for instance, by requiring a title or simply having a button to open the text box.


In that situation you need trained human scribes/editors/facilitators who convert people's unstructured blathering into the proper form for the tool.


This feels a lot like Google Docs's commenting system, and seems to have the same issue in that it requires a lot of clicks to open each side thread one at a time. It's hard to "finish" digesting a series of replies at once.

I think I'd prefer Discourse's current linear format, where all new replies are stacked at the bottom (but ideally with a quoted snippet for context). It makes catching up on updates easier, since you just keep scrolling and reading like any other document.

IMO it often isn't super useful to go through each individual comment piecemeal unless you're working on a document together (ie tracking changes and commenting on them). Otherwise, being able to read through several comments at once and THEN replying to the whole of them in a summary can save everyone time.

It's the infinite back and forth on every minor point that makes long form discussion impossible to track. That's the sort of thing that probably IS better dealt with in real time, over Slack or a call, and then summarized briefly back in the main convo. You don't need to have every sentence recorded in the main convo, just something like "Re: point 4, after talking it through with Joe and Jane, we all agreed it would be best to use blah blah".


> This feels a lot like Google Docs's commenting system

This was my first impression as well. The summary tree of replies to a thread seems like a possible improvement over Google Docs but the basic interaction workflow seems the same as Google Docs.

Perhaps there is more innovation to be had by looking at the various specs for webpage annotation systems that have been proposed over the years?


You can't comment on comments in Google Docs.



> We love complex, deep discussions.

Well, that certainly does look deeply complex, so I have no reason to think it wouldn't create deeply complex discussions.

Kidding aside, one thing I like about it is that it makes discussions start around specific snippets of a source text. That is to say, you begin a thread by selecting a piece of text. I am always very skeptical of top-level comments on HN that don't begin with a quote from the article being discussed—more often than not, I am suspicious that the person even read the text before commenting.

That doesn't address how you'd have conversations around anything except a block of text. Videos, pictures, games or applications, etc.

And they don't solve the toughest UX problem with this kind of pattern, which is how you treat overlapping excerpts: are they part of the same thread, or a new thread, and how do you define the boundary?


But if a new reply doesn't address a single thing in the parent post, but merely the gist of it or adds an entirely new argument, there's no need to quote an exact sentence.


I'm talking about top level comments, which are essentially replies to the linked article itself; I assume you are too. If you're talking about replies to comments, I more or less agree with you.

But to me, if a top level comment doesn't address a single thing in the parent article, it may not be necessary to post it in a thread about that article in the first place. Occasionally I see interesting, novel comments by people who probably haven't read the article, but the most common case is that I see tired retreads of ongoing culture wars, or warmed-over, extremely basic opinions. It's much more interesting to me when HN sometimes engages with a particular text rather than just opening the window and lets the rest of the (godforsaken) internet fly in.

Or, that the commenter gives an opinion about something which is directly addressed in the article. Or, that the commenter has clearly misunderstood the point of the article because they've only read the headline, so they are wasting time arguing about something totally unrelated to it.


Yes, and you can reply to the whole comment as well, instead of a particular text inside it, by using the reply button on the top-right of the comment.


> are they part of the same thread, or a new thread, and how do you define the boundary?

This is very interesting and something we're still exploring.


I worked in a department that facilitated group discussions with a custom platform based on group decision-making research. One of the killer features of our platform was anonymity. Truth could arise in group discussions when people were free to comment, upvote, etc, without fear of retribution, being accused of playing polities, or just going with the crowd. Seeing everybody's name tagged in every comment in cq2 lets me know that people with uncomfortable ideas may be hesitant to post them. So I wonder what type of questions would be appropriate for the c2q type of tracking.


At some point no solution is perfect and anonymity brings its own set of issues.

What you are describing is also a cultural more than a framework issue.

People should not fear retribution for voicing their doubts and I'm lucky enough that none of my latest clients or previous employer had such an environment.


I built a pseudo anonymous forum system for a client. He would give out logins, so he could monitor behaviour and participation. It was used when two large UK charities merged. Be then produced a report based on the ideas that came from it. I don't know if he took the idea further.


I'd love to hear more about your experience with this platform. Is there any public information about this platform or research? How did you guys manage the bad behaviors that come with anonymity, like trolling?

I'm currently feeling out a little research project around the use of AI in improving group decision-making, specifically with the hope of improving our political systems. There are so few IRL case studies, it'd be great to have more intuition for this!

(I'm @dch on twitter if you'd prefer to DM)


Visuals are the big missing piece. Any text-based discussion will build different visions in each reader's head. Often, everyone agrees on the text description, and then, when a designer draws a picture, everyone disagrees because they weren't really aligned, they all assumed everyone shared their own personal vision. I love the concept of building a better way of discussing things asynchronously, but I would put visuals (images, videos, diagrams) at the center of that forum and overcome the biggest issue with visuals -- that they are often hard to make for many people.

All the mentioned alternatives tie comments to a particular user and relate comments (responses) to other comments. Instead, the conversation could be focused on the topic of discussion, which is often best described as a set of visuals describing the concept. Rather than responding to comments, you could organize comments around the associated component of the problem as it is described visually. This would allow multiple individuals to support a concept, rather than just amplifying or criticizing a particular user's comment. This might even help avoid defensive behavior since the problem is the focus rather than a particular person's comment.


> I would put visuals (images, videos, diagrams) at the center of that forum and overcome the biggest issue with visuals -- that they are often hard to make for many people.

> Rather than responding to comments, you could organize comments around the associated component of the problem as it is described visually.

> This might even help avoid defensive behavior since the problem is the focus rather than a particular person's comment.

These comments echo my feelings exactly. I think that building a structure that represents the concepts being discussed is critical to improving how we discuss and improve our understanding of complex issues.

I'm working on a tool[1] that hopes to make it easier for people to build and work with such a structure, though it's focused specifically in the context of solving problems, and it's still missing some important features for collaborative usage (comments are particularly relevant here, they're coming soon^TM). The core ideas[2] seem to align with your comments, though the tool further distinguishes auxiliary concepts (questions, facts, sources) from primary ones (problems, causes, effects, tradeoffs, solutions, etc).

[1] https://ameliorate.app/ [2] https://ameliorate.app/docs/getting-started/core-ideas


I think when a group wants to build something you’re right - images help, but when you want to make a group build something text is often enough.


Heh, perhaps you could use the text comments to constantly update a visual description generated by AI? That way, nobody needs to make a drawing. Conversely, nobody has direct control over the visuals.

I envision a UI where people type their comment into a text box, that comment is sent to the server which is constantly updating the "visuals that describe the idea". Each client updates their UI with the new visuals along with providing some way of attaching all the comments to the visual images/videos/diagrams. IOW, the AI-generated visuals are the center of the client UI, rather than just a scrolling tape of comments. Clients can then navigate the discussion by diving into different components of the discussion. Maybe there's even an AI-generated summary of some sort. Essentially, the AI is playing the role of a Designer drawing pictures in a side channel and a smart assistant who is constantly updating a summary abstract.


I like your ideas here, and for some reason your comments remind me of the vision of Google Wave, which was much hyped but suffered in my opinion from its lack of usage. It also had a weird interaction model which wasn’t quite public or private, sort of like the issues Google+ had with Circles. I’m reminded of the poor UI/UX and design/ergonomics of playing Nintendo games online with Friend Codes.


I remember the hype around Google Wave, but I never personally had the opportunity to try it out. I recall seeing some screenshots that looked a bit like Google groups but with more icons. I did use Google Circles and Google+. Sounds like a fun bit of weekend research.


I think parts of Wave were incorporated into Google+, now discontinued (running theme with Google products unfortunately), as well as incorporated in some collaboration/feedback/commenting features of Google Docs, iirc.

Please reply back if you find anything interesting about Wave, it was pretty interesting at the time.


In person, with a small group of people who naturally like each other enough to want to be helpful while keeping anyone senior enough to be arrogant out. That's how you get a year worth of work done in a month.


Doesn't have to be in person but small group who like each other and want to be helpful would work the same IRL on Slack or whatever else.

There is no technical solution that solves that.


Serious question: what is wrong with HN/Old Reddit style ? In my experience, that system manned by competent moderators delivers satisfactory discussion.


I also have this question. Moreover, the presumption with "complex" discussions is that the participants will seek to engage despite (relatively) small barriers, which presents (imo) an existential challenge to this solution.



Indeed, threaded demands more effort from the user, hence why I usually push Discourse for casual communities - flat works better there. But here we are talking about "complex discussions", for which flat is frustrating. Market segmentation !


This seems similar to the good-old-days Usenet with threaded readers that showed only new posts and a culture of interspersing responses (with much scolding of people who top posted).

I'd love to see something like this that works more generally. I suspect it might need a more graph-like structure akin to mind maps.


Pretty cool idea. It seems to address most of the UX issues I experience with BBS softwares. The only possible issue I see is density of information. People using mobile devices are not very motivated to read or write long sentences. This may have an impact on the overall quality of discussion. On my personal computer, this very post consumes two lines of text. On my iPhone, it consumes nearly half of the vertical space, thus appearing large (despite shallow content).


This is pretty interesting. Kind of like Reddit/hn comments in chat format.

Esp interesting the part where you can start threads from quotes.

Kudos.

I'd like to point out the issue with these kinds of threaded discussions for non-complex discussions, including the simpler nodes of complex discussions. And that is that people often have a hard time figuring out which thread node to reply to in a more complicated discussion system.

For the most part it's easy for engineer types, but most normies often find them confusing.

But I really like the effort to highlight leaf nodes that you haven't read/seen etc.

Discovery will probably be the hardest part when revisiting other people's discussions. When you are trying to find out what the most interesting relevant node of a discussion is.

Really curious to see where this goes.


Curating a discussion is not a technical problem, it’s just work. Observers may be more numerous than participants. Casual participants may outnumber intense ones. Intense contributors might not be the best curators.


I think those investing efforts and time developing participatory democracy systems, are trying to solve these kind of communication and reasoning problems.

Examples: https://www.noemamag.com/tomorrows-democracy-is-open-source/

and

decidim.org


I'd like to work on something like these, and I didn't know about them--thanks for sharing.

But I don't think the web has the right structure for an app like this. (Decidim seems to be a web app. It's hard to find information about this "Open Insight" thing they're talking about, presumably it is too?)

If you're using the web, somebody controls the server and the others have to trust that person to not abuse their role. It's not exactly primed for democracy.

Blockchains aren't quite right either. You solve the untrustworthy admin problem but you've got this really strong notion of THE official record, which only some people are going to have the ability to update, and that will be used by the powerful at the expense of the weak.

Whatever the right structure is, I think it's partition tolerant. Any party needs to be able to disconnect themselves from any other party such that:

- everything not reliant on that trust edge still works (the web would struggle with this)

- the untrusted party has no ability to censor the revoker, even if they're well trusted by the others (blockchains will struggle with this)

I've been tossing around ideas for what the ideal protocol would look like. SSB is the closest thing I can think of to compare it to, but nothing about it feels very solid yet.


Have you heard of Veilid? It’s sort of envisioned as a framework for building encrypted distributed/federated apps. It’s early days and in active development, but the idea and goals of it remind me of the issues you raised.

https://veilid.com/

https://gitlab.com/veilid/veilid

DEF CON 31 - The Internals of Veilid, a New Decentralized Application Framework - DilDog, Medus4

https://www.youtube.com/watch?v=Kb1lKscAMDQ

An Introduction to Veilid, by Christien Rioux - Rust Linz November 2023

https://www.youtube.com/watch?v=h288gZTjJOM

There’s also Willow Protocol, which is sometimes compared to SSB and Veilid, but I don’t know as much about it.

https://willowprotocol.org/

Comparison to Other Protocols

https://willowprotocol.org/more/compare/index.html#willow_co...

Edit:

Veilid, So easy a Teenager Can Do It! - Bianca Lewis

https://www.youtube.com/watch?v=0BfxIGD6Xno&t=362s


Veilid, yes, willow, no. Thanks for pointing that out, I'll read up on it

I'm starting with something that's familiar but not structurally aligned with what I want to do (git+ssh). I intend to make the "backend" pluggable so I can use the same app to evaluate different distributed frameworks (Veilid, IPFS/Ceramic, IPFS/OrbitDB, Holepunch, IPv8, ...)

Otherwise I'll just spend my life tinkering with distributed frameworks and never end up with a distributed app.


You might like this too, then:

Willow Protocol

429 points by todsacerdoti

3 months ago | 123 comments

https://news.ycombinator.com/item?id=39026791


You're welcome and I'm glad you appreciated. Also, thank you for your insights. About "Open Insight", I think it's not so open at the moment, since I couldn't find any kind of code repository. Maybe it is at an early design phase. Decidim.org is made with Ruby on Rails (good for fast prototyping, but a questionable choice for a critical system, IMHO).


+100, this problem with popular chat services has irked me for a long time too. Anything that forces you to be constantly monitoring the chat stream synchronously is annoying. Some people can do that and still get deep work done, but I can't. I much prefer async chat, be it email or reddit/hn or some other attempts like Atlassian's erstwhile chat client. Always glad to see new attempts at solving this problem, thanks cq2 team! Will be following the project.


<3


I spent 5 minutes on https://cq2.co/app/demo and failed to figure out how to navigate.


Curious to know what exactly wasn't clear. One just needs to click on the highlighted texts to open threads and scroll left/right as needed.


Having tried the demo, I can now say that it is a very confusing way to lay out content.


This leans into threading harder, which makes ratholing and wild tangents happen and suck up all the air in the room. Going in the other direction is pol.is, which is used in vTaiwan to propose new laws. The mechanism there is twofold:

> The first is that you cannot reply to comments. “If people can propose their ideas and comments but they cannot reply to each other, then it drastically reduces the motivation for trolls to troll,”

> The second is that it uses the upvotes and downvotes to generate a kind of map of all the participants in the debate, clustering together people who have voted similarly. Although there may be hundreds or thousands of separate comments, like-minded groups rapidly emerge in this voting map, showing where there are divides and where there is consensus. People then naturally try to draft comments that will win votes from both sides of a divide, gradually eliminating the gaps.

https://www.technologyreview.com/2018/08/21/240284/the-simpl...


Fascinating, thanks !

So Pol.is sounds to be the opposite of bubbles-forming social media (especially Twitter where it's hard to see past the previous/next post ?), on the contrary, it encourages consensus-building thanks to deliberately showing what people agree about ?


And not going off on wild tangents or into the weeds. Like, I could comment on your use of the word bubbles to bring up the iPhone/Android blue/green bubble debate, which has nothing to do with the discussion, and then we're talking about that instead of the subject at hand.


I've wanted to create something like this for a long time. I've always wanted a threaded system where you can respond to a single line of text.

One thing I wonder is how this can best be extended to argumentative discourses where much of the discussion is a dispute of facts. Of course you could do that with this, but it won't be clear looking at the comment tree whether people agree on what facts, if any, are correct.

I wonder if this could be extended (or have a mode) that requires consensus on whether a thread is concluded (instead of one person deciding), which could be as simple as keeping the current UI but allowing the people the option to re-open threads; and the ability to attach summary statements to threads which percolate up to the thread's branch point.


> One thing I wonder is how this can best be extended to argumentative discourses where much of the discussion is a dispute of facts.

This is what I always think about when the topic of structured argument/discussion comes up, but everyone wants to focus on aspects of the threading.

We are still totally missing a n obvious layer or organization, such as splitting sub comments into categories like disputes-parent and supports-parent and asks-clarification and elaborates-parent. We’re missing flags for ad-hom and logical fallacies and all the nuance of discussion has degenerated into up/down votes . And we are missing the ability to collapse or zip up any finished meandering paths once there is consensus/clarity on the subtopic.

Since all we do is debate bullshit on the internet it’s surprising that we’re still so disorganized and ineffective at it!

There’s definitely a sweet spot somewhere between this baby talk that we’re all engaged in and the rigors of things like lawyery jargon / math / Loglan. But we’re not even close yet.


Super cool. I've been thinking about building something like this for years. I have a background in debate, and the inability to "flow" complex discussion in any sort of digital format has always bothered me. I'm excited to try this out.


As someone else who is currently into debate, I'll probably use this for flowing in the near-future. It's interesting that most people view debate as "who can make flashier speeches?" when the skills are more so about tracking and participating in very lengthy discussions.

I never fully grasped just how hard it is to understand and respond to what other people say until I got smoked by people who do it competitively.


Curious to know what you two think about Kialo. It's built for debates. CQ2 can be used for debates but it's really for complex discussions.


I hate to be that guy, but over the years I've come to the conclusion that the only way to have good online conversations is to filter out 90% of the population, which is incapable of handling that complexity.

This is not merely an IQ thing, but also requires self-control, empathy, effort and good technique in communication.

Users that have those qualities can get by with a regular forum. The only marginal situation is users that almost fit this description, where better UX such as what this or Google Wave, can make a difference.


> the only way to have good online conversations is to filter out 90% of the population

Moderation is not an anti-pattern, but trying to do it at scale without robust tools and strong identity management is destined to fail. The real anti-pattern in communication is allowing destructive behaviour to undermine the discussion.

So, to re-state your point: The only way to have good online conversations is to restrict participation to people who are actively willing to discuss, to learn, and to commit to making a constructive contribution.

This implies strong identity management and moderation.


I think an enhanced forum with filters and graphs would be good. Give me all replies to this post I'm interested in and all following replies as well. Visualise the thread as a graph, so that I can easily follow the branches that are relevant to me. Something like Obsidian maybe? Classic forums are exhausting if dozens of people talk in parallel.


How do you filter? I.e. this sounds good, I'd like more actionable advice on this.

I've noticed that we have started migrating more often than previously. Slashdot, some subreddits, now hackernews... It's becoming increasingly harder to identify any particular platform with potentially more interesting discussions.


> we started searching for a tool specifically built for complex discussions. We found none

What about:

https://www.kialo.com/


Or the almost 200 other tools and experiments: https://docs.google.com/spreadsheets/d/1wQShF0J3lGmIFACTvt5F...

It's a difficult but important problem to solve and we need more people in this space.


That's an interesting list, will explore, thanks!


Kialo is for debates, not for complex discussions.


I like it. Takes some effort to get used but it sure does remove much of the usual BB mess. Some breadcrumb style widget on the top to show which level you are on could also be nice.


We'll highlight the current open threads in the tree.


A great idea.

Some personal thoughts:

1. I would like to be able to see all the comments from selected people (myself by default).

2. I would like to be able to un-conclude a thread for the fat-fingered among us.

3. As I hover over the document, if there are comments, I would love to see the comment count to judge the activity (or something to show hotspots -- now or over time).

4. I would like to be able to start a discussion with an external markdown file.

5. An API to access updates (including real-time changes) would be excellent.

I've also dropped these in the Github comments.


Interesting ideas, will reply on GitHub!


Communication is more than reading and writing words and sentences. I would distinguish between complex discussions and discussions about complex topics.


Google Wave again?


I was scrolling through looking for the Google Wave comment. Sad to see it at the bottom.

Wave was, IMHO, the UI paradigm of the future for this sort of thing. I have hope that it was just too far ahead of it's time and something like it will catch on again.

I think the problem it suffered from, besides being a little too "out there" for the average user, was that it required to much careful attention to how you used it. Where to fork the discussions, where to spilt them off into their own wave leaving only a link in their place, etc. It just doesn't work for people for whom the "reply all" button seems a sensible solution....

I had such hope for it though. The technical side seems pretty well solved at this point, it seems like that we need is a crack team of psychologists and UX people to have a go at the problem.


> ... too much careful attention to how you used it.

Zulip has been mentioned a couple of times in this thread, with similar results in utilization.

I like learning and exploring new tools, but if there's one thing I've learned about building them is that most people are only interested in using your tool to the barest minimum to get the result they need. See (without citation) how many software engineers you know don't "understand" Git beyond add / commit / push.

What that means is that if you have a dedicated group of people that is interested in exploring a new tool and understanding it, then great! Those people are going to love the tool and take the time to learn it. But the demands of society / work / time limits means that most of the time, they don't want to spend that time investment. It might be a "waste" of time, it might not solve the right problem, other people also have to invest the time, etc.

That friction is huge. That's why Slack took off at first, and then Discord blew it away in the consumer world. Discord removed those internal silos, had a lot of the same chrome on it that Slack did for IRC, and then they've continued to make certain things very easy to do within their platform (jumping into voice chats, for instance). But, if you see the newest way they've tried to have threads act as forum messages or posts, there's no consensus on how to use them effectively and I haven't seen them used much, as a result.

Anyway, one day we'll get Wave again and hopefully it won't be killed before its time, for those few of us that really loved it.


Tools are created to reduce the amount of time one spends on a task. The greater the ratio between benefit and effort the better a tool is. If a tool requires the "barest minimum of effort" to be moderately useful, it is an amazing tool because that ratio is high. A tool that requires high effort for high benefit isn't.

That being said, people will voluntarily learn new features if it creates tangible benefits for them. But the learning curve can't be too steep—it has to be intuitive on top of what they already know with consistently increasing rewards.


I think this isn't necessarily true for a company environment though. If a tool is useful and is made the "official" solution for some problem, people will be forced to learn how to use it. Example: Jira. It has lot of complex structure and it can take quite a while to understand just a fraction of its features, but a lot of companies use it. (Granted, most people don't use or need all of its features.)


> Wave was, IMHO, the UI paradigm of the future for this sort of thing. I have hope that it was just too far ahead of it's time and something like it will catch on again.

This paradigm is alive and well at www.cix.co.uk - which predated Wave by 20yrs. HN looks based on it.

I agree. Its way beyond what today's average user wants.


I quite like the "conclude thread" concept (though I couldn't get that button to do anything in the demo), and I'm one of those strange people who would like infinitely nested threads in Slack too...

But the issue with threads is always that people who aren't involved the side-discussion generally never read them. I think it might be nice to have every thread "concluded" with a "result" (summary, outcome, to-do list, etc) which is then injected back into the parent where everybody will see it. It could be manual, or it could be semi-automated with a LLM - I'm not generally a fan but this seems like a reasonable use case. I'd ideally like all the nested threads to naturally turn into a single linear summary of everything important that was decided.

The CQ2 thing also looks a bit too document-oriented, might be a good fit for a wiki or something like that but I think being able to open a thread for every single word is too fine-grained for a typical discussion.


> I couldn't get that button to do anything in the demo

See how the button changes the comment box (but yes, need to improve it)

> I'm one of those strange people who would like infinitely nested threads in Slack too

You're not alone!

> I think it might be nice to have every thread "concluded" with a "result" (summary, outcome, to-do list, etc) which is then injected back into the parent where everybody will see it

Maybe instead of injecting into the parent, we could show it in the info box on hovering the text?

> I'd ideally like all the nested threads to naturally turn into a single linear summary of everything important that was decided

That would be beautiful!

> a thread for every single word is too fine-grained

We've seen threads being created out of two words


> > I couldn't get that button to do anything in the demo > See how the button changes the comment box (but yes, need to improve it)

Oh, I see, all the way down there! I really expected some sort of modal dialog or similar, but it actually does work, you're right.

> You're not alone!

I liked Google Wave too :(

> Maybe instead of injecting into the parent, we could show it in the info box on hovering the text?

Yeah, that'd definitely work with how the UI currently behaves. There's still a discoverability issue with a mouseover though, not to mention the usual problem with touch interfaces - when you get to supporting phones & tablets.

> > a thread for every single word is too fine-grained > We've seen threads being created out of two words

Oh, I'm sure you have! But was that a good thing to be doing? I feel like opening a discussion on a word or two is perfect for a document review tool, but for a conversation a sentence or even a paragraph would be the right unit. Then those thread summaries could appear inline too.

If I think about the work related conversations I have, I'm literally the only person who posts a multi-paragraph essay I've composed outside slack/etc and checked/edited a few times. If other people were like me, this CQ2 approach would be great. However everybody else posts a sentence or two at a time as individual comments in a stream-of-consciousness manner, there's an immediate back-and-forth between 2-3 people in order to establish what's even really being talked about, and threads usually only appear when the main conversation has switched topics so people aren't chatting over each-other. There may be an element of "meeting people where they are" necessary with the product. :)


> I really expected some sort of modal dialog or similar

Yep, that would be better

> for a conversation a sentence or even a paragraph would be the right unit

Interesting thought, will explore more, thanks!


I like the concept. What I would want to see is a clear path to reaching consensus documents.

Comments-upon-comments makes it hard to get an idea of what the overall consensus is. You pretty much need to read all of it and explore every comment thread to understand what are the generally agreed parts and what are the more controversial takes(?).

Maybe some hybrid between this and Wikipedia?


You could maybe achieve that with this design if a summary could be set for resolved discussions and shown at a higher level (eg. when hovering over the source text of a thread).

Having the ability to differentiate between a resolved, useful thread and a resolved but ultimately unnecessary thread might also help avoid noise.


Yeah exactly, it would be interesting to see a concept where the center piece is a consensus document where you could hide/show sections that are more or less controversial. Instead of leaving comments you propose changes, sort of wiki style. But to facilitate a higher level of difference of opinion, changes should have some mechanism for validation against consensus. And controversial changes should not be discarded but instead folded away in a linked comment-like.

Then there also needs to be a mechanism for working towards succinctness.


Interesting, will explore more.


This is nearly perfect! I've been thinking of that problem and possible solutions as well, I am very glad you've done it.

1 loaded question though: who should have the rights for concluding threads? And a sub-question: should concluded threads be locked into read-only state? Or the other party should be able to continue the argument?


Interesting questions!

> who should have the rights for concluding threads?

Not sure, but I guess it could either be anyone or the person who created the thread or the person who was quoted or a specific moderator?. So probably a setting, depending on the team.

> should concluded threads be locked into read-only state?

That sounds a setting too.


This is brilliant and I hope every serious project switches off of Discord. I'm still traumatized by my first visit of Discord.

I must (because I'm not a fan of Reddit as a company) say that Reddit is solving a similar problem already, but I think there's room for a more focused tool like this.


One thing that would be nice to add to the "concluded" status would be a updated version of the highlighted text that started that thread. Probably the old version striked out, and some conclusion appended after it, that way you don't even have to open the thread.


Good idea.


This seems to be heavily inspired by Workflowy's "fractal comments" feature: https://workflowy.com/help/fractal-comments/


Nope, didn't know about it. Looks interesting.


Instead of a long post like that I wished they had a realistic example I could experiment with.


There's a "Try demo discussion" button on the header. Leads to https://cq2.co/app/demo


I tried that and got

CQ2 is not optimized for mobile use. Please try on a desktop or laptop. Go back to homepage


The fact that I can’t see their demo because I’m using the device most people use to browse the web is comical. I don’t like criticizing new products but this is clearly made by someone who doesn’t know how to make product, and considering the pitch…


It seems possible that optimizing for desktop/pessimizing for mobile might be an important aspect of having effective discussion on complex topics.

It will hurt their initial adoption, but might help the product.


The most important aspect of having effective discussions is reading what other people say, and people are more likely to have the patience to do that when they're on mobile and have nothing better do, rather then being on desktop and supposed to work.


I think the mindset of "participating effectively in complex [work] discussion is not an inherent part of your work" is exactly what desktop-only is concretely pushing back against.


Thanks for your reply! I personally don't want to use it on phones, but for times when one only has a phone, we'll add mobile support soon.


Wouldn’t AI help with this? Because complex discussions usually get more complex when multiple sub threads discussing the same topic of the discussion are opened in parallel so you get a disconnected and fragmented chat. Ai could help by identifying that a new subthread is discussing a theme that already has an opened thread and direct the user writing the new thread there to participate in that discussion (by moving the post to the right part of the thread tree)

HN would certainly benefit from this.


The subject matter of the example used to demonstrate the interface is unnecessarily complex. It can be simple yet still stimulate a complex discussion. That would make it easier to understand the interface.


I agree. We have access to five complex discussions, and unfortunately, the ones with simple topics are not available to public.


But the Slack model is useful in its own way. Within a thread, you will see new posts at the bottom so you don't need to constantly scour all the threads to see new comments to it.

Perhaps CQ2 could do with a toggle to switch between the new views (like https://news.ycombinator.com/newcomments vs looking at HN threads), with some transition to help you keep your place when you toggle between them.


At this point I am convinced any meeting with more than six people is a poor way to have a complex discussion. Any more than that is a presentation. Good meeting note taking is a good first step followed by clear and concise action items. Review action items the next meeting and anything else of note from the last meeting. I have had good experience with Miro for facilitating anything that absolutely requires more people.


What does CQ2 mean? It's not an easy name to remember


It presumably is pronounced "seek you too", a reference to the old instant messenger ICQ ("I seek you").


Haha, CQ2 doesn't mean anything, and no, it has nothing to do with ICQ.


Tiny UI feedback, I could not figure out how to go back easily. It took me 1 minute to figure out it was the conclude discussion button on top


You meant going back to the first thread? If yes, you can just horizontally scroll (using trackpad or scroll wheel + shift). If not, go back where?


I find that as soon as you introduce threads as a form of organization, you've already lost the plot with 75% of users.

One may argue that Facebook has threads, but I don't actually think people know how to use them. They simply click reply, say their piece, and then it's lost forever. They have no concept of structure.


I don't think Facebook knows how to use them, as it typically hides most of the comments under a thread and picks out a couple irrelevant ones without their context.


I suspect that's intentional and they're using them to show things you'd likely reply to... and then just bury the rest. More of an opinion black hole than a discussion system.


CQ2 is for those 25% who like threads (and complex discussions).


It's sort of like a tree, except that a node can have a main child and a connection of other children. That's neat, and another helpful step in organizing discussions.

I've always wanted something that is more like a graph structure, where you can reply to multiple comments. So a node can have multiple parents.


Did anyone else find this post confusing? To me this looks like a sideways change, not a forward one.


Can you share what exactly you mean by a sideways change and a forward change, in this context? Thanks!


hmm, almost like how complex discussions work, instead of meandering trains of impulsive thought


What? I question your decision with this comment to prioritize condescension and sarcasm over making a clear point.


I questioned your genuineness; given the context of the topic and the your orthogonal figurative of speech used to describe the issues with the article.

If the meta-pun was incidental, apologies.

This is why HN discourages puns or insubstantial jokes, as it impedes the benefit of doubt when attempting good faith discussions.


The pun didn't even occur to me. I wish I was that clever. God that would've been great.


This also reminds me a little of Kialo (with a canonical holy war of Vim vs Emacs, of course: https://www.kialo.com/vim-vs-emacs-19293)


Kialo looks interesting but it looks like it ends up being a binary tree of pros and cons? (Ie debate outcome)

One shortcoming of debates is assuming that there are only two positions. I get that it’s a simplification to help us manage our thoughts but in many complex discussions the answer is usually a combination of both sides.


Such a combination can become a leaf, triggering a new debate refining it further. I can't fathom a more practical way to explore a subject (and, if necessary, make a decision).


I like Kialo too! But it's more like a tool for simple discussions on simple/complex topics, not a tool for complex discussions.


I built a forum in the very late 1990s to early 2006s that was threaded, topical, but most importantly kept extremely good track of what was unread. This to me is the key to structured discussions.


How is this tool different from https://quip.com/? I don't see any features that set it aside except "Conclude" button.


It's open source (https://github.com/cq2-co/cq2) and not part of Salesforce, both appealling features. But deeper than that I have no experience of Quip (and precious little of CQ2 beyond the blog post) so can't comment reliably.


How is Quip different from Google Docs? Neither are discussion tools. (I use Quip a lot)

Quip has almost exactly the same feature set as google docs — which part of quip were you referring to?


I quite like this for the niche of "medium to slow reply rates" + "larger posts" + "participants who are willing to thoughtfully participate in structure" + "participants interested in discourse" (that is, people who want to record their fully formed thoughts in a thread, or who want to structure persuasive arguments, rather than casual conversation or sniping).

In other words, ideal for dueling essayists, technical RFC documents, or professional/academic debates.

I see there as being 1-2 additional tricky problems to solve for something like this (other than ironing out UX kinks in the implementation, of which there are many--e.g. visual signifiers for overlapping thread sources outside of tree mode; a tree mode that allows users to browse responses without manually expanding things; making "conclude" meaningful):

The first is optional, but I think it would be valuable: in many contexts, discussion and collaborative writing overlap substantially--often more than they don't. It would be interesting to see how the notion of addressing/concluding threads could be tied to changes in the document. E.g. a thread for "I'm onboard with this proposal if we alter the paragraph this is rooted at to contain X because Y" -> "If it gets you onboard, I'm happy to make this change, how about <proposed rephrase>" -> approval/conclusion causes the document to be updated and the thread archived. While that's technically not hard to add, the question is whether bringing in those aspects of mutation/collaborative editing would dilute the utility of the discussion layer, resulting in a shitty Google Docs/shitty Discourse combo, rather than a single-purpose Discourse-but-better application.

The second problem I see isn't optional: thread topology needs to be mutable somehow. In addition to all the valid criticisms of forum/Slack/email-thread discussion formats, any significantly-sized discussion of a complex root document inevitably develops redundancies. You end up with Slack (or whatever) threads cross-linking to other threads ("as I said over here, <content that either may be invalidated with time or which breaks user flow to navigate to another discussion location>"). That leads to significant confusion, and more than a few cases of people making decisions based on stale information as the cross-references get more complicated. Sure, ideally everyone would root discussions at the single most relevant point of their parent content, and new contributors would carefully browse the existing tree to ensure that their contributions were on both the freshest and most germane leaf. But that's never going to happen in practice, so a tool like CQ2 needs some way to rearrange (or embed-with-live-updating, or make rooted at multiple sources rather than one, or something...) discussion trees.

I have no idea what this would look like UX-wise. The 4chan model solves the replies-that-are-relevant-to-multiple-places issue, but doesn't help with re-parenting/consolodation after the fact to make future readers' lives easier, nor does it deal with staleness issues caused by replies linking to intermediate posts on threads which changed consensus later on. Regardless, I think functionality like this (even if it were used infrequently, by curators or administrators) would make the difference between things like CQ2 being useful only for short-to-medium-lifespan discussions with small numbers of participants, and being useful for discussions that stand as long-lived artifacts on their own.


Thanks so much! Loved reading this. Both of the problems are very interesting and it would be fun to go deeper into them. Would love to stay in touch with you. Can you send a hi at anandbaburajan@gmail.com?


Broken scroll on android/firefox.

Complex things are only for apple kids :(


The blog post and homepage both are working fine for me on Firefox Android. Can you raise an issue on our GitHub? :D


We're now back to email threads again it seems. (This is not the criticism it might seem, I miss the days of long-form proposals discussed through email, it promotes a kind of thinking that Slack etc doesn't).


Personally, I liked it when email threads followed the Usenet "laws".

https://jkorpela.fi/usenet/laws.html

Most of the best discussions I've had online followed those rules.

(OTOH, those rules are written tongue-in-cheek and not likely to be understood well by most newcomers.)


Thanks for sharing the laws!


FYI This site somehow completely breaks Firefox 68.12 ESR, it's impossible to even scroll down with the keyboard and somehow hides the always visible scroll bar too.


Are you facing the issue on the blog post or the demo? Or can you open a issue for the same with a scrennshot on our GitHub? Thanks.


Thanks! Will look into it.


Having fruitful complex discussions and staying factual/rational, and not succumbing to impulsive answers, emotions and knee-jerk reactions, is a social/culture problem. And I'm not convinced that this types of problems can be solved with technology.

What I'm trying to say is, that within a team with a good discussion culture, it will work, regardless of what tools you use. Even when the discussion is held in person.

When your team has a bad discussion culture though, it doesn't really matter what tool or tech or discussion structure you use - you'll struggle with straw man arguments, fanboy logic, going in circles, people not listening/understanding each other, etc.

To teach and foster a good discussion culture, you first and foremost need a genuine willingness of all participants to honestly try to improve. And this is a very interpersonal and soft-skill dependent thing to achieve.

Some piece of software might help insofar, as that the change of format can help people to change their discussion style as well. It's easier to fall back into bad habits when discussion are "as usual". Shaking things up a bit, can make it easier for willing people to adopt new behavior...


This is something RoamResearch is squarely a good fit for.

It's very useful for personal capture (with digressions etc) but also handles the "multi-player" case if needed.


I like Roam Research too! However, it's not a tool for complex discussions.


... and versions etc too


You need threading and ability to crosslink posts, then each person should have a custom LLM that can summarize a thread for them in terms of: a) highest scores/most insightful points, b) common points of view that they would disagree with for balance, and c) points made that they agree with.

Hopefully c) would discourage people from reposting the same points, b) might give people alternative perspectives, and a) is just good information or insight.

I think quality discussion will come down to having less redundant discussion and rage posting.


Interesting, will explore more.


I'm not a fan of threading outside chats to be honest.

I'd rather have a moderated linear discussion with quotes/references.


This might also apply to a situation where professors and students are rewriting papers.May save a lot of times.


A system that encoded the rules of a parliamentary democracy in it's logic and interface might work.


The rules of parlimentary democracy primarily seems to be a way to reduce the whims of a great number of people to a small number of people in a room talking. The issue is that building consensus or even giving everyone a fair chance to air their views in a group of 20+ people is EXHAUSTING. Have you ever been to any local politics groups where there are more than about 20 in a room? a meeting to decide what to have for lunch can take 3+ hours. It has its perks too, and its a lot faster when everyone gets to know each other and feels that they are known, then they dont have to repeatedly restate their points every time.

I guess what im saying is its a system very much built around the analog practicalities of speaking with physical people in a physical room. I think we can do better with the internet


All good points. I'm thinking however of a system that didn't just replicate the parliament itself, but also aspects like riding associations and constituent hours. That way the many people can contribute but at different "levels". It's true that actual decision making would only happen at the "parliament" level. I'm thinking of socio-political discussion and decision making.


I would be curious where Discord fits in. It's very popular on new open source projects.


It's pretty similar to Slack in this regard, no? Except that Discord's threads have more friction and take more clicks, if I remember correctly.


Discord fits in perfectly to the last century. :)


did they reinvent email threading


It seems like an enhancement of some parts of email threads rather than a reinvention: replies are identified by where they're rooted rather than a subject; a "concluded" metadata bit is present to at-a-glance delineate stale threads from completed ones; tree structure is enforced by the platform rather than the users following a plain-text convention re: top-posting and quoting; contribution, reply reading, and tree browsing all happen in a single place without involving transmission asynchrony or email clients (which mailing-list-all-the-things zealots probably do not consider an enhancement, but which history indicates most people prefer).


Wow, thanks for that detailed answer!


How does CQ2 compare to Zulip?


Zulip is more of a Slack-like instant chat system with threading as a first class citizen; CQ2 looks like threads only exist in the context of one "root" document vs a channel in zulip where threads can intermingle.


And neither Slack nor Zulip are suitable for complex discussions.


Zulip's core design goal is to make it effective for complex discussions, and our users tell us that it's working. E.g., cutting-edge math research https://zulip.com/case-studies/lean/; Rust language development https://zulip.com/case-studies/rust/.


Half-OT: Can LLMs catch logic fallacies and rhetorical tricks?


Doesn’t work for mobile. Tells me everything I need to know.


We'll be adding mobile support soon.


Will it offer free self-hosted Docker in the future?


Yep.


Isn't this just Google Docs with extra steps?


MacSOUP had the best visualization of threads.


Interesting, can you send a link to a pic? I haven't used it and can't seem to find the visualization on Google.


Kinda like the comments feature on Notion.


Not really.


Yes. I’ve been toying around with a similar idea and wanting to prototype it for a while, but somebody has beaten me to it. I’ll definitely keep an eye on this.

One thing I’d add is specific prompting for a participant’s intent in discussion. _Why_ are you making this point? Is it to correct factual errors in someone else’s post? To convince someone to adopt your point of view? To seek better understanding of what the other person is saying? Just to show off? This is rarely stated explicitly, to a detriment in the quality of the discussion.


Wow, beautiful point! Very LessWrong-esque. Will definitely explore more.


Thought arrow keys would work. :D


Keyboard shortcuts coming soon! :D Also, curious to know where exactly you wanted to use arrow keys: moving horizontally between threads?


Yes sure.


I wish this website didn’t have new ways to prevent me from scrolling tho.

Anyone else unable to scroll the website on mobile?


Can you share which page you faced trouble with?


For sure, it was just the main page. On my phone I can't scroll down (Iphone XR, latest ios). Behaves like an image, i can't even select text.


It's how comments are ranked, and displayed based on "rank"

  >couldn't* care less

  >my..."troll metric" / rage bait/"le reddit quantification", formalized as a response's comment's conversational entropy divided by parent comment length, this is a fantastic comment.
  >
  >Pure, distilled, thought provocation.


I didn't get you. What is how comments are ranked?


Short small comments that provoke pages of thoughtful discussion should be ranked higher than dumb punny one-liner quips or distracting detouring near-suspicious detoured astroturfed irrelevant conversations that often derail important topics.

There should be more than one dimensionality to ranking a comment just like slashdot had.

Downvoting a comment to disagree with it is such a ingrained unfortunate consequence that down votes should actually count more than up votes and all ranking of comments should be by "controversial".

Spam is spam, including "le reddit" humor.

A rank of a comment should be at least somewhat indicative of the the substance of the comment in relation to a point being made... Not whether or not an uncontributing lurker thinks a comment is funny or politically agreeable.

There used to be a unspoken rule that you don't downvote without at least mentioning why. We all know why that went away and we can't say why, But we can think of how to prevent it for the next intellectual chamber we would like inhabit to prevent from it echoing so much we can no longer hear the new ideas.

My (personally) most "provoking" of a comment was:

  >Whataboutism is whataboutism

The other half is presentation. Collapsible comment trees seem good until I hijack every top reply and all others are minimized or top detached visually to be sequitur.

I fear these near-obvious improvements are features, not bugs.


Having a TLDR updated in real time at the top of every complex discussion would be ideal, I hate going in to a thread where there are 30+ pages I have to wade through that can be summarized in a paragraph or two and closed once it gets off topic.


TLDR seems like a good idea, will explore more, thanks.


exactly what we need. computers telling us how to talk like computers.


We need to rethink the foundations.


Can you elaborate?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: