I’m involved with the development of a new bbPress theme. This in itself would not normally be particularly interesting, people develop new themes for forums all the time. However this is a theme with a difference!
My first forway into theming for bbPress was during an episode of WordPress Weekly when Jeff Chandler said that bbPress was not up to scratch for use as the WP Tavern forum software. He cited the shear number of plugins that needed to be installed to achieve very basic functionality as reason for not using it. As a proof of concept, I installed plugins which were capable of achieving almost all of the functionality Jeff asked for during the hour long show. However, even though these plugins were capable of adding the functionality required and were very easy to implement, they often didn’t do it in a fashion suitable for all themes. For users to style their forum the way they wanted it to, they would need to have modified those core plugins and in turn prevent them from being upgradeable.
Later on I messed around with building a template generator for bbPress. I didn’t have time to build a custom theme from scratch, so I simply modified the default Kakumei theme which came with bbPress. Unfortunately the Kakumei theme uses some odd-ball coding techniques which did not gel well with my own code. I needed a theme which was coded to modern standards and without using strange positioning methods to place things onto the screen. I hacked at the code I was using, but even now the themes exported from the bbPress template generator contain many annoying coding bugs.
What did become apparent to me at the time though, was that bbPress was actually more powerful for the average developer than any other forum software out there. If any of you have ever tried coding a new forum theme from scratch you will be able to testify to the fact that they are almost always extraordinarily difficult to work with. In fact they are so complicated that most forum softwares never have any custom themes made for them, they are almost always knock off’s of the default theme. bbPress on the other hand is a dream to work with. The number of template files is low and the ones provided with Kakumei are fairly well laid out and so are easy to find your way around.
I seriously contemplated building a custom bbPress theme, but after taking a serious look at the way that WordPress itself is developing into the most popular web based software of all time, I decided that the best approach to changing the way that themes are built would be to use the same approach used by bbPress’s cousin WordPress. With WordPress, there is a bustling industry of themers churning out designs, new code, new techniques etc. all of the time. WordPress themers across the world are constantly borrowing code from one another in an attempt to stay ahead of the race to create the best theme around.
We are running the project over at SitePoint.com where the SitePoint staff (including myself) are organizing a community wide development of the new theme. At this stage the community are working out the basic wireframe/UI side of things before moving on to the design and coding of the theme. If you would like to be involved, please sign up at SitePoint and join in the conversation, we are very keen to get as much input as possible on the new project.
I don’t know of any projects which have been organized in a similar fashion to this. It may not work as expected, but it should be a fun learning experience none the less. I look forward to seeing your input over at SitePoint :)
More information is available in the “SitePoint bbPress theme community project Announcement Post“.
Cool project Ryan, there is a real need for more quality bbPress themes!
I’ve tweaked Kakumei to match a few WordPress themes so far, and I’m currently working on my first original bbPress theme.
When it comes to including plugin functionality themes, I’m on the fence. I like to keep themes simple and not have important functionality dependent on the functionality.
It seems like redundant code anyways, why redo the code for some feature, or roll it into the theme if it already exists as a plugin? Particularly for bbPress where there are not that many plugins, it seems like that effort would be better put into new plugins, or updating plugins that don’t work properly with 1.0 yet.
I can understand how you’d want to be able to include more of these features in one package. But it seems like a bit of a hack to me. Some of these features should make it into core eventually no matter how lightweight they want to keep bbPress. I think rather than themes with plugin functionality, I’d rather see more comprehensive plugins that can replace 4 or 5 smaller plugins. Like Nightgunner5’s excellent bbPress Moderation Suite.
Myself, I am trying to build my bbPress theme to work with existing plugins better. So that if you install the bbcode button plugin, or signatures, it styles them to fit into the theme, but without being dependent on them.
You’ve started an ambitious project though! I’m definitely interested to see what you come up with, and if I can contribute anything that I learn from building my own theme, I’d be happy to pitch in.