Hugo's Blog

General Geekery

Mengelmoes: Semi-Open Conversations

Thu Jan 29 21:51:43 2009 · Posted by Hugo · 3 Comments

Another description of the vapourware currently in my head.

The typical way commenting works on the internet is a free-for-all. Absolutely anyone can comment on a YouTube video, "all comments are created equal". This is quite a huge difference from real-world conversations, where you start a conversation with a couple of people, and anyone barging in on a private conversation uninvited is considered rude.

This feature is simultaneously a great strength, and a weakness. It ensures everyone has a voice, just like democracy, but also like democracy, it means the weakest comments can bulldoze a thoughtful and carefully considered conversation by sheer quantity. Democracy requires an educated voters to function really well, comments on an open internet require politeness in order to develop a good conversation.

Of course this is a very common problem, "abusive comments", so it is a problem that has been solved many times over. There exists many different moderation systems whereby the participants vote on the quality of comments.

One of the most intricate I'm aware of would be Slashdot's. Slashdot contributors are periodically given moderation points by which they can rate the quality of a comment. In order to fight moderation abuse, meta-moderation is used, moderating the moderators, thereby determining who gets to moderate most often. For more, see the Slashdot Moderation section on Wikipedia.

Other systems have a thumbs-up and a thumbs-down icon that any logged-in user can click. (Even YouTube has this.) Amazon book reviews has this as well. I should probably also look into forum software. From what I've heard, some of them have intricate reputation-based or participation-based systems which go so far as to determine how many times a day someone's allowed to post a message. These kinds of things work well for large communities with many participants.

But what about small communities? What about really small communities?

I'm sure I suffer from some amount of the Not Invented Here syndrome, but I rationalise it in a number of ways. Firstly, I want something tuned to exactly my needs, which is different to everything I've seen so far. Secondly, I want something in Python, that runs in my framework (which I call mengelmoes).

My requirements are as follows:

  • I want to encourage uninterrupted conversations between a particular set of people. It may be a one-on-one conversation, it may be a conversation containing more participants, it matters not. I want to encourage the meeting of particular minds keen on discussing/duelling each other, without the interruption of rude passers-by chipping in just because they want to have their voice heard. This differs from most sites and software I've seen, like slashdot for example, which has a "tree" of comments, with the highest-rated ones defining the conversation, irrespective of who made the comments.
  • At the same time, I still want to enable anyone to drop a comment, to maintain that particular strength of the internet: the very fact that everyone has a voice and an opportunity to be heard.

For the second reason I avoid moderating comments myself, dictatorially, deciding which comments may stay and which are not acceptable. Some feeble attempts at encouraging people to be friendly and adhere to some guidelines have demonstrated the futility of a social-engineering approach on the internet. In a closed tribe with chosen and well-socialised members, tribal culture can go far. But with the millions on the internet... Foolishness.

So... some ideas I hope to build into the mengelmoes solution to the problem.

Data collection: conversational structure, reply graph
One of the primary ways of understanding the conversational structure in mengelmoes will be to store detailed information on who is replying to what. This is quite common with regards to a reply to a single/particular comment. In a conversation, however, one person often responds to multiple comments. I'll be experimenting with letting people specify the multiple comments they are responding to, to build a complete graph of who is responding to what.
Explicit conversations and hecklers
People should be able to start a "closed" conversation with a particular set of people. This will be an extra layer of information, independent of the reply graph: i.e. people will still be able to comment on any comment within the conversation, but such commenters will be classified as hecklers and their comments will not be displayed in a conversational view.
Freedom to choose: emphasizing conversations
Many views of the conversations should be possible. If someone wants to see all the comments, in order, as is usually displayed on a blog, they can. If someone wants to see just the primary conversation, they can do that also. This means the system won't completely remove the temptation for people to read everything and be drawn in by trolling, but it should certainly help define which comments/conversations they care about. Effectively, the conversational support will be a way of emphasizing the conversations, rather than one of "censoring" or rejecting comments by hecklers.
Inviting hecklers to join
Those taking part in the conversation should be able to refer to hecklers' comments should they want to, thereby drawing that particular comment in the conversation. The heckler will still be a heckler though. Alternatively, hecklers can be invited to join in, allowing them full conversation-participation. How this invitation will work, I'm not yet certain. Numerous possibilities, maybe all can be supported: (a) anyone can invite anyone to join, so make sure you choose your participants carefully, (b) unanimous agreement: someone can only join if everyone in the conversation agrees to it, (c) some form of voting, maybe (a) but giving everyone veto rights?
Friend and Group Support
Groups can be defined to allow for easy invitation for a whole group. This can be used to define the "regulars" for example, or a circle of friends.
Author-suggested topics
An author of a blog post often knows what kind of conversations may be sparked by the post. (Duh!) The blog post author could create a couple of pre-defined conversational topics, thereby steering and encouraging certain conversations and keeping "off-topic interruptions" elsewhere.
The Pub and the Back Alley
Another way of splitting up conversations that I've been toying with: I don't want to discourage fist fights, but I don't want it to upset the jovial atmosphere inside the pub. When fist fights erupt, they can take it outside, to the back alley. Anyone else is welcome to head out as well and observe the fight, should they choose to. I don't know how this will work, but it is a way to help think about the freedom to choose point above, how classification/emphasis/de-emphasis of conversations should work, as well as how we might want "conversational branching" to work...
Conversational branching
When a topic changes, a new conversation is branched off. This is just the typical tree-like structure of threaded conversations on the internet and email, but explicit support means no-one needs worry about someone going "off-topic": it just gets forked into another branch, enabling those that still care about the previous topic to continue the conversation.

