Can we build better forum software?

This happens every time there’s an improvement or an upgrade to the board, and it’s never happened. People said the same thing when a facebook share button was installed – and none of that happened.

The Reader’s up for sale right now – do we really want the board to look like something from 1998?

Honestly, and I say this as someone who lobbies for [img] tags and goes to many different internet forums with different software, I don’t think there’s a much better alternative to vBulletin for a community forum. There are certainly a few tune-ups here and there that can be made, but vBulletin is really the best I’ve seen, and I’ve seen pretty much every forum software out there. That is, I don’t mean “vBulletin sucks, but it’s the best we have.” I mean “I can’t really think of many improvements I’d make to it.”

Most communities that have features are usually tied to the site (for instance Gaia Online has embedding of certain things, but those facilitate the game the site is based around). Certainly there are really good “community site” pieces of software that aren’t vBulletin, such as the Reddit system, Stack Exchange, imageboards, etc, but all of those serve the specific needs of the community. Stack Exchange is very handy for answering questions since it bubbles up good answers. Reddit’s system is very good for a site dedicated to recommending links on the internet, imageboards are good for very ephemeral, fast moving content based around images. vBulletin, likewise, is very good at what it does – discussion about random topics.

Perhaps the forum software of the future could have “environments” for different forums, for instance General Questions could have a Stack Exchange layout, MPSIMS could have a Reddit Style (while the “I’m sharing my life story” threads could be moved to IMHO), and the other forums could inherit a vBulletin-like theme. Ideally it would also have a button to convert between modes on the fly, so if I get tired of following the Reddit-style thread I could swap to vBulletin mode, same posts, but in chronological instead of rating/threaded order – but that may not work well for various reasons.

That said, there’s one feature I’ve only seen on one board (the old Nintendo boards) that I miss dearly, it was called a “float.” It was basically a user-sticky. You could click the float button and it would always appear at the top of the first page like a moderator sticky would, but just for you.

Edit: Also, a better search feature would be nice. At the very least a built-in option to redirect on search timeout. So if the forum would normally say “wait 30 seconds” it would search google instead (or at least offer to).

Also, I wouldn’t call the standard vBulletin layouts “1990s”, I’d say they’re more minimalist. When I think of 1990s layouts, I see geocities and terrible HTML-standard <div> tags in my head. There are tons of terrible website layouts, color schemes, etc out there. When I see a vBulletin forum, I don’t think “outdated web design,” I see a feature.

Flair is very useful when you have a site with featured content you want to draw attention to (i.e. Cracked, a news site, a company webpage), it’s less useful when you have wholly user-generated content. In those cases, you really need the webpage layout to get out of your way, nobody cares if your interface is an art school graduate’s wet dream, they just want to read posts, maybe look at pictures somebody posted etc. In vBulletin everything you interact with on a regular basis is generally in an intuitive location, and that’s really all that matters. The less colors you see, the more static the layout is (meaning posts aren’t indenting and centering and moving every which way), and the less random buttons hanging around, the more you can focus on what the users bring to the community, whether it be their avatars, posts, images, whatever. That, I think, is what forum software is about.

It seems to me like some folks are misinterpreting the intent of the OP. I don’t think he’s trying to suggest changes to the SDMB, I think he’s basically decided that most forum software kind of sucks (which is true), and that a dedicated team with a good plan and the resources and a handle on how web applications are actually built in 2012 could build something better (also true, and these are qualifications the OP has), and trying to get ideas from users of various forums.

Personally, I think it’s a good problem to try to solve, although I’m not real sure how you make money at it if that’s your goal. Maybe you just like the idea of improving the user experience on forums in general because you hope all the forums you read will upgrade to your software or the software they run will have had the bar raised and will need to come out of the 90’s too. Seems alright to me.

