<p>I am interested in choosing a good structure for an online message board-type application.  I will use SO as an example, as I think it's an example that we are all familiar with, but my question is more general; it is about how to achieve the right balance between organization and flexibility in online message boards.</p>

<p>The questions page is a load of random stuff.  It moves quickly (some might say, too quickly) and contains a huge number of questions that I'm not interested in.</p>

<p>The idea, I imagine, is that we can use tags to find questions that we're interested in. However, I'm not sure that this works: you can't use tags negatively.  I'm <em>not</em> interested in PHP or perl or web development.  I want to <em>exclude</em> such posts.  But with the tags, I can't.</p>

<p>Although discrete subforums are in a sense less flexible, as they generally force you to pick a category even if a question might fit into two (if SO had, say, areas for "Web Development", "Games development", "Computer Science", "Systems Programming", "Databases", etc. then sure, some people might want to post about developing of web-based games, for example) is it worth sacrificing some of that flexibility in order to make it easier to find the content that you are interested in, and hide the content that you are not interested in?</p>

<p>Is there any way with a pure tagging system to achieve the greater ease of use that subforums provide?</p>

[{'answer_id': 48371, 'author': 'Andreas Kraft', 'author_id': 4799, 'author_profile': 'https://Stackoverflow.com/users/4799', 'pm_score': 0, 'selected': False, 'text': '<p>Though I think that tagging is supperior to grouping, people tend to think hierarchically.\nIn general it depends on the target group for the forum. </p>\n\n<p>Maybe you can go with a mixture: use tagging and later use tag groups to order to posts. Delicious uses this, for example, and I find it rather helpful.</p>\n'}, {'answer_id': 48372, 'author': 'Lasse V. Karlsen', 'author_id': 267, 'author_profile': 'https://Stackoverflow.com/users/267', 'pm_score': 0, 'selected': False, 'text': "<p>If you're worried about the divide between specific forums and open tag-based systems, like Stack Overflow, consider making a query system that allows you to do a bit more complex queries than just the AND operator, like here on Stack Overflow.</p>\n\n<p>I cannot make a query here that will give me all questions in .NET, SQL or C#, combined, and that is the biggest irritation I have with the tags. With such a query system, you can create virtual forums at least.</p>\n\n<p>Other than that, I don't really have a good opinion. I like both, and I haven't yet decided which one is best.</p>\n"}, {'answer_id': 48435, 'author': 'Chris Upchurch', 'author_id': 2600, 'author_profile': 'https://Stackoverflow.com/users/2600', 'pm_score': 3, 'selected': True, 'text': '<p>The real problem with subforums comes when you guess wrong about which topics have enough interest to get their own subforums.  While some topics end up with their own vibrant subcommunities others end up as empty ghettos, with little activity or feeling of community.  Topics that might flourish as occasional subjects in a larger forum end up fragmented among many subforums, none of which has the critical mass of people necessary to have an active, vibrant community.</p>\n'}, {'answer_id': 107234, 'author': 'HitScan', 'author_id': 9490, 'author_profile': 'https://Stackoverflow.com/users/9490', 'pm_score': 0, 'selected': False, 'text': '<blockquote>\n  <p>The idea, I imagine, is that we can use tags to find questions that we\'re interested in. However, I\'m not sure that this works: you can\'t use tags negatively. I\'m not interested in PHP or perl or web development. I want to exclude such posts. But with the tags, I can\'t.</p>\n</blockquote>\n\n<p>While it\'s currently the case that you can\'t use tags to hide content, it shouldn\'t be impossible. Using SO as an example again, there\'s no reason that a system similar to the ignore function on a forum couldn\'t be made for the tag system. By adding a right-click context menu or a small "X" link somewhere in the tag display, tags could be marked as ignored. This would also allow the current tag feature to function; Seeing everything (minus your ignore list), or clicking a tag to see only questions with that tag.</p>\n\n<p>Ignored tags could be managed in your profile if you should later develop an interest in PHP or INTERCAL that you lacked before.</p>\n\n<p>The real question is that of performance. In my head it\'s as simple as replacing a SELECT [stuff] WHERE Tag = \'buffer-overflow\' with SELECT [stuff] WHERE Tag NOT IN (\'php\',\'offtopic\',\'funny-hat-friday\') but I\'ve not put together any DB backed sites that get absolutely pounded on by thousands people.</p>\n'}]
['https://Stackoverflow.com/questions/48365', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2131/']