Log in

No account? Create an account

Mon, Nov. 23rd, 2009, 03:22 pm
Threading in web forums

Threading in web forums isn't hard to get right, but it continues to be done right approximately nowhere. In the interests of helping to improve the situation, I will now explain the right way to do things.

When returning to a web forum, what should be displayed are either all posts which are either new, or which are immediate ancestors to a new post. The non-new posts should be displayed grayed out, since they're there for context, to avoid the annoying practice of people having to manually edit quoting in improperly threaded systems.

Posts should be displayed properly threaded, with indenting used to indicate responses. But the standard simple way of indenting each response one level more isn't quite right, because it leads to way too much indenting. What should happen is that if there is more than one response to a post currently displayed then the responses get extra indentation, but if there's only one displayed then it gets the same level, with a graphic included to indicate that it's a response rather than a separate post. Note that this only takes into account posts which are currently displayed. Not currently displayed posts are irrelevant and shouldn't affect formatting.

There should of course be indicators and expanders for ancestors and undisplayed responses to displayed posts, and those should change the formatting of everything appropriately when hit.

If someone views a thread which has no new posts, they should simply be shown the entire thread.

There, that wasn't so complicated. Now please get it right!

Mon, Nov. 23rd, 2009 11:32 pm (UTC)

All I want is them to properly implement NNTP and/or IMAP, and I can stop using these stupid Web UIs, and use a proper message reader.

Tue, Nov. 24th, 2009 04:51 am (UTC)

Dude, you are so stuck in the 90's. Don't you know that everything is done over the web these days?

Mon, Nov. 23rd, 2009 11:56 pm (UTC)

the somethingawful forums get most of this right except for indenting. They got the last-read concept perfect.

Tue, Nov. 24th, 2009 04:50 am (UTC)

somethingawful: a paragon of good taste in web design

Tue, Nov. 24th, 2009 06:02 pm (UTC)

My pet peeve about forums is that most of the ones that I have to use don't even track which messages I have already read. They just keep a time stamp of my last visit, and show any new messages since my last visit in bold. So, if I don't read every message every time I visit the site, the next time I visit, there will be lots of unread messages that are mixed in with my read messages. This is a step backwards from e-mail, usenet, dial-up bulletin boards, etc.

Tue, Dec. 8th, 2009 06:58 pm (UTC)

But it works well in situations where you actively choose not to read every message just because it's new. That style works well for me.