Skip to:

BBpress. Mindset, features and where now? discuss…

  • kevinjohngallagher


    Hi BBpress team,

    I wanted to raise a concern I’ve had for sometime, but every time I think it’s the right thing to do, there’s a new release and I thought that maybe it’d be fixed. With 1.0 in alpha stage, I figure now’s a good time.

    I think we’ve got a lot of this wrong.

    Not the code, not the plugins, not the community, but more the mindset behind the important features. We’ve not built forum software, we’ve built blogging software.

    We make posts, and people comment on them. The focus of BBpress is on individual posts with things like tags, as opposed to the forum/section/category to which it was posted. I also appreciate the desire to streamline the code base, which is wonderful, but users and the internet-public at large expect forums to have certain features – to rely on user updated plugins for these features is not an ideal solution.

    I don’t say any of this to criticise, because you folks have done amazing work given the small team and smaller community working on BBpress, and I’m massively impressed; but I think given the scale of the project you’re working on you’d want real feedback.

    Let me give an example if I may, which might illustrate the issue I and other users face.

    In the 1.0alpha, we finally get Categories as standard, a feature that is absolutely essential for a forum (not a blog), otherwise the ‘forums’ are just a list of wordpress categories.

    The problem with Categories, is that we don’t have ‘forums’ belonging to them, instead we have ‘forums’ that are called categories. A simple 1/0 in a db. But it’s not enough. Why?

    Well it means that the loop in front-page.php to iterate through forums has to check to see if it’s a category. There is no independent check for categories and forums. This of course makes no difference in the world of all forums being in a singular table (the category can just be an individual TR and we can use a PHP continue to end the loop), but as soon as we move to multiple tables (which is essential for accessibility focussed websites), or nested divs this becomes quite useless.

    What we need its:









    Each belonging to the parent above it. But we don’t have that in BBpress for categories. It’s massively short-sighted.

    Now, this may seem like a simple thing, but I raise it as more of a mindset. We’re coming across a bug/issue/problem/feature request and we’re solving that specific request rather than seeing how it fits in. Take, if I may, the brilliant UNREAD POSTS plug-in by _CK_. When it was built it added a class to the specific span of the name of the topic post in the list of topics. Upon request it then did the same to the name of the forums. At no time was the thought process – wait a minute, if I put this at the top level item of the iteration that means that all child nodes can use it. _CK_ fixed this oversight yesterday and his plugin is now brilliant and easily rivalling the methodology used in the bigger forum solutions.

    But it’s the mindset behind it I think we need to change. Fixing a singular problem, or even adding a new requested feature, without planning how it will impact others or if it’s at a high enough level is starting to make BBpress look amateurish.

    I’m not saying we have to emulate the big boys and their massively bloated software, but what we have to accept, as a community, is that the likes of PHPbb and IPB etc. all do certain functions as standard, and these are what our users will expect.

    I can’t see a roadmap or feature list for a finished 1.0 anywhere, I can’t even see a feature list for 1.5 anywhere (and yes I’ve been to the TRAC site for both). I just get the feeling as we move towards 1.0 release, that we’re not really releasing forum software, we’re releasing blogging software:

    WordPress: categories > posts > comments

    BBpress: forums > topics > replies

    These are effectively one and the same. I’m quiety confident that someone could write a WP theme that effectively does what BBpress does. The BBpress front page list topics then forums (with the number of topics /posts in it). A WP page could list blog Posts titles and then categories (with the number of posts / comments in it). They are, to an end user, the one and the same.

    I mean, was XML-RPC absolutely essential for BBpress? It seems to me that Categories, or the Unread Posts feature would be far more essential in that other forums have them. Why haven’t we used the same folder structure as WordPress so that we can easily convince wordpress users to also use BB? Heck why isn’t even our website set out in the same way (this may bring over some WP plugin creators)?

    These things are not complains, and I do not raise them to flame or criticise in anyway, I merely hope to kick start a little discussion that can see us move BBpress forward. To often in the past few months I’ve suggested BBpress to friends or fellow developers and they’ve told me that it just doesn’t meet their needs – I think that’s something we need to fix, together :)