Regardless, I have a few ideas since you’re soliciting.

  1. Good “Which-Posts-Have-I-Seen” tracking. This is kind of hard, and vBulletin does a pretty bad job at it. Someone upthread pointed it out and mentioned that it’s better on the GiraffeBoard (it is, but still not perfect), and the bottom line is that vBulletin seems to take some dumb shortcuts to avoid storing the proper state for real (I think you need to have a table that stores [user,thread,post] in order to really do it properly). The result is that it can’t actually be trusted as a way of tracking where you should start reading. Sometimes it seems to be based on a single user-wide “last visited” datestamp and sometimes it seems to store a list of [thread,date] pairs. In some ways it seems to be per-user and in other ways it seems to be per-session. Bottom line is it’s busted. I used a phpBB board for a while, which sucked in many ways, but I was super impressed that they actually seemed to be able to track this one piece of information pretty flawlessly, and it made a big difference. For bonus points, make it a bit smart so if you open a huge thread page full of posts you haven’t seen yet and then immediately close it, some heuristic decides you didn’t really read it so it’s not marked as read.

  2. Different subscription mode: replies to me. Sometimes I’d like to only follow a thread insofar as someone might respond to one of my posts, maybe asking for more wisdom or telling me how wonderfully accurate it is (can’t think of any other reasons). So I’d like a mode that subscribes me that way (heck, maybe this should be optionally user-wide instead of on a thread-by-thread basis). This complicates things, of course, because of the fact that most forum software has no real metadata saying this-post-is-a-reply-to-that-post other than quote boxes, which sucks. Sometimes you reply to someone without quoting them. So maybe there’s something clever you can do with the post writing UI that prods the user into indicating which post(s) he’s replying to whether he quoted them or not. Off the top of my head, maybe your default blank reply with no quote has a one-line box up at the top that says, ‘Re: #43, Jragon, “Also, I wouldn’t call …”’ and there are whizzy little up/down arrows or some other picker that lets you specify a different post (or none). This would, of course, be populated with whatever post you quoted had you done so.

  3. For God’s sake, plug in a decent search engine. I don’t think vBulletin has a high bar to beat here, although later versions could be a lot better. Index any and all metadata you can think of in the posts using a real search index like lucene or something so you can enable complicated queries like “author:ntucker repliedTo:codinghorror forum:‘BBQ Pit’”. Please don’t build a search tool that can’t find posts containing the word “SSD”. I have come very close to scraping and indexing the SDMB my damn self using solr so that we can stop using google to search it. It’s the saddest story ever written.

  4. Ok, one crazy pie in the sky one. It’s probably impossible. I’m going to call it Debate Mode. When reading threads here in General Questions (where you’re supposed to stick to supportable facts) and Great Debates (where it’s nice if people follow an honest debating structure and claims can be supported or refuted, but the ideal is something a bit more rigorous than poo-flinging), I have thought it would be neat if I could read a thread through and have annotations on specific bits of text that indicate things like “this claim has been {refuted,challenged,proven irrelevant} in a later post <link>” or “this claim is supported”, maybe “this branch of the argument was already explored in another thread” (or forked off from this one), etc. Basically, some discussion metadata that could actually be used to change how the thread is displayed to me. Maybe I could even switch on a mode that collapses the thread so only the currently-standing claims are displayed and I can skim a large thread and get an idea of where the argument stands without having to maintain my own mental checklist of outlandish claims that I might want to address if I get to the bottom of the thread and nobody’s said anything yet, or trying to keep track of early claims to see if they pan out. The difficult part, of course, is that you need to rely on the same idiots who are involved in the argument to provide this metadata, so some sort of reputation/voting/moderation system is needed as a filter. I haven’t really followed the state of the art with respect to reputation systems, but it doesn’t seem like they’re going away, so they must not be completely useless. Not sure that means they could apply to something like I’m describing, though. Anyway, I told you it was crazy.

Oh, missed the edit window, but thought of one more:

  1. keyboard navigation, a la gmail and google reader.

It would take more than new upholstery to make the cool kids suddenly want to sit with the nerds at the front of the bus.

Set up a preview mode applet, so we don’t have to send the info to the hamsters, but rather edit at the desktop.

That is actually a truly innovative idea that goes way beyond just tweaking vBulletin. It would necessarily be highly restrictive in what it could note - can you imagine trying to annotate an AGW thread? But where there are specific citations on specific facts, akin to a shorthanded academic bibliography, this would really add a lot.

The thing with is that meta-moderation takes a really dedicated type of personality to do fairly and do well. Most people are more interested in arguing their own points than in curating discussions to this extent.

I love the idea, but I wonder how it could work.

I’ve seen similar things (I think? Can’t remember where) done where they basically take certain popular threads and make thread wikis out of them, an embedded wiki near the OP (or on a separate page) that people can use to summarize the discussion for newcomers. (As opposed to individually tagging each post with subsequent changes, you just have a summary wiki that sums up and links to the most important parts).

Maybe it was at slickdeals?

Here’s an example of how it works on slickdeals.

14 pages of discussion are summarized (and kept updated) in a wiki section that immediately follows the OP.

You guys should check out what Casey has done over at Ravelry, a knitting/crocheting/spinning site. While there are some things that I wish I could tweak a bit more, it’s a really nifty forum design. If someone replies specifically to me in any thread I’ve posted in, there’s a box that appears at the top of the forums saying, “hey! You have # unread replies!” Click it and the box expands to list each reply you have waiting for you. You can click to go directly to the reply, but when you get there, there’s a light green bar saying that you have unread posts between where you stopped reading in the thread and this reply to you. You can either go to last unread or tell it to mark those posts as read.

The post numbers are large-ish and they fade to grey as you scroll/read, as a live indicator of what posts you’ve read. You can watch a thread, making it like a sticky at the top of the specific forum, or ignore a thread. The forum display shows total posts to thread AND next to it is a bold number indicating how many new posts since you last went to the thread (NOT based on your activity timestamp).

