The current state of BuddyPress: A critical analysis
About two years ago I stumbled upon BuddyPress when I was looking for a open source social networking solution for a non-profit project. Until that time I was only familiar with paid scripts to set up a social network, and you’ll probably recognize the way I felt when being introduced to the community that powers WordPress and thus BuddyPress. I actually started using WordPress for the first time thanks to BuddyPress. Within two years time I’ve switched my working career from boring web design jobs into the awesome world and community of WordPress and BuddyPress. It’s been the two most bad-ass working years of my life!
So obviously that shift meant that I’ve been spending more and more time on working with BuddyPress, and getting more and more involved. I started BP-Tricks and currently you’re looking at the 3rd version of it. While it’s been hard to maintain at time, and the post ratio has not always been high, I’m proud of the project and seeing it evolve.
One of the coolest BuddyPress related things I did was a 40 minute crash course introduction to BuddyPress at WordCampNL. It was so much fun to see these WordPress people being amazed at what you could do with BuddyPress. I made a lot of friends that day!
I’m telling you all this because I think it’s important that you know that my concerns written down in this article are coming from someone who owes a lot to the project, and has no intention to see it fail or “die”. I know pretty much all the people running the project behind the scenes, grinding out code as soon as they find the time in their busy lives.
So why write it then? Because if I look at the current state of BuddyPress I can only be honest and tell everyone not much has changed for almost a year. It’s still a great social networking solution but the development and 3rd party plugin development has slowed down enormously. To me it’s obvious that some things need to change. I’ll get to that part later, first we need to go back a little and summarize what happened when BuddyPress 1.2 was launched.
A short trip down memory lane
around the time BP 1.2 was released the potential and buzz around our beloved social networking plugin was steadily growing. The community was active, great 3rd party plugins were released and being worked on, and the project moved at a steady pace. It was a great time for the entire project, and our hero Andy Peatling was spending his full commitment on making it ever more awesome, being backed up by a team of volunteers. Exiting times!
After 1.2 released Andy’s focus shifted away from BuddyPress, and I figure that makes a lot of sense. You can’t do the same stuff forever! JJJ was considered the Alpha Male now, and it was a spot he rightfully earned. When JJJ was also hired by Automattic I could only be glad for him. Both Andy and JJJ proved that they are capable of developing and maintaining great open source projects, and these job offers allowed them to earn their living with what they loved to do. I did expect that Automattic would make sure they kept being involved with the project, since at that time it was obviously doing very well. Instead Andy completely moved away from the project, and JJJ got his hands full on working on the new BBPress Plugin. He did drop in from time to time to do maintenance and chip in a few cents on BuddyPress related discussions, bust mostly he was doing other things.
Luckily around that time Paul and Boone moved up the ladder becoming Core Developers. And once again I was happy for them. Why? Because these guys write BuddyPress code in their sleep! I can’t name you two guys who have been as passionate about BuddyPress as they are. They have spent hundreds (thousands?!) of hours working on the project, answering support questions and developing plugins. So if you thought this article comes to a point where I start blaming them, JJJ or Andy for the current problems BuddyPress has, you better stop reading now.
So what IS the actual problem then?
Ok now that I’ve spent so much words on setting up the stage, it’s time to start with addressing the problems. This is where stuff can get ugly. But I think it needs to be said. If you have kids reading over your shoulder, it’s time to move them away from the computer.
BuddyPress Development has slowed down drastically
Paul and Boone have been trying their absolute best to keep the development going, but they are doing this part time, on a voluntary basis. It’s impossible to keep such a massive project progressing at the same pace as before JJJ and Andy “left” BuddyPress. They both have jobs, a life and a passion for other things besides BuddyPress. like eating pizza and having a flock of chickens running around.
If I look at the current state of BuddyPress I can only be honest and tell everyone not much has changed for almost a year.
And while it has been said that anyone can “easily send in patches or help with the project” it’s actually not that easy. Remember that a lot of people who want to help out with BuddyPress have no idea how to create patches, work with the trac system or even know where to get started! And no, the answer “Just read the Codex” has never been sufficient. I’m not saying the current way of working is wrong, but it’s too heavily based on the WordPress way of working. And with freaking millions of active users, even they had a hard time finding core contributors.
3rd Party developers and designers are hardly rewarded for their work financially or mentally
That sounds like a bold statement, but just take a few steps back and look at the current situation:
Plugin donations are extremely spare. Thousands of people download BuddyPress plugins every day and the developers hardly receive anything in return. While some might say that that’s just “way how GPL works”, Providing solutions and tools that benefit the community in large should be rewarded financially. That realization is not present with 95% of the community and that reflects on the activity around 3rd party plugin development. I can’t name a single major plugin being released for BuddyPress for the last couple of months or even a year from someone who has not been active in BuddyPress before 1.2 was released. There are still a few amazing plugin developers out there, but when you actually talk to these guys, and ask what they get in return, it makes me a very sad panda. Because mostly the response is something like: “I get about $20 bucks of donations, shit loads of feature requests and the occasional hatemail”.
Even contributors that have been part of the community from the beginning have given up and moved on to other things. Maybe the most painful example of this is the way Jeff Sayre’s Privacy Component has turned out. Hundreds of hours of development seem to have been for nothing due to pushed back released dates, rude community members and overly long demotivating discussions about the importance of such functionality. For me it’s been hard to look back at it being both a user and developer. Not to mention how it must have been for Jeff and the community members who did try their best to get it out there for us to use.
Even this years Google’s Summer of Code has been completely free of any BuddyPress related projects, while the previous year we got EventPress, BuddyPress Courseware, BP-Moderation and BP-Album developed. As far as I know there were NO BuddyPress related project proposals send in. That is a sign that can’t be ignored.
Creating and maintaining BuddyPress Themes is a big challenge
While Child Themes generally an easy way to develop themes, in the case of BuddyPress that is not so much the case. When you just mess around with the stylesheet and change a few things, it’s all good. But when you start modifying templates or actually want to create your own custom BuddyPress parent theme, you get in a lot of trouble.
Because the learning curve is pretty high, and existing frameworks already have a base template structure set in stone, premiuum BuddyPress themes are sparse. For the most part it explains the lack of (commercial) themes available for BuddyPress. The importance of “Premium Themes” should not be underestimated and it was a huge part of the success of WordPress
Some efforts have been made by bigger players in the theming business (I worked with WooThemes on a BuddyPress theme based on their Canvas Framework theme) but these project have turned out to be troublesome. If you already have a great WordPress framework developed it’s simply a lot of work to offer BuddyPress compatibiliy, and the pay-off is currently very low. ThemeForest does not even except BuddyPress themes, just a ThemeGarden and practically all other theme shops.
If you already have a great WordPress framework developed it’s simply a lot of work to offer BuddyPress compatibiliy, and the pay-off is currently very low
3rd party plugins are based on the BP-Default template structure and this led to great difficulties in getting BuddyPress functional and compatible with other themes and frameworks. It’s pretty frustrating as a BuddyPress fanboy to see these projects fail and I’ve spent countless hours defending BuddyPress. But if I’m being honest and take off my “BuddyPress lover” purple sunglasses, I completely see the many difficulties around any “serious” BuddyPress theme and plugin development. And if it was just me, we would see more then a handful of themes appear right? Here’s a quote from Adii, founder of WooThemes that underlines the position BuddyPress is currently in:
“Our opinion on BuddyPress is divided: whilst we think it is a great platform, we honestly do not see widespread use for it and think that the functionality & features is overkill for 99% of websites. Just because it’s nifty to have your own little social network, doesn’t mean that every website should have this… [...]So our opinion before was that BuddyPress is thus a very niche market and as far as niches go on WooThemes, we’ve always been reluctant to over-commit our internal resources to these. [...]
We haven’t seen more requests for BuddyPress popping up since we introduced Canvas BuddyPress. This has generally been the case when we’ve introduced something new (like our tumblog themes, which has seen us release multiple popular themes since the first two themes in March 2010). [.....]“
It’s unlikely that our foray into BuddyPress will be expanded beyond the Canvas child theme. Never say never, so we’re not ruling this out completely, but this is highly unlikely.
I can’t really blame them. Here’s part of an email I sent to Adii just a few weeks before that post:
Themes in the Repo
There is a complete lack of new themes being released in the repository. It has taken months before actual BuddyPress child themes were accepted in the Theme Repository due to features missing in the BP-Default theme. This meant that all BP-Default Child Themes were rejected, which in turn led to no new free themes being released for almost a year. When I read this is was actually pretty pissed of at how that situation was handled. In the end this was solved by some great people of the community, mostly Tammie and Modemlooper. But this should have been something that would at least be addressed and handled by the WordPress Core team.
This situation has now been resolved but new themes are still not showing up in the repository. And to be honest I can’t name you five people who work on creating BuddyPress themes. Can you?
The BuddyPress.org Community Site
During the last couple of years I’ve seen a lot of BuddyPress websites, and I think the official BuddyPress one is one of the worst I’ve seen. There, I said it. The community is completely fractured into several streams of communication, and it’s impossible to completely keep track of what the hell is going on. I’ve actually spoken to people who simply stopped going to the BuddyPress site to help out others because they went bat shit crazy.
Using the BuddyPress.org website is like having 3 email accounts without any of them showing them if you have new messages. You visit the forums, browse to your profile and check your favorite threads RSS feeds. It’s a usability nightmare. In my opinion there’s a lot of stuff that needs to be changed, and I know that Boone was planning to do so.
The community is completely fractured into several streams of communication, and it’s impossible to keep track of what the heck is going on.
Maybe it’s time to pick that up again before 1.3 launches? I’d be very happy to work on it with a the rest of the community!
Coming up with solutions
I think writing these types of critical articles can only be ended with coming up with some solutions. In the upcoming weeks I will keep coming back to this article and write follow up posts about the problems that I addressed. I think most of these problems can be solved by some hard work, creative thinking and a combined effort from all BuddyPress communities out there. That is why I will be contacting a lot of the people that I know in my BuddyPress network, and work on something that I think will benefit BuddyPress.
I think most of these problems can be solved by some hard work, creative thinking and a combined effort from all BuddyPress communities out there.
Also I’d like to say that Marshall Sorenson and I have been working on a powerful WordPress/BuddyPress GPL platform called Infinity which has full BuddyPress support for (child)theme development. This should make BuddyPress Theme development a whole bunch easier, and it will hopefully give a boost to the available quality BuddyPress themes. BP-Tricks is completely built on this platform and in in the upcoming weeks the project will go into private beta. If you are a BuddyPress developer or designer, we would love to get you on board to give feedback and improve the product.
A word to AutoMattic itself
Over the last two years I’ve become really attached to the project and spent a lot of free time on contributing to it. Not nearly as much as others have done, and that is exactly why I felt the need to write his post. For me BuddyPress is not just a social networking plugin. It’s become a part of my life and helped me made new friends, realize some of my ambitions and helped me make a living. Lately I’ve been getting the feeling that somehow the importance and potential of this project is not realized at AutoMattic HQ. BuddyPress adds something to WordPress and can be used to set up great non-profit social networks. We simply can not ask the current core developers to keep the project evolving at a certain pace, when we know what these guys are already doing the best they can. There need to be new players added to the BuddyPress roster and I just hope that Automatic starts to realize this.
Finally I’d like to ask everyone to think really hard about the possible solutions to the problems addressed in this article. Post your thoughts, ideas and suggestions in the comments. Share your thoughts on Twitter and tell everyone to chip in. I’m sure if we get the discussion going, we’ll come up with great ideas to improve BuddyPress. Maybe at a lot faster pace then we’re used to!