So far we've talked about "hard-line" approaches. Softer ways of implementing things will be more challenging on the programming side, but might ease the social/user side of things:

Implicit conversations
Based on the reply graph, conversations can automatically be detected and emphasized (as above). This way conversations can emerge based on people's natural behaviour, rather than defined in a hard-line fashion.
Personal preferences
In general, the problem with too many comments is information overload, and human inability to filter out the information not wanted, in favour of the information that is wanted. Based on defined or detected preferences, comments by people you care about can be emphasized, while those by hecklers and strangers and passers-by can be de-emphasized, on a per person basis. Conversational views can also be customised per person, so that what I want to see and who I want to converse with need not influence what other people see and who they typically converse with.
Friend-filtered view
As my aim with writing is to encourage people to think more broadly, come across new and challenging ideas, the concept of having people see only what they want to see does rub me the wrong way. This is the same criticism that is sometimes levelled at "preference engines" (recommendation systems): they discourage the broadening of horizons, if they work perfectly. Which they don't, but I don't want to rely on that. Bearing in mind all systems are flawed, the question is just where you will place that flaw. As I'm big on relationships, I want to shift the kink in the system into the human realm. A friend-filtered view will let you see what your friends also recommend and like, rather than just what you like. The point is to encourage interaction with your friends around the points where your views differ. What remains is classical... um... "evangelism", the way it should be: go and make interesting new friends that views the world differently, let relationships be the key to expanding horizons.
Default author-defined view
One of the things that drags me into conversations I'm not interested in, is the fact that all comments are readable by everyone viewing my blog post, that comments augment the post. My posts get judged by the comments and conversations they spark. That is again both good and bad. Thus, while any reader that logs in can have their personal preferences with regards to which comments and conversations are emphasized, for the newcomer coming to "Hugo's blog" for example, I can present "Hugo's default view". All comments/conversations still accessible via other views, the default view is merely there to highlight the "best-of". While I'm sure many will use a mengelmoes feature like this to filter things down to just what they accept, they already do that through moderation and by deleting comments. Like all tech, it can be used for good and evil. In my case, the good I'm aiming for is to promote/feature/emphasize thoughtful comments via a friend-filtered view, diversity guaranteed by having diverse friends.

Well, now that's all out there. My intention was to have already started with the conversation graph (i.e. allowing people to specify who they are replying to). Many of the other features build on top of that. But first I hope to complete WordPress importing features (or syncing? ...later maybe) and pingback support. What else should be high on the list?

Oh yea, splitting by virtualhost. http://www.mengelmoes.org/ and http://ttm.appspot.com/ should be able to display different sites, even if served from the same app. I'll surely keep them interoperable. Expect redirects from one to the other, depending on which domain each page or post is eventually supposed to belong to. Until then, duplication is the order of the day.

→ 3 CommentsTags: Mengelmoes

3 responses so far ↓

  • 1 Hugo // Thu Jan 29 21:54:18 2009

    Oh, and of course: tag support! And user support, with logged-in users owning their comments more explicitly, not having to fill in a captcha or an email address, defaults for name and the optional "website" (which I should mark as optional...)

  • 2 Hugo // Fri Jan 30 13:14:58 2009

    And of course: better reliability. Email me if you're unable to post a comment. There are a couple of bugs I need to hunt down, simply lacked the time. :-/

  • 3 Pieter // Mon Feb 2 05:52:48 2009

    http://en.wikipedia.org/wiki/Dialog

Leave a Comment

Comments can be formatted using reStructuredText.

Name
Email
Website
Name this blog's owner
Comment