Notes on discussion forums
Posted by Matt M. on January 03, 2004 at 08:23 PM
I've been thinking about how better to visualize discussions in a web browser. It seems like we never really made it past threads. There have been incremental improvements to them over the years. One site has done this better than any I've seen yet. I am quite impressed with the Lugnet discussion forums. For those of you that have participated in Usenet I think you'll find the fact that you can connect to all these discussions with your news reader as easily as your web browser to be technically impressive.
I wrote down some notes about this particular page.
Lugnet Messages [View]

[click for detail]
All messages have a header like the above. It gives you context for where you are in the forums as well as the message thread. If you need more detailed navigation information then thread details are at the bottom of the page. On the right are lists of recently active threads if you are a regular visitor to the site and just want to read what's been updated recently.
Current Forum and Message Navigation
![]() |
The message detail includes the name of the forum and if it's nested deeply then it's a full breadcrumb trail back to the top level. After the forum navigation is the number of the current message. |
![]() |
You can move backward and forward in the thread with these links. |
Message Header

This is one of the masterstrokes of the system. As you can tell from these message headers they are built on top of the RFC 2076 standard. The message system is futureproof since it can evolve as standards evolve. Also it can build on the already large body of knowledge for how best to handle online discussions. Although cropped from the picture a reply button, and raw header link are on the right side and readily available. If only the multitude of comment/message board systems out there had this foresight it would be so much easier to move discussions between them.
Message Body

When composing messages the system has it's own markup language. I have mixed feelings about this. I think it's great that lugnet messages have special markup for Lego fans. It helps them get their ideas across in a much clearer way. What disappoints me is that it doesn't follow the standards for markup created by HTML and XML. You sprinkle regular characters like *, -, < and > throughout your message to get things like lists, links and various other text decorations. Why not just use the existing HTML markup for this?
On the other hand I think the LDraw extension is incredibly clever. LDraw provides a standard library of lego block images for embedding in your posts. Another clever feature when composing messages is "transclusion." Proving that he's smarter than the average geek Todd, the developer, quotes Nelson from the Xanadu project. Where inclusion includes a copy of the article transclusion includes a reference to the article. In both cases the article is embedded in the new item, but a transcluded one will continue to update as the original updates.
Message Respones

[click for detail]
After the message body is the list of message responses. This isn't a whole thread, just the messages immediately following this one. They are sorted by date, but can be easily scanned by author. It also includes a summarization of the message response to help you gauge if you should click through to read it.
Thread Navigation
![]() [click for detail] |
This is probably one of my favorite features. Each message in the thread is placed in context. The y-axis represents different topics, and the x-axis represents time. The star represents the current message in the thread and each blue box is a message. You can click on any of the blue boxes to jump a specific message. This creates a spatial relationship to the message that makes finding it later easier than trying to remember the author or textual details. |
![]() At the bottom of the thread map are thread navigation options to control how the messages are displayed. For those times when nested messages exhibit the staircase to oblivion syndrome you can flatten out the display. |
Lugnet Messages [Backend]
This is one of the more impressive aspects to the Lugnet news section. It's not a completely new invention. They built their discussion forums on existing Internet standards for discussions, NNTP and Usenet headers. I can't imagine the web based news reader is reading from NNTP in real time. If so it's incredibly fast and smooth. I imagine it's more likely that the news server uses some kind of gateway to communicate with the web server. That implies that it's using some sort of intermediate message store outside of the news server though.
Listening: Kid You'll Move Mountains - Manitoba



