Interestingly, I've been thinking about organization at work and I feel like there are many forms of async communications that should or could be merged, because of how common they are. We need to communicate announcements, ask for opinions on changes, document a process, list relevant steps to a change that is happening, ...
In my mind there are multiple goals a perfect system should have:
- Must be easy to create a new "conversation"
- Must be possible to write long form content in a "post", where "post" is the first item in a conversation
- Must be able to have a meaningful conversation with replies to specific points
- Must be able to change the content of the "post" based on the discussion that happened (such that a "post" can be a poll, participants discuss options, and the final decision is summarized)
- Must be able to easily enter and exit the full conversation
- Must be able to easily link the full conversation, for referencing
- Must be able to set metadata (dates, relevant people, status, stuff like that)
We have many systems, but none really fits the bill:
- Email is probably the worst, because you can't modify the original message, you can't link to it and you can't transparently enter the conversation if you weren't part of it initially. We've all seen the "adding XYZ to the loop" that provide 0 content to the conversation. There's also the whole issue about top-posting and lack of proper threading that make having a conversation difficult. Probably just a client issue rather than a protocol issue though
- NNTP is a step above, but ironically because it has remained niche the clients and the etiquette help having a proper conversation. Still doesn't fill the bill
- Ticket systems are paradoxically pretty good for this situation. They do contain the necessary structure for incorporating metadata, in all the various forms ingenuity can come up with.... sometimes too much ingenuity, such as the labels and fields and knobs that were needed for that project years ago are still here, cluttering a lot of space because most aren't actually needed anyway. Imagine using such a mess
- A wiki is nice, but the emphasis on structuring is detrimental for flows that go outside of documenting. Sometimes you just want a linear list of conversations ordered by date
- Google docs and associated are good for really long forms for the initial "post", but are not very good at structured conversation
Perhaps the best software, for all those use cases, is a forum software. I'm partial to the (old) reddit UX or the HN UX; remove the useless voting and it's almost the perfect way to communicate. The interface gives you the space to actually take time about what you want to say and properly articulate it. HN is a bit terse here, reddit gives you formatting helps to nicely present your ideas and makes reading it easier.
Only drawback is that they are text only, and sometimes you need to include non-text (a screenshot of the planned changes, a video of the flow to document, a map of the place you're discussing about, ...)
(If it is not clear already, I'm still sad at the death of Google Wave. 10 years later and it's still the future: https://www.youtube.com/watch?v=p6pgxLaDdQw)