As this writing is a collection of my ideas that have not been written down before now, this page will be gradually updated and refined whenever I recall more and more of my ideas concerning the topic and feel the want.
Currently, this page is certainly incomplete with regards to all of my thinking over the years and I suppose it is somewhat rushed. It will certainly be updated soon as I continue poring through my previous thoughts.
I'm privy to several different forms of software facilitating Internet discussions. I seek to create my own system at a point and, as with other things in life, I believe problems and the mistakes of others are a prime source of inspiration. Accordingly, much of these thoughts will involve what other such systems do well and do poorly, I think. Be aware such a system of mine will include functionality from my 2018-06-06 article.
Firstly is identity. Systems that don't support identity whatsoever lead to informal identities and systems that don't support anonymity lead to so-called ``throwaway'' identities. It is clear to me that a good forum software should have full support for both anonymity and verified identities.
Secondly is quality. A system should be designed to encourage messages that are considered good. This is ultimately something a human moderator would need to judge, however, but that doesn't mean help is impossible nor impractical. Tying in with this, a system that highlights information in a structured way would be beneficial to this goal; an example is including a summary of a long message or a list of topics such a message involves. It follows from this that adding fields and other mechanisms to a message and perhaps requiring they be used is one way to enforce messages that are perhaps more likely to be good. Another example of this would be message length minimums. This is in contrast to a system that is entirely unstructured, which hinders many kinds of analysis, from both human and machine. I'm also of the belief that subtle cues can influence this; if you want to encourage longer messages, the tool to access them should only show a single message at a time. If you want to encourage, say, attached files to a message be relevant, then show them in a way that inhibits using them for other purposes.
Thirdly is structure. Many such systems lack structure and require notation to be written out manually. Following is an abundance of mistaken notation that detracts from messages and fails to fulfill its purpose. I'm of the opinion that a good system would support whatever is wanted of it in a primary way and so ultimately have no notation, thus giving the option of any notation with which to denote the semantics. An example of this is rigidly enforcing that a message in response to another message must communicate it in a way the system is acutely aware of and in a way that prohibits invalid responses, such as a message that responds to itself.
Fourthly is opinion of fellow forumgoers. In theory, a means for others to rate a message according to how well it fits its stated goals is good and even obvious. In practice, this leads to those others rating a message according to whether they personally liked it or not. Thusly, a forum shouldn't reify such a thing, as it clearly doesn't work well. For some messages, it is appropriate to have a flagging ability that alerts others that the message should be removed.
Fifthly and lastly with regards to what other systems do poorly is focus. In particular, I find a forum that focuses almost purely on outside events to be rotten. Generally, such forums discourage long discussion and one could find there isn't much there if such a forum were to ever lack an outside venue to prey on. It's my belief that a good forum focuses on what its people are doing and not with what others are doing elsewhere. Similarly to a rating system, this is another common feature of some forums that is poor in practice.
It goes without writing that a good forum isn't proprietary in any way. As someone who has staffed forums, I also have ideas concerning discussion moderation. In general, an automated system should remove or deny any message that can be automatically detected to be poor; this can be as simple as rejecting messages consisting of a single letter or word to as complex as detecting patterns that indicate unwanted discussion, such as a message that is a disgused advertisement. Anything the machine can't do with certainty should be delegated to alerting a human; this includes detecting words that are considered commonly used in poor messages in some ways, but which can't be made distinct from messages that use the words in other ways, and also messages from identities that have been shown to be a nuisance and may warrant closer inspection for a time.
This sums my current thoughts concerning forum software. I intend to make my thoughts more clear in the future and my developing an actual such system that includes these ideas and more will work well towards that.