Web Development

Experiments in Online Long-form Communication

by Cory on November 29, 2019 1:49 PM (Edited November 29, 2019 1:54 PM)

I realized that I never wrote down what my endgoal for this forum software was. I think I should organize some of the main feaures and advantages over what's out there today. It'll probably help me stay focused and also make it easier for me to get people on board.


One of the most amazing parts of the early Internet was how easy it was to find like-minded people and communicate with them en-mass. For a lot of people, it was exciting to communicate with random strangers and see what other peoples' perspective/reaction of things was. In particular, when I think of online communities, I'm thinking of SomethingAwful, 4chan, Reddit, Twitter, StackOverflow, 9gag, Blind, etc. All of the big ones. Many of these websites have large, dedicated followings who enjoy the website for it's content and sense of community.

Unfortunately, the state of online message boards (a.k.a. forums a.k.a. BBS's a.k.a online long-form communication) is stuck 20 years in the past. I would even go as far as to say that the user experience of all forum software is sub-optimal. Users of these sites remain for externalities mentioned above and consume/create content in spite of the UX instead of being assisted by it. The formatting of these existing sites hasn't changed in any appreciable way since the early 2000's. You have a flat bulletin board format, "chan board" format, threaded view, and the twitter timeline and each format has it's glaring deficiencies and missed potential.

And lastly, forums are pretty niche. I guess it's just human tendency for people not to want to read or write a lot, especially in small moments of the day when you're on your phone and not fully paying attention. There is a lot of inertia to overcome to get users to engage as well as writing out expressive interesting content. The default mode is to "lurk" (reading only and not writing) small bits of addictive clickbait like memes and gifs that don't require much investment to enjoy. I think one of the biggest hurdles to online forums or long-form communication software is the diametrically opposed goals of having quick and easy consumption of online content and complex and interesting dialog.


There's two goals here.

  1. The first is to update and polish the experiences of existing formats of communication. For instance, we can bring the bulletin format into the current decade with responsive javascript and pleasant rich text editing experience. Users shouldn't have to preview their posts before typing and then have to refresh the page to see the results on the page. Increasing the font size wouldn't hurt either. There's a lot of easy wins here, I think. Obviously, you won't know the value of these changes until you do a lot of user testing and seeing how people like it.

  2. The second, is more nebulous, but also more exciting in my opinion. With an existing community of active users, there have to be much better ways to communicate online. I think that we could shed existing textual display paradigms and try and iterate on new front-end solutions. For example, a flat view isn't good for many people who break off into 1 on 1 conversations. Threaded view tries to solve this with reply trees but the format is hard to look at and a pain to navigate. What if we prototyped a graph-style approach or a pan-able flat format that lets you annotate and view specific portions of a conversation? This particular idea is probably very user-unfriendly and requires people to get used to it, but the point I'm trying to make is that there is no reason to settle for a linear, tabular-based format when we can do better. I don't know what features and formatting would improve UX (unlike an existing product) but I think by putting it out there and iterating as people try to use it, we can find some real diamonds in the rough.

Existing Moderation Features are Inadequate and Promote Conflict

As part of the first goal, there should be ways to incentivize meaningful and polite interactions online. It seems like a fundamental part of human nature to misunderstand one another, get angry, and then devolve a conversation into an insult ("flame") war. As you can see, this happens a lot on Twitter, where people are limited to 280 characters, with limited body language conveyed, and a strong incentive of social currency to call people out. These interactions are very different from in-person conversations where you know there is another person on the receiving end and the most comfortable goal is to make everyone happy.

Some rudimentary systems that have been tried before include "likes" or "points" or whatever. This still isn't really fine grained enough and is prone for people to game the system. Like StackOverflow, everything you do is captured by metrics and there is a rigid unspoken culture in place that is emotionally punishing for people who transgress. Whether it's trying not to break any rules by accident, or farming for points, both of these goals take the fun out of talking to strangers online, in my opinion. What would be a good alternative to likes, maybe would be more fine grained reactions and prompts. So instead of likes, you could have a few buttons like "Well spoken!", "Needs further explanation", "Not informative". Or even more different annotations like highlighting portions of someone's text (like from Medium). Effectiveness of this approach notwithstanding, the intention of this is to make people curious and ask for more discourse to understand each other, instead of stereotyping someone's opinon, throwing their hands up, and typing in something rude. And you could award things that bring level-headed, informative, conversation (the hard part is how to tell what those things are, how to score them, and what the rewards should be...)

The basic gist is that instead of promoting fighting or skinner box metrics like point systems, you should find features that improve quality of content through context and increase the sense of community.

Features to Help Create a Sense of Community

I really like SomethingAwful's community. As one of the oldest message boards (and still using one of the oldest formats), it's grown way past it's original parameters and has some really amazing things going on for it. For one, there's a great sense of shared community and all the posters call themselves "goons". There's comedy goldmined threads and forum "legends" that people recount. You can read about those old war stories in a glossary that is maintained by its users. 

Through no quantitative research, I posit that the biggest indicator of community health and cohesion is the presence of lore. With every active community, a lot of funny and interesting stories occur and are savored over the years. These can take the form of memes and in-jokes and occasional reminiescing. Currently online communities don't explicitly support this, excepting maybe a glossary. Why not build support for a glossary/goldmine that lets people search for keywords and phrases? Make it possible to induct notable users into a "hall of fame" with a short description of what the community likes about them. And a (non-game-ified) badge or flair system that lets people collect and display badges in their credentials. You can make badges for anything-to commemorate an event, to show shared interests, or just because. The important part is that badges don't have any worth outside of the amusement it brings one to browse them and learn about lore.

Other features can include avatars and "red text" that let users nod to inside memes or prod other users. This gives users ways to standout and recognize one another and further builds a sense of community. Red-text isn't always nice either. One of the original unspoken tenents of SomethingAwful was that you can be mean, but it has to be funnier than it is mean. While there are limits to how mean you want users to be, I don't think you can dismiss this ethos lightly. People should be feel like they can speak their mind and engage in rough and tumble discourse with other users.

Interestingly, the forum's zeitgeist has changed a lot as the community scales up in size. People are not as close-knit, since there are more unfamiliar usernames out there, and there is more of a fear of speaking out and being labeled "un-PC". Overall, the community is still intact and a marvel despite suffering from the usual problems with scaling up in size.

Discussion Formats

Another interesting aspect of SomethingAwful was how almost every kind of discussion has been shoehorned into the bulletin board format. For instance, they have gif or image threads, where people post mostly links and embedded images. This can sometimes lead to long page loads as threads fill up with large images. You also have Let's Plays, where thread authors post regular videos or multimedia updates of themselves playing video games and readers can react to things, steer the gameplay, or just follow along. There is also a similar format to this, but for things that aren't games. For example, someone can post a "fitness log" where they post progression pictures of weightloss or weightlifting records.

For discussion threads (where people talk on a topic as equals using mostly text; the original bulletin board format), the characteristics of average post length can vary wildly depending on topic. Some intense threads, say that discuss law, science, or art may be rarely updated but contain lengthy and complex posts about theory. Sometimes these threads are called Megathreads because they cover a wide umbrella of any type of discussion as long as it's related to the main topic. On the other end of the spectrum, you have "shitposting threads" that resembles a chatroom. These threads are usually made humorously or are following topics in real time and updating extremely quickly, with most users posting very short text in quick succession.These can sometimes have a mix of long, complex posts with anecdotes or facts interspersed with shorter quick updates/reactions.

I think a big feature of new forum software could have the capability for thread authors to pick which type of thread they want to make and then have an "overlay" to greatly facilitate this type of thread. For instance, chat threads can update often and maybe go in reverse chronological order. They could have bigger text and truncate long posts behind a "Read More" line. Discussion threads probably would look a lot like the current format because this falls precisely into what conventional bulletin boards are good for. Image/gif threads could look something like the twitter feeds. Images can be organized into carosels to make it easier to swipe between them (instead of scrolling a lot), and the number of posts per thread is reduced a lot to cut down on load times. And perhaps most interestingly, you could come up with a "Journal" or "Diary" format for Let's Plays and fitness logs, where the thread author (OP in internet lingo) has special privileges. Journal type threads have a table of contents in a side-bar that compiles all of the OPs posts in chronological order making it easy to jump between them. Non OP posters could be compiled into a comments section based on the latest OP post, which would make it natural to organize each page of the thread into an OP update post followed by all the comments for this post.

There could be many more types of threads out there! Which is why I think it should be interesting to constantly experiment with new paradigms and see if any of them can facilitate discussion and content creation.

Forum (Thread Indexing) Experiments

Just like threads can have different "overlays" there should be some experimentation into having different forum overlays as well. Because not all of the big websites I mentioned are built for the same purpose.

Content aggregators like Reddit, Digg, and Hacker News are not typically forums, but instead focus on bringing together links, videos, and images into a single page of browsers to view and comment on. If there is no need for longer discussion, this format works remarkably well for the intended purpose of viewing as much content as quickly as possible.

Ideally, you'd be able to mix and match forum overlays. For instance, you could have a programming forum overlay that has the traditional message board style (a list of threads in reverse chronological order by most recent update), since you'd expect this forum to be text heavy and have a lot of discrete, long lived topics. Another forum on the same site, might want the content aggregator forum overlay for an art forum or programming product advertising for site users.

"Chan" type message boards fill their own niche, which is similar to twitter in that it is focused on sharing images. I think their main strengths is the combination of sharing images coupled with complete anonynimity. I think it provides an interesting dynamic that lets people experiment with thoughts and discuss controversial topics (all the associated wilderness notwithstanding). We can plug this into the forum overlay system by providing settings that let administrators specify if all posts in a forum must be anonymous or not. I'm not sure if this would plug into a niche that people actually want, but it makes the sandboxing forum paradigms more powerful.

Another interesting innovation that Chan boards bring is the ability to view threads via a "catalog". That is, instead of a table of thread titles, it's a grid of images from the OP. (For those unfamiliar, since *chan is an image sharing board, every original post must have an image in it.). That could also be another forum overlay style.

Technical Achievements

And to cater to existing fads, there's plenty of opportunity to shove machine learning into this whole shebang. Adding a way to summarize long threads (they can grow to thousands of pages in Something Awful) would be a great help.

And redoing the user dashboard with a recommendation system would be a great way to find new threads.

Deciding and inducting people/threads into the hall of fame can be attempted to be automated too. With everything in place, you can take "legendary" threads, read the metrics, automatically summarize them, and then induct them into the hall of fame while notifying everyone in a front page announcement and giving out badges to people who participated in the thread. Wouldn't that be cool?

This Thought is part of Web Development

General Web Development Thoughts and Odds and Ends

back to the