We love complex, deep discussions.
We've seen or been part of many discussions — strategic discussions at work, discussions on AI alignment, technical design documents, public policy, etc. For us, the most frustrating issues with discussions are: impulsive responses and lack of structure.
The default way of discussions — in-person ones — are highly susceptible to impulsive responses and are extremely hard to provide a good structure for, making them the worst for complex topics.
The first issue of impulsive responses is a hard nut to crack. Practising and advocating for active listening is the ideal solution but it's not guaranteed to work every time and in every team. That's why we prefer written, async discussions over in-person ones for complex topics — they help prevent impulsive responses to an extent (and even more with features like slow mode) and promote thoughtful responses. But the second issue still remains — written, async discussions lack structure too. If you've used chat/forum platforms like Slack and Discourse for complex discussions, you know how hard it is to follow comments there.
DiscourseIn Discourse, discussions are a stream of unorganised comments. This way of discussion — where people talk over one another and topics get mixed up — doesn't work for deep dives into complex and lengthy topics. For such topics, the discussion needs to be carefully written and organised.
There's no concept of “where” you are in Discourse discussions. There's only “when” you are, since the comments are ordered only by time. Discourse does provide some organisation to see the replies to a comment at one place. However if you need to see the replies to a particular reply inside a comment, you need to scroll down through other comments, find that particular reply (repeated as a comment!) and then check its replies:
SlackSlack is not really built for written, async discussions, but since it's widely used, let's talk about it. Discussions there are a stream of unorganised comments too, but at least Slack has threads to discuss a particular comment in detail in a separate pane. However, if you want to discuss a comment inside a thread in detail (i.e., create a new thread from a thread), you can't — Slack allows only one level of threads. Moreover, Slack feels too chatty — it feels impossible to have a long-running async discussion there. Its UI encourages sending bursts of fast, short comments instead of well-formed thoughts, and the typing indicator keeps everyone else distracted while one person tries to form their idea.
Quote hellNow behold the common annoyance in all chat/forum platforms — the quote hell. What's that? Let's say Ava puts a comment about something. Then Caleb puts a comment with his replies to some quotes from Ava's comment. Now Ava puts a comment with her replies to Caleb's replies in quotes. What's happening? Replies to a topic are spread across different comments and you're forced to mentally manage all those quotes and their replies! On top of that, there are unrelated comments between that break your flow. These problems might not seem big for a discussion between two people, but a complex and lengthy discussion with 5+ participants quickly turns into a huge mess. Here's what a quote hell looks like:
After being frustrated with Slack, Discourse, etc., we started searching for a tool specifically built for complex discussions. We found none, began exploring how such a tool would work and look like, and started building:
CQ2It's a free and open source tool for complex discussions. It's in its early stages, but it's the start of something that we think will both make discussions immensely enjoyable and radically increase productivity. We simulated a small discussion from LessWrong on CQ2. Check it out on the live demo, here! It turned out to be much better organised and easier to follow.
In CQ2, there's no mess of unorganised comments — create threads inside threads so that each thread stays on topic and organised. Forget quote hell — create threads around specific quotes and find all replies related to a topic at one place. Never lose context of where you are — see all parent threads of the current thread in the same view. Focus on what matters — see which threads have unread comments, which are concluded and quickly go to a particular thread using CQ2's tree. Conclude threads — add conclusions to resolved threads and to the whole discussion once it's resolved.