Viewing 25 replies - 1 through 25 (of 30 total)
  • I keep thinking back on this, and I think you’re looking at it the wrong way. I’m not speaking to the HTML/Code side of it, but the concept side. The code side, yeah, some function I would consider default is missing (Unread, maybe Allow Images)

    But what’s the difference between a Forum and a Blog?

    A blog is a journal. Few people make new topics, many people reply. A forum is … a forum. Many people make new topics, many people reply.

    If you feel the code of a Blog is better suited to how you want to run your forum, cool. You want to use the highly structured IPB or phpBB? Have at :) I picked bbPress not because of the WP integration (I could care less, really) but because it gave me more options than just Category -> Forum -> Topic -> Posts, and because it’s small and lacks a lot of those fancy options.

    Example? I don’t use categories at all. Don’t need ’em. I have three ‘fora’ for high level organization. I went off the same general idea I use on my Blog. Three categories, a ton of tags.

    1) About the site topic ( is about screwdrivers, talk about them)

    2) About the Website (the code behind the site, suggestions, ideas, etc)

    3) Everything else (screwdrivers are nice, but I have this hammer…)

    Three big, broad categories/fora whatever. The tags I sort of let explode. And even then, I’m torn between structure and free form. I want a little structure (so you don’t get tags like ‘hammer’ and ‘hammers’ which really are the same thing), but I also want freedom.

    So function. If you can get all that in a blog, have at :) Many people do and we call ’em LiveJournal Communities ;)



    Hi Ipstenu,

    thanks very much for taking the time to write back. I’m glad you saw this as a discussion and not something negative towards BBpress.

    Maybe i wrote it wrong, but my point is not what “we” the internet community intend BBpress to be, but more what “they” the community of end users want it to be.

    BBpress in it’s current form is just a blog. users log on, post a blog, people leave comments. There’s a list of tags, blog posts (sorry “topics”), and um… thats it.

    I know, and you know, and i’m sure the intelligent people that have written this lovely bit of code know, that a forum and a blog are very very similar.

    When I got into the simplicity of BBpress before the summer, I tried to convince a number of my fellow web enthusiasts to take up the cause. But the more they looked at it, the more disdain they had. I’ve stuck with it, and continue to do so of course, as i thought with each release getting closer to 1.0RC we’d get there.

    But we’ve not created a forum.

    Forums have a different mindset to Blogs, and don’t get me wrong i’m ok with using plug-ins, it’s just that we’re fixing bugs/issues with a Blog mindset. That is, blogs list things in a singular direction. Forums, by the nature in terms of what the END USER expects, work in a cross polination way.

    Yes tags are a good idea, but tags are reliant on the end user.

    To give an example:

    I recently had to take down BBpress from a backpacker website because the users weren’t putting in tags. The plan being that instead of UK > Scotland > Edinburgh > Travel > Topic that users could just use the UK Travel forum and tag “edinburgh” or “london” etc. Instead, we had 100s of “how do i buy cheap bus tickets” or “cheapest way to travel” or “1 ticket spare” etc with NO tags.

    The site lastest 6 weeks before the owner demanded I take it down and replace it with “actual forum software” – that’s a quote from their IT department btw.

    But lets give a counter example: uses BBpress and it’s working great. Loads of Topics, tags, and few forums. No real need for categories. Same with the technorati one. It’s a credit to BBPress – and nothing can take away from that and the amazing work done by the BBpress team and community… BUT… there’s always a but isn’t there… the people that use WordPress/Technorati are people like us, they are technical, they are used to tags and searching for exactly what they want. They are *not* the typical end user on the internet.

    I’m all for free form Ipstenu, i totally get what you mean, and if that suits the needs of your community then great. For me, its suits the needs of some of mine, the problem is as soon as we get into the territory of what people think “all forums” should do, BBpress really starts to look… well, not like a forum.

    The more we code, the more we’re coding a wordpress clone, yet not cloning their proven and successful techniques. Our website should match their website (heck, screw the colours, just in terms of layout and user flow), our methods should match their methods. I, no WE, want to help, we want BBpress to be better, but more importantly we want it to fulfil it’s mission statement; and right now that’s not quite happening.

    John James Jacoby


    You know, that WordPress is really an elaborate Forum clone, right?

    Years ago, forums were threaded email responses back and forth that were documented hierarchically. Then, the idea of threads was cast away because it was thought to be too complicated to understand. Why would someone branch off to speak to a reply instead of replying to the original post/poster?

    To me, it’s the nature of group discussion, and it is the difference between the intent of WordPress and bbPress, at least it was before WordPress 2.7 brought back threaded comments.

    A forum is intended for multiple, typically registered commited users, and invokes group discussion that is often times allowed to skate off-topic as people reply to other people. Sometimes reply counts can escalate into the hundreds or thousands depending on the size of the forum.

    A blog is intended to allow a few authors to create articles and attempts to cater to non-committed users that drop by, can leave a comment, and never look back if they don’t want to.

    Since the emphasis of a blog is the initial post, comment replies typically tend to stay on topic.

    Since the emphasis of a forum is to spark conversation, replies typically tend to drift off topic.

    The funny thing is that both of these display methods use almost the exact same data storage and retrieval methods. Data is categorized and tagged as necessary, with a time-stamp, an excerpt, and other pertinent information.

    The one major way that blogs differ from forums, is that forums restrict posts to one forum or category while blogs allow for one post to be in several. This ability inherently changes the emphasis away from categorization and towards the content of the post itself and how it relates to other possible posts.

    I moved away from phpBB and towards WordPress for this specific attribute alone. Since posts can often times benefit from being in multiple categories, a blog style system makes a great deal of sense.

    I think that the similarities between WordPress and bbPress exist only because they share a similar intent with data storage and categorization, and if you’ve ever read two books by the same author you’ll understand how both of them will read very similarly.

    Overall I am happy that the authors of WordPress have made bbPress, as it shows a recognition of the distinct differences between the two of them.

    I think as time passes, you will start to see more of how these two tools come from the same family but are different members all together. Think of them as fraternal twins. ;)



    Indeed JohnJames, you are right on many of your points (if not all).

    I think we should do more to compliment where we’re similar to WordPress with BBpress. The code structure and website are two key issues, and i’ve mentioned a few more up above (trying not to be too boring and repeat myself).

    Your points of the cross-polination ability of BBpress, by allowing topics to be tagged by multiple keywords, is 100% valid. It’s situational ofcourse, but i can see why it’s well liked.

    My point was more… what do the end users think/want? If we say that we think all end users want little drilling down of categories or parent/child nodes, but instead to sift through tags that anotehr user might or might not have put on their post, then we are paramount to saying that every other piece of forum software has it wrong for the past 10 years. Thats quite massive.

    I’m really glad I found BBpress, i’m glad to find such great developers and a good open community, but the more I see where we’re going the less flexible to other approaches we appear to be.

    I mean, the BBpress core has a parent child hierarchy for forums, but doesn’t actually differentiate the outputted code apart form CSS. It basically treats it as a flat list. Surely, it’s clear that this hampers our theme developers. Because, lets be a little blunt here, they do all look somewhat similar.

    John James Jacoby


    I think that the user experience ultimately should define itself as the audience grows.

    I recently just witnessed a GIANT misstep on one of the larger forums I’ve been involved with. They moved from ZeroForums to vBulletin, and of the 1.2 million active members and COUNTLESS posts and topics, it managed to work pretty alright on ZeroForums. It was simple and people got used to using it the only way they could on such a large forum; they had a link to the topics you’ve posted in or are watching, and you can keep track of new posts there.

    That’s it.

    It was so simple but it worked so well. It let you peek your head out and scour some forums for new content if you wanted to, but it allowed you to stick inside the topics you were the most comfortable with and related the most to.

    vBulletin totally removed that link, and because it handles searches differently, it’s taken 2 days so far and the search functionality still isn’t working because there is so much data to catalog.

    Basically they had a forum that worked for what it’s users needed it to work as. The theme was so simple and stripped down but allowed for basic BB tags and had a good distinction between those tags. It had just the right balance of user profile customization (signature, avatar, etc) without making a social networking site.

    I think what bbPress does, is it allows the administrator to decide how much of what type of emphasis can be placed on what areas of the discussion, and to add or remove those things via plug-ins without hurting the data.

    I personally think that end users have no idea what they want, and regardless of what you serve them they won’t be happy. The idea is to provide them 1 option and force them to adapt to it without ever feeling like they are learning something totally from scratch.

    How many times have you asked someone what they’re hungry for and they say “Oh I dunno, you?” If you said “Hey I want pizza, is that cool?” they will probably say “Sure.”

    In the dinner choices of life, bbPress is a pizza crust and the plug-ins are the toppings.



    Actually, the way categories are done in bbPress is in part done for backward plugin compatibility with 0.9 (which will likely be around quite awhile, at least a year, due to it’s performance over 1.0)

    And the way it works is just fine too – just because you don’t immediately see the solution you want to breakdown the categories before or after the loop, doesn’t mean it’s not there. bbPress 1.0 truly does understand that a forum is a parent of another and if it’s a category holder for it – the data is just not presented outside of loop form because no-one has needed/asked for it yet. Very easy to write a plugin to present the forum data any way you’d like, and using a single carefully crafted mysql query, you can literally walk the reverse chain of post->topic->forum->category.

    If you want forums broken down into categories with say three categories and three tables, either write a plugin or do it in the template to build a new array of $forums[1], $forums[2] etc. But don’t change the original way bbPress works to return $forums as all the forums or it will break existing plugins.

    These kinds of feature growing pains were also present in WordPress, I can assure you – I’ve been using WP since 1.5 and I really long for the good old days of 2.0-2.1. The problem is that big leaps tend to break big things, or make them overly complex. WordPress 2.7 is a perfect example of things going very, very wrong with care towards backward compatibility and massive feature bloat, even worse than the 2.3 cookies and tags changes.

    bbPress 1.0 is getting more things right from the start than WordPress did – cookies, tags, object cache, are all the more advanced methods right off and will save some headaches for plugin developers down the road (not so much for us 0.9 plugin developers).

    Everyone has a different view of what’s missing in bbPress – from my standpoint the two biggest problems are 1. search sucks (so does WordPress’s after half a decade still) and 2. the ability to move posts between topics really needs to be done in the core asap so plugins know how to deal with moving targets.

    ps. it’s “her” plugins not “his” ;-)

    pps. you should be impressed how easy it was to make the topic/forum row affected instead of the title in Unread Posts – I can’t think of any other software that would be so easy. Hidden Forums is another example of the power of bbPress’s filter design.



    2 wonderful replies. Excellent to have a frank discussion like this.

    I’ll deal with them separately if that’s ok?


    I do love that BBpress allows the owner to specify how much of what type of emphasis can be placed on what area of the discussion, or to add/remove features based on plug-ins. I’m all for that.

    What I’m saying is, that the way we currently handle things, and the way we currently build things actually negates that. If you want a hierarchal system, you can’t have it. Categories are just forums. We don’t iterate though levels to produce our structure where Forums belong to Categories. Because Categories are just forums with an extra DB mark, there’s no ownership.

    (yes at the back end we can set the parent/child relationship up, but at the front end we don’t have access to that information).

    Infact, from a template perspective, we only access the information about the forum’s relationship with those around it (parent, child, sibling, uncle, nephew) when we work out the CSS – AFTER the table has been created. This entirely nullifies the option to handle a feudal system with controllable Parent / Child options for the owner / theme developer.

    (the call to the BBloop->classes() that works it out only returns a string of CSS classes instead of an object we can use to work things out ourselves).

    As someone who deals with accessible websites a lot, I can tell you that outputting tables for a list of the topics is great. Outputting a flat table with different CSS (that gets stripped by the screen reader) for a hierarchal parent/child relationship is totally pointless. Going the other way, for our more fancy theme developers, it really messes up JavaScript iterating and controlling the DOM; and also starts to cause real issues with CSS layouts on older /non-standard compliant browsers.

    (ever wonder why all the BBpress themes all look really really similar)

    My point is, if I want to go with the flat list of topics as many do, then BBpress lets me, which is ace. If I don’t though, then BBpress starts to cause me huge issues. I’m all for owners being able to choose to do as much or as little as they want with BBpress – but right now, with the current set up, choosing to emulate the basic STRUCTURE of the bigger boards simply isn’t an option.

    Yes we can do it in the back end (categories > forums > forum > forum > topic) but we cant do it in the front end; because we don’t iterate through the parent/child relationships like we would say… an xml file, instead we just list all the cats/forums.

    To keep with your Pizza analogy, if you said “What do you want on your pizza” and I said “tomato, and give me a coke and fries too” – but when I get the pizza delivered the fries are on a coke drenched pizza. Oh what, you didn’t want it all mushed together in a single item? SWOwman, sorry, what you meant to say was:


    – Tomato Sauce

    – Cheese

    – Pepperoni


    – Coke

    Side order

    – Fries

    Shit man, we just mush all that stuff together with no differentiation until it’s output (see we’ve slapped the coke label on the side for you).

    Basically, having a standard output that is rigid doesn’t make us more robust, it makes us less flexible. And that, as you have pointed out JohnJames, is one of the joys of BBpress. It’s flexible in so many ways – just not this one.

    (and this is just one example)

    John James Jacoby


    lol I gotchya…

    I have been working with bbPress for 2 days now, so I can openly admit that my knowledge on the inner workings of it (and maybe its limitations) is limited to those 2 days of study.

    From my experience with forum software, the category vs forum debate and struggle basically exists in a similar way, at least I know it does for phpBB. A category is just a forum without the ability to post directly to it, and I think that’s really the only way to do it without joining or adding an additional query that isn’t really necessary.

    I think what it sounds like you’re asking for is something more official like what WordPress has in terms of development cycle, acknowledgment, and respect from its developers. I also think that because almost everything for bbPress is a plug-in, that the opportunity for those plug-ins not to play nice with one another is greater.

    So, the dilemma is to package these as features within the forum, or allow the community to create those features when they are needed. The big guys bloat their forums with tons of stuff and allow the admin to turn them off, and bbPress does the opposite.

    I’m not sure bbPress really has a development plan anymore other than tweaking and steamlining the code to work better with WordPress, and maybe eventually import/export posts from other forum software. I personally think that better user management would be nice, but that brings up how WordPress doesn’t really care about users at all. Ha!



    Hi _CK_,

    Firstly, sorry about the gender thing (I blame going from French to English – to simplify I make everything masculine).

    I’ve used the categories in 1.0alpha CK, and they do work wonders in the back end.

    You make a number of really good points here, really good ones so if it’s cool I’ll go through them one by one.

    It’s not just that I don’t “immediately see the solution” (though I admit I don’t), but lets run with that for a bit :) There is no documentation, there is no list of tags I can use and their features (e.g. which starts to make a lot of template development guesswork. Are we honestly at the stage of saying that any theme designer or developer out there now needs to be a PHP guru and also know BBpress inside and out to be able to produce a non-liner theme?

    If we are, maybe, just maybe that why we’ve found it so hard to get people to use BBpress; and maybe that’s why almost all of the themes out there look the exactly same.

    Heck, even when I did manage to code a solution, I found that so much of the template is NOT in the actual editable template but in the damned /bb-includes/template-fucntions.php file that I was close to giving up. (this btw is another example of how NOT theme developer friendly BBpress is – there is NO documentation on how to overwrite these functions in a theme, and I’m somewhat confident that it’ll need a plugin – which also can’t be distributed in a theme).

    I totally understand and am impressed with BB1.0alpha’s understanding of categories and forums in a parent/child hierarchy. The backend totally seems to grasp them – and in fact I’ve used the ‘forum is categories’ plug-in with 0.9 and it worked really well (congratulations and thanks whoever developed it).

    But you’ve hit on the crux of the problem with “the data is just not presented outside of loop form because no-one has needed/asked for it yet”.

    This is the ‘mindset’ I was talking about originally. You’re coding and what you’ve given this community is amazing and without reproach, so hopefully you won’t mind me using you as en example.

    What we’re doing is effectively plastering over the crack. We’re fixing the… visible bit of the problem (does that make sense in English, it’s a bit like “tip of the iceberg” thing which makes no sense in french). Let me hark back to your impressive Unread Posts plug-in (which is wonderful). Rather than actually say ok this FORUM or TOPIC that we’re iterating though has unread posts, you coded a plug-in that ONLY worked it out when building the CSS of the actual forum name. It’s like, shooting the small fish downstream and then having to constantly go back upstream when someone points out that the bigger fishes are still there.

    People want Parent/Child? Sure we’ll make the change in the DB and admin.

    People want Categories? Sure we’ll give it to them in the DB and admin.

    People want to make changes to the template? Sure we’ll only work out if its’ a parent/child in the CSS because no-one has specifically asked us via a letter from the queen to give it to them in the $GLOBAL[‘forum’] variable 2 lines above. I mean, we COULD work it out before hand, but why would we do that, because then people could do what they wanted with the theme and CSS – heck they wouldn’t be stuck to using tables in a linear fashion and… oh, no, wait…

    It’s… fire fighting, it’s fixing the visible bit of the problem without actually tackling WHY people might have spotted the issue. It’s not a complaint, truly it’s not, the coding that’s been done is wonderful and I’m always impressed by it; but the mindset the thought process behind these features, isn’t wide enough.

    You yourself can see how scarce this and bbshowcase forums are, it’s hardly a bustling thriving community. If we’re honestly waiting for someone to specifically come and ask for processing to be done at the earliest stage possible and not just at the CSS level then we may be waiting a long while.

    I appreciate that it’s “Very easy to write a plugin to present the forum data any way you’d like” for someone of your obvious expertise, but not everyone in the community could do that. And while I think I could make a decent stab at it, not everyone here could, and certainly not everyone who could design/develop a theme could. Not to mention that as a THEME we’d need to specify plugins that need to be installed at the same time. Surely the good developers here at BBpress can see that’s not how a THEME works in wordpress.

    What we’re effectively doing is adding a double step. We’re saying that to be a theme developer, you need to be able to code PHP plugins and be able to read, sift, assume and work out all the relevant tags/functions/classes/object without any documentation. That’s a massive massive assumption. Which is what my original mindset point was – we’ve effectively built a piece of software that’s really good for us the “open source loving / developing / community” but not good for the average user/owner.

    BBpress has so much potential, and whether people in the community think that my particular examples are valid or not (we are all entitled to our opinion), surely we can all agree on certain points:

    Making BBpress website structure and look fit into a more format will help people stick around:

    Increasing the documentation will make things a lot easier.

    Not presuming that template developers are PHP wizards.

    Making the structure of the core files match WordPress more.

    I, like all of you, want BBpress to be better. But right now we’re going down one path, and the more we go down it, the harder it will be to allow people to take their BBpress forum in it’s own direction.

    John James Jacoby


    Well, I think that a theme designer and a theme developer are two different positions now, and to develop means to program, while to design means to mock the lay-out and intent.

    And I’m okay with that.

    Also, I think that tables are the most logical way to present forum data without mucking up the content with div’s and span’s. The theme files allow you to code your table rows, heads, bodys, and footers, so you can set your own distinction between cols and rows for accessibility sake.

    WordPress suffers from this similarly, with forcing h2’s and ul’s all over the place when they should probably be h3’s or dl’s considering, and the alternative is tricking it into serving what you want, versus just ordering off the menu.

    (I must be hungry with all these food analogies.)

    Really, I think that you’re right, and that bbPress would benefit from some kind of WordPress-esque codex, because otherwise I’m forced to decompile the included themes and fit them to my needs, which is a good way to learn, but a bad way to be efficient.

    There has to be some level of organization to a forum, I think we can agree, since without form you have chaos and a splat list of data. Of course, organizing in a way that ‘makes sense’ is in the eye of the beholder.

    I can’t visualize something ‘less rigid’ than the current iteration of bbpress type forms, since tags gives you a rather light level of ‘org’. Yeah, you still need some categories, but I don’t see how this negates a hierarchy, except in the case that bbPress cats are fake and, thus, annoying to me. Thinking back on the other forum software I’ve used, though, it’s all been a bit similar. You have a forum and sub-forums under that. So… okay, if that annoys you then, yes, everyone sucks equally :)

    But what’s ‘better’?

    The only option that would meet the no-standard output is something like an XML file that you format how you want. Dunno how you’d sort out hierarchy though. You’d probably have to treat everything as equal (i.e. it’s all ‘posted’) with flags for cat, forum and post in the SQL table to sort out output. But … Yeah, I can’t see how to unstructure it more.

    But yes, yes, GOD yes, the documentation whomps. Then again, so did WordPresses back in the day ;)



    “But yes, yes, GOD yes, the documentation whomps. Then again, so did WordPresses back in the day ;)


    But lets learn from those mistakes :)



    Before i run off, I made this today:

    Now, i’ve left $show_children=true, and added a crappy padding-left:20px to the CSS so that you can see the potential (though it totally looks crap).

    The point of this is that 1) it works with existing plugins and 2) it doesn’t require plugins to work and 3) can be flicked back to the good old fashioned table stucture with a flick of a variable 9or removing the CSS padding).

    The difference is that mine can be iterated through via the DOM and have the DOm understand the parent child relationship, and can be read successfully in the same way by a screen reader.

    Also the HTML TAGS (in this case divs) for categories, parents, childs, siblings etc, are set up via a variable. So can be tables, divs or lists. All with the flick of a variable.

    My point all along, has been, if we build something that can output one solution, then we’ll only ever meet the needs of that solution. If we build something that CAN meets the needs of many, then we meets the needs of the original (list all forums in a table) AND the needs of others.


    Anonymous posting is on, as is instant password if you want to register a fake account and have a wee look.

    Now this is todays work, so dont expect too much, it’s merely a vehicle to show the potential.

    EDIT: some of the forums are marked as hidden, so you may want to make an account. sorry, wanted to show it doesnt’ break forums and then went and hid one of the big ones. D’oh.

    John James Jacoby



    It looks darn near perfect…

    If your concern is catering to screen readers, then you know that phpBB is hardly the place to start, as reading the screen outloud to yourself makes no sense at all. Imagine if you couldn’t see what you were listening to, it would be impossible. That’s why (properly coded) tables for forums make sense. ;)

    I noticed the topic view was buggered, didn’t want to load and show anything, so I assume that’s under construction… But, that’s pretty super awesome…



    Thanks mate,

    it’s definately a work in progress. the plan of it was not to emulate the CODE of phpBB press, but instead to emulate how it looks. As you can see, the difference between having the positioning and CSS in before the TR / TD is worked out allows theme developer far more options.

    And oddly, screen readers and modified browsers LOVE LOVE LOVE lists (ul/li, or dl/dt/dd). they have buttons to skip right past the ones you don’t want based on criteria and this means sifting through the parent/child heirarchy so much easier than tables. For tables screen readers (much like the DOM itself) skips line by line.

    So on my website, if you chose Eurpoe, and the first forum was UK. with Nested divs and Lists you could hit next and go to Ireland. With tables you’d go to the next TR, which would be england, then london, then scotland etc.

    I want to stress here 2 things,

    1) i in no way want to turn bbpress into phpBB, i just figured i’d use it as an example win my layouts, because as bloated as it is, it actually does the nesting output really well.

    2) I in no way want this singular issue to be the only thing we’re discussing here. It’s one of many examples where i think we’er going down a particular route.

    Finally…@Ipstenu : “I can’t visualize something ‘less rigid’ than the current iteration of bbpress type forms, since tags gives you a rather light level of ‘org’. “

    This is feel is the crux of the problem, as long as we have tags (which are great) we feel we’ve a fluid cross pollination forum going on. But if you take tags away for a sec (lets say the users didn’t put them in); then what your left with is 1 list of topics and 1 list of forums. That’s the definition of rigid.

    John James Jacoby


    Screen readers and modified browsers might love lists, but they also love properly coded tables, of which most people really seem to do.

    Google “everything you know about css is wrong” and check out how to style lists and div’s as tables, it’s an interesting read also. I don’t agree with it, but it is interesting.

    The idea of a DIV is not to nest them, but to use them to DIVIDE content. The idea of a table is to compare data in a relational way. I think if you were going to use lists for forums, you would HAVE TO use DL’s and use dt’s for the headers at the very least, to provide a definition to the content being displayed.

    I mean, I see how the argument goes both ways. (Off topic: If you’re really into accessibility, check out my WordPress section 508 theme at It’s not completely full of content yet, seems I have about 5 half finished projects right now ugh.)



    wow JohnJames, that is an excellent link and site.

    I’m totally onbaord with the use of compliant tables for listing of tabular data. In terms of the topics, it’s 100% ideal, and done well by BBpress.

    I also also totally agree that lists such as the forums, should be output to the screen as Definition lists with proper headings. Browsers wont know the difference (with the right CSS) and screen readers and search engines can better index. I might edit my example to do that tonight.

    … as long as we have tags (which are great) we feel we’ve a fluid cross pollination forum going on. But if you take tags away for a sec (lets say the users didn’t put them in); then what your left with is 1 list of topics and 1 list of forums. That’s the definition of rigid.

    I see where we differ :) I see bbPress as ‘One big ass list of topics in one big ass forum.’ That’s not rigid so much as it’s just a list. Probably organized by last post date, but a list none the less. I don’t see it as rigid, I see it as unstructured. But I can see where you’d call it the other.



    Heh, Kevin you made what I had been working on at random times. A phpbb template for bbPress. Except my project was to use real phpbb templates and translate them into bbPress templates from the raw files. Kinda gave up on that one after the first week so I’m glad you made it happen (at least the default template).

    To the best of my knowledge, no one has made a theme with non-table front-page/forum-page. But hey I have 5000 bbPress sites sitting in my db so I can do a scan for you later and let you know if any of them managed to pull it off.

    This is a list of all the existing, public/free bbPress themes to date:

    Oh and yes, there is no documentation. This has always been a complaint, but no-one has risen to the task. The problem is bbPress has been constantly changing – there isn’t even an official/final 1.0 release yet, which is probably why no-one has pinned it down. The database from 0.9 to 1.0 changed somewhat radically too. Now that 1.0 beta is in sight, someone should probably start working on some notes for plugin and theme developers.

    What would probably help is an official codex for bbPress. There’s an unofficial wiki but it’s barely used. If it was a tab here, that would be entirely different.

    ps. I completely disagree with the idea of trying to uses lists where tables currently are. Tables have vertical rows that can be sorted which would be 100x times harder with lists. Javascript has specific abilities on tables that don’t exist in lists. Lists do not have vertical relationships between their “cells”.

    I am not at all discouraging you from trying it as it would be interesting to see. But lists for the sake of simply not using tables is wrong IMHO.



    Great answers again _CK_.

    As always you bring an authoritative voice to this discussion.

    “Tables have vertical rows that can be sorted which would be 100x times harder with lists. Javascript has specific abilities on tables that don’t exist in lists. Lists do not have vertical relationships between their “cells”.”

    I’m going to be one of those guys here a sec and say you’re totally and utterly wrong about this.

    The DOM of a browser treats a TABLE like an XML file that it iterates through in a singular parent/child relationship.

    The DOM of a browser treats a LIST like an XML file that it iterates through in a singular parent/child relationship.

    Both are sorted based on their parent AND their attributes.

    The perception that tables are easily sorted natively by JavaScript is only brought to the fore because libraries such as jQuery etc. have built in functions to sort tables. The same underlying code works for lists in exactly the same way.

    eg. The browsers DOM can’t tell the difference between:


    – TR

    – – TH

    – TR

    – – TD



    – DIV

    – – DIV

    – DIV

    – – DIV



    – LI

    – – SPAN

    – LI

    – – SPAN

    Let me give you an example again; Back to the backpacker website (real world examples are good I find).

    UK (Category)

    – England

    – – London

    – – – Travel

    – – – Hostels

    – Scotland

    – – Edinburgh

    – – – Travel

    – – – Hostels

    – – Glasgow

    – – – Travel

    – – – Hostels

    Now if we output these as 1 flat tables (even with fancy CSS tags), and we use JavaScript to sort it (lets say alphabetically), we get this:












    UK (Category)

    Because, again, if things are in a singular flat table structure there is not way of knowing which child belongs to which parent.

    Again, i’m only advocating the use of lists for the forums, not the topic list, which is a singular list, and therefore well suited to using tabular data.


    What I want to stress here, because i’m feeling like i’m repeating myself a little and thats never good, is that i’m NOT here to get BBpress to change from tables to lists or divs or anything else.

    What i’m here to discuss is that BBpress is going down a route, a route that solves one set of needs. Can you list the topics in a singular table in a singular order while the only differentiation between each row/cell is in the CSS worked out after the tag has been sent to the browser.

    That is a very very singular way of doing things. My point is that all over the shop here in BBpress 1.0a we’re doing things in a singular method, and not in any way giving any for of extensibility to the software.

    I use the forum parent/child output example cos it’s on the front page. I could use the example of having template functions HARD CODED in the bb-includes folder as opposed to being in the template folders. I could use the example of “forum” or “topic” being slapped before all the permalinks with no option to remove them.

    Lets be honest here, in terms of changes from 1.0a1 to 1.0a2 the first 17 changes were style changes to the template file that we’re all (hopefully) going to replace with our own template.

    The 3 latest changes to the repository have been to fix TYPOS in the comments.

    There was 85 days, almost a 1/3 of a year between 0.9 release and 1.0alpha, and I may be wrong here but the biggest change seems to be that XML RPSeeWhoCaresAboutThisReally was added.

    People are complaining about the same things on this board over and over. Most plug-ins were written over a year ago, and have been hacked to death. Vital information is stored on Page 3 of a forum thread started 18 months ago because no-ones updated the website.

    Heck, saying that the STABLE bbpress release doesn’t actually work with anything beyond 2.5.1 of wordpress, let alone the stable wordpress release of 2.6.3 ISN’T EVEN ON ANY OF THE WEBSITE PAGES. It’s stored on the forum software, in a random post.

    This is not a complain against the great men and women who have done some marvellous work here, _CK_ so far is a screaming example of someone who’s given up huge amounts of time and created some amazing code, but come on.

    If we try to develop something with no roadmap, no feature list; if we try to solve single problems with singular solutions; if we do this all with no documentation; heck if we do this with no project management whatsoever then we’ll end up with a bunch of things that look somewhere between a blog and a forum all with slightly different colours and a different header picture.

    Then we can all pretend that we’ve build a totally extendable bit of software that every user has just decided to use exactly the same way out of pure luck, and not because they’re effectively forced to.

    Heck while we’re at it, i’m going to pretend i’m Brad Pitt. Make believe is SO much fun. I’d suggest you all try it, but maybe you’re already there…

    as someone who has used phpbb 2, phpbb3, invision and many other smaller packages i was probably a little bit biased towards forums. but then i started blogging with wordpress, and hence to bbpress.

    let me say first of all that i like bbpress. after using those other bloated packages for years, it’s refreshing to get back to what it’s all about: a lightweight forum that’s just for… talking.

    but i agree with the guy who wrote the original post. there are some things that a forum package needs. using bbpress straight out of the box is like stepping back in time.

    here are my personal bugbears…

    1) guests need the ability to post. you can’t build up a forum from scratch without that — it’s near impossible. because no one bothers to sign-up until the forum is relatively busy.

    2) you need some kind of permission system. otherwise how can you talk to the other moderators? there is no PM system (which is fine) — but the only way you can do it out of the box is by email. you need to be able to create a forum that only the moderators can see, and other stuff like that.

    i haven’t looked at the new version you’re working on, so maybe they are included in the new one. but leaving stuff like that up to the plug-in makers is crazy. Not that the plugins wouldn’t work fine, because no doubt they would — but nobody could be certain that a plugin will still work when a new version comes out. it could potentially wreck the usability of your board.

    i think when you leave simple stuff like that out all it does is put off the people who might otherwise be prepared to switch over from packages like phpbb.

    i do like bbpress though, and i am still going to carry on using it. …so i say these criticisms with love!



    Just seen Sam pop up on these boards (was beginning to think he was a myth), so hopefully we’ll get an answer on some of these points we’ve made :)



    Sam’s short on time these days. He just went to bed, so no more replies from him today (aussie time).



    SteveDrum both anon posting and PM are plugins.

    I don’t see why they should be built in, I for one don’t like them on my forums and it bloats the code.

    Until 1.0 there was a problem with anon posting because there was no place to store post meta, but now the general bb_meta table can be used. So maybe one day it will have it built in but not likely 1.0



    Oh one big thing I should point out – the features in bbPress, and the time of the main developers are first and primarily geared towards the need of Automattic and – people forget or don’t realize that.

    Remember, bbPress is a purpose driven product that happens to also be open source. It wasn’t just a few people that said “hey let’s make a better free forum because we can”.

    The features that are “missing” from bbPress just happen to be the features that Matt decided weren’t a priority for and the other Automattic forums. It’s also why there is no documentation, remember Matt has to pay the coders, why does he need documentation for 3rd party plugin developers if it’s just going to cost money.

    bbPress 1.0 and the backpress integration are now being driven by Matt’s goal of TalkPress for members.

    So there’s the logic that some might not understand without perspective. There are projects like SMF that literally WERE “let’s make a better free forum” that have matured now so you can compare to them – but remember they are half a decade old. bbPress is far younger (and bbPress is way easier to write mods for).

Viewing 25 replies - 1 through 25 (of 30 total)
  • You must be logged in to reply to this topic.
Skip to toolbar