You can do more with users, too. Besides ignore, you can block a specific avatar if you find it offensive/gross and you can even “disagreen”, which replaces a user’s avatar with a green square; it’s great for times when you don’t want to ignore a user but want a quick reminder that you generally find them annoying or whatever.

You also can favorite specific posts, like an in-Ravelry bookmark. And a great balance between pure discussion and ego-driven ratings is the buttons for each post. You can click any combination of the buttons for a post, which include Educational, Interesting, Agree, Disagree, Love. You can also disable the display of any of them if you want.

I forgot to add that you may need to be a member to view the forums, but registering is free. And now that the site is out of beta testing, there’s no queue to wait for your generated invite link.

It won’t let me look at anything without signing up. Is it kinda like Facebook notifications?

I really would like to see Little Ed’s response to this thread. I think it’s truly important to see what management thinks about this.

Yeah, I posted right after saying I forgot you’d have to sign up, sorry. Ravelry forum notifications aren’t sent to email addresses but are on the site itself. I could take some screenshots when I’m at an actual computer instead of on my phone, if you’d like.

That’s what Facebook does too (in addition to emails). You click a little icon and it shows you replies to threads you’ve participated in, people’s comments and tags about you, people liking your stuff, etc.

If we wanted to scale up this board to handle 10x the number of visitors, it could get unwieldy and a reputation system might make sense.

We could consider a Dunning–Kruger reputational structure. The user would award personal karma (or anti-karma) to posters he likes. By default, the preferences of those posters would get weighted into the karma score. Except it wouldn’t be one karma score: there would be as many karma scores as members. And, as in slashdot, you could turn the whole thing off if you wanted to.[1]The karma score would be used to highlight posts by trusted authors and perhaps place untrusted authors in a smaller font or maybe indented in some way.
Drama would ensue. Drama always ensues. Posters would want to know average karma scores: at slashdot, they don’t publish a listing. Reputation should be a method of sifting through the chaff. It’s an entry on a database: it shouldn’t be taken too seriously. But it would be. Frankly I doubt whether my proposal would work well in practice at existing membership levels– but there’s always the dream.
[1] Maybe it would only be invoked when the thread reaches a certain number of pages or replies.

Welcome to the boards codinghorror. I love stackoverload, I was trying to remember last week what I used to do when there no sites like that and finding answers to obscure problems wasn’t as simple as throwing the error message into Google. I think we probably went and asked the resident guru for help. Anyway, I’m rambling …

As other’s have said – trying to change the SDMB is a losing battle and we’d be better off not derailing this thread by discussing the pros and cons of the boards legendary resistance to change.

But you are correct, message board software hasn’t really moved on at the level of other software over the last few years. But that’s not for the lack of trying – most truly innovative things (I’m thinking Google Wave) just don’t catch on because they’re too different.

Sure, we can fix the minor annoyances such as improved subscriptions, better unread message tracking, a slicker interface – but doing anything that fundamentally changes things is going to be a hard sell.

Even something simple like sub-threading – where you can see who replied to who, and potentially hide some hijack or other by burying a sub-thread – only works if people actually click the right buttons and refrain from making two points in one post.

I guess what I’m saying is that it needs to not rely on the users doing anything much different to normal, and also not change the overall look and feel too much.

Ideas like the one ntucker posted might fit into this. Basically it’s new functionality that’s available if required, although it still needs human intervention.

Perhaps there’s some way for the board software to read the threads and make guesses about related posts and start automatically adding linking. Maybe you could have the board automatically judge reputation / karma from board responses.

Oh, and it needs to be able to import the archives from the old system.

SD

And it’d be an idea to try and bake in different ways to make money – all sites need to make at least a little to cover costs even if they’re not in it for the big bucks.

Perhaps there are better ways including ads in a site, or different sources of income altogether (pay for features?).

If we’re redesigning the whole idea of a message board from scratch we may as well be honest about the need for a way to make money.

ntucker’s suggestion regarding tracking the summary of a debate is a good suggestion for forum software. Here are two other thoughts:

Thread Categories/Subcategories
Instead of trying to predict exactly which forums/subforums to make part of the system (which will always be full of compromises), adding a category/classification system to thread creation and the ability to organize/sort/group threads by these attributes would make it easier to find new content I want to find. For example, within a forum like “The Game Room” I could easily sort/group thereads I’m interested in (sports, ncaa football) and ignore the rest instead of reading the title of each thread and hunting for things that I’m interested in.
Thread Classification Local to User
And if I could tag threads I am interested in or definitely not interested in with a simple click (this tagging stored per user) and sort by/view this tagging, it would make finding the content I want on subsequent visits easier. In this case, threads I don’t want to participate in could be sent to the bottom of the list permanently.