SitePoint Podcast #41: BuddyPress with Andy Peatling

Tweet

Episode 41 of The SitePoint Podcast is now available! This week, Brad Williams (@williamsba) sits down with Andy Peatling (@Apeatling) to discuss BuddyPress, a collection of themes and plugins that turn WordPress into a social networking powerhouse.

Listen in your Browser

Play this episode directly in your browser! Just click the orange “play” button below:

A complete transcript of the interviews is provided below.

Download this Episode

You can also download this episode as a standalone MP3 file. Here’s the link:

Subscribe to the Podcast

The SitePoint Podcast is on iTunes! Add the SitePoint Podcast to your iTunes player. Or, if you don’t use iTunes, you can subscribe to the feed directly.

Interview Transcript

Kevin: December 20th, 2009. Brad Williams speaks to the author of plugins and themes that turn WordPress into a social networking powerhouse. This is the SitePoint Podcast #41: BuddyPress with Andy Peatling.

Brad: Welcome everybody to another episode of the SitePoint Podcast. I’m your host, Brad Williams, and this week, I’m joined by the founding developer of BuddyPress, Mr. Andy Peatling.

Welcome to the show, Andy.

Andy: Hey Brad, thanks a lot for having me.

Brad: Absolutely. So why don’t you kind of explain to everybody who’s not familiar with BuddyPress what exactly it is and what exactly it does.

Andy: Yeah, so the idea of BuddyPress is to take a new or existing installation of WordPress, or WordPress MU actually specifically, and rather than having the focus directly on the blog, it takes the focus and puts it more on the user. So you keep the existing blogging features, but you add features like extended profiles, private messaging, friends, groups, activity streams. So it’s trying to allow the user on the WordPress installation to kind of socially interact with other users on the same install.

Brad: Great, yeah. BuddyPress as a product is still fairly young. I mean, I know it’s been around for, what, a few years now, but I guess in the open source world, that is kind of a younger project.

When exactly did the project start?

Andy: Well, I mean, I started actually – the idea came around in kind of the middle of 2007, and it started with a client project with WordPress MU and they wanted a social network built, but I kind of built a few plug-ins then and that kind of like spawned the idea, and I thought well let’s make something open source and let’s make it available for everybody else.

The idea came from then. I started developing in mid 2007 and it kind of gained a little bit of momentum in some of the early versions of some of the features were built. I was just a freelancer at that time, so I didn’t have a lot of time to work on it and it kind of fell by the wayside. So then fortunately Automattic picked me up and employed me to continue working on it full time and then the development really started ramping up. We had the first beta version, I think, in December of 2008.

It took about 10 months of development to the first beta version and then the second beta was in February of 2009 and then actually the first 1.0 version was in April of 2009. Actually, the final version of 1.0 now has only been around, I think, about 10 months, 9 months – so not too long, not even a year yet.

Brad: You mentioned some of the features that comes with BuddyPress. Let’s dive into those a little bit more and kind of explain in a little greater detail how exactly those work; the first one being extended profiles. BuddyPress, like you said, actually puts the focus on users and it creates essentially a social networking profile for the users within WordPress, is that right?

Andy: Yeah, that’s right. BuddyPress is a combination of eight different features, among them is profiles. Basically that allows users or site admins, actually, to come in and create its specific profile fields that users can fill in.

For example, if you add a social network that was going to focus on soccer, you might create fields for users. They could fill in their team name, what’s their favorite ball, or what brand of soccer cleats do they use. So it allows users to come in and sign up and fill in those profile fields and then create a profile that’s displayed to every other user on the site.

It also adds some other features, like avatars; they can upload their own avatar and display that on the site as well.

Brad: And how flexible are these fields; are we talking just text boxes or is there a little bit more to it? Can we actually do drop-down select menus and checkboxes and things like that?

Andy: They’ve got a few options. I think there’s nine or ten different types of fields you can put in there – you’ve got radio button fields, date selectors, text areas, just regular text box – there is a whole range. So it’s based on what information you want people to fill in or the type of question you’re asking, you can select an appropriate field type.

Brad: So I guess this begs the questions, are these – when you register on the website and you create your custom fields, is that site wide or is that specific to that one particular WordPress MU blog that you’re on?

Andy: No, I mean, BuddyPress is a sitewide plug-in, so when you activate BuddyPress on a WordPress MU install, it’s globally activated on all the blogs and you use the root blog of your installation to set everything up. The user fills out a profile on your BuddyPress installation and that profile data can be accessed on any of the blogs. So you could display a profile widget on any blog or any blog that the user belongs to; so it’s available globally.

Brad: So it kind of connects and joins all the individual blogs into one big community almost.

Andy: That’s right, yeah, it’s kind of aiming to be the glue to stick all these things together and allow more interaction between authors.

Brad: Awesome. Another great feature is private messaging, which doesn’t exist on WordPress at all, so it’s fully a WordPress feature. Now is that like we would expect from Facebook where we can just message other users?

Andy: Yeah, kind of. It’s the ability for you to privately message each other and it’s done in an email style, so you’ve got an inbox, you’ve got a sent box, and then you can compose and it will auto-complete on any friend connections you have. So if you start typing a friend’s name, it will auto-complete and you can Tab and add more users. It kind of functions like email and it functions in a very similar way to Facebook mail that you see on Facebook. I think it’s nice to have and that people can privately take part in conversations across the site.

Brad: That’s great, and you kind of mentioned the next feature, which is friends, so you can actually have friends with other users within the network.

Andy: That’s right, so you can make friend connections. You might use it to connect with other offers. You can add friends to your friends’ list and then you can follow the activity of those friends, keep track of them across the sites, track what blog posts they’re posting, that sort of thing.

So yeah, you request a friend/friendship and then the person accepts it and that friendship connection is made.

Brad: Do you have to be a friend to message other users, or can you message anybody that’s in your network?

Andy: No, you can message anybody but the auto-complete only works on friends’ names, so you can start typing friends names and it will complete on their actual real name. You can also type the username into the box and send messages to anybody on the system.

Brad: That’s awesome. The next feature – and this is one I think a lot of people really love (me included) – is groups. Can you explain groups a little bit and how they kind of work in BuddyPress?

Andy: Yeah sure. I really feel like groups is one of the most powerful features of BuddyPress and it’s really allowing you to group content and start conversations around a specific topic. So anybody that’s a member, or a member of a site, can come in and create a group and you can provide certain fields like group name and news and descriptions of the group, and then each group has an activity stream that you can post to. It currently has a wire where you can post little messages. It also has a forum where you can start forum topics specifically for the group. Users can then join up with the group and you can have conversations around specific topics.

In BuddyPress right now, there is a really cool group extension API that plug-in developers can come in and create new features for groups. So, it’s really powerful. I think it’s one of the most powerful features of BuddyPress right now and it’s improving a lot all the time as well.

Brad: Yeah, I think it probably is one the biggest draws to BuddyPress. Now, as far as privacy options, are there ways to have, say, private groups?

Andy: Yeah, there are three options you can set. There’s a public group, which appears across the whole site and anything that’s posted in that group, people can see publicly and anyone can join the group.

And then there is private groups which anybody can request to join, but it has to be accepted by the administrator of the group or the group creator and all the activity within that group is actually hidden until you’re a member.

And then finally, there’s hidden groups where you can’t see that group at all anywhere in the site. It won’t show up in search results. You actually have to specifically be invited by the group creator to be able to join the group and even see that it exists.

Three levels of privacy built straight into groups.

Brad: And that comes with the default. Like you said… the groups is really… and it works a lot like kind of the Facebook groups with members.

Andy: Those privacy levels are quite similar.

Brad: I noticed you can have within a group, you have the group admin, which I’m assuming is the user who created the group, and then you can also have mods. What exactly is the difference between the two user levels?

Andy: A group admin, they have the ability to delete the group obviously, and they have abilities to promote members within the group. They can also change a few other details that moderators don’t have access to.

The moderators really are there to moderate the forums if there’s a group forum and they could also, I believe, they can kick users from a group as well or ban users from coming back into the group. So they have some lower-level access, but things like ability to delete and that are all limited to the administrator of the group.

Brad: And you mentioned forums, so let’s just talk about that next. BuddyPress has forums integrated directly into it?

Andy: Yeah, it’s actually using another project called bbPress that’s kind of built along the same lines as WordPress. So it uses bbPress to power the actual forum functionality in BuddyPress, and it used to be kind of crazy to be able to integrate bbPress and BuddyPress but in the last version, some new functionality was introduced where you could just click one button and it automatically sets up the forum functionality for you, so it’s quite simple to do. And instead of just having kind of global level forums and forums being completely separate from any of the social and interactive features of the site, it’s actually completely integrated into groups.

When you create a group, you have the option to create a forum at the same time and then threads and topics that are posted in that forum are kind of attached to the group. You can create a forum on topics of very specific subject matters all inside that group and give actually access levels to, like we just said, moderators of groups and administrators of groups to delete threads, sticky and closed threads. So it’s all set up within the group.

Brad: Yeah and then the integration process that you mentioned, I know that was a big feature a lot of people had requested and even myself back… my first exposure to BuddyPress was back in January of this year, before that had come, the integration process happened and it was… do you remember how many steps that was? I want to say it was like 12 or 15 steps.

Andy: Yeah, 15, I think. It was kind of like you had to be… it had to be a rainy day, and you had to be sitting in your kitchen for it to work and it was like very specific scenarios. It’s like magic.

Brad: It was. I got it working but it took some – you know I had to bang my head on the desk a little bit and I did get it working but yeah, having the one-click integration is a godsend. I know the community really…

Andy: I think it’s very important to me. You don’t want to start using new software and have to go through all these steps. It was just a fun right way to integrate a separate – bbPress as a separate project and finding the right way to integrate that simply… it just didn’t happen in the first version but actually now, it’s a one-click and people are pretty happy about that.

Brad: Yeah, and so bbPress is a separate project, so I guess that begs the question, is… do you have to download the actual bbPress software and then push it up in the BuddyPress or does that come with BuddyPress when you download it?

Andy: It actually is linked via Subversion as an external into BuddyPress. So, actually when you download the packaged version and the ZIP, it goes out and requests bbPress.

Brad: So it grabs the latest version.

Andy: It does grab… it’s the latest tagged version of bbPress.

We take the latest tag that we know that’s going to be compatible and trunk changes aren’t going to break things. So, yeah just pulls it in automatically. There is nothing really you have to do other than go into the administration and then just hit the button to install.

Brad: That’s what I like; just hit the button and everything works.

Andy: It’s the best way.

Brad: It’s the only way to integrate things. Let’s talk about blogging because WordPress MU, the main feature is it allows multiple blogs within one installation of WordPress, and BuddyPress sits on top of MU so obviously you still have that WordPress MU blog functionality. So how does that integrate into BuddyPress?

Andy: BuddyPress tries not to play around with how blogs integrate and how blogs work. It kind of leaves that alone but just tries to enhance around that blog. So if you’ve got an existing MU installation, it’s not going to mess away with the way that people write blog posts and they way they go into their WordPress dashboard and write new posts and organize their posts. So what it does, BuddyPress actually adds a navigation bar at the top of your installation and that appears in all of your blogs and all of the BuddyPress pages and actually gives users the ability to select the “My Blogs” menu and find the blog that they want to post on and they have options like post a new post or change the theme. So it allows users to come in, no matter what page they’re on, to go and easily access to write a new post. It will also track any blog posts that they write, any comments that they leave on a site no matter what blog it’s on and it also gives them the ability to easily create a new blog, it adds a new page for that as well.

Actually most of the features around blogging in BuddyPress kind of are tracking features. So they’ll track new blogs and track posts and track comments, kind of integrate that into activity streams and show on your profile which blogs you’re a part of and which comments you’ve left on which blog. It doesn’t really affect any of the posting or any of the actual interface for blogs. It just really enhances by tracking and adding a few new features.

Brad: And one thing that BuddyPress does that a lot of people kind of assume WordPress MU does out of the box, which it doesn’t, is it aggregates all that blog content kind of into one central location, is that right?

Andy: Yeah, exactly. So it’s really just tracking. It’s monitoring when new posts are posted, which blogs they were posted to, when new blogs were created, and any comments across the whole network no matter what blog they’re on; it will bring that all back into one central location mainly or just basically into the activity stream. So anybody on the site can take a look at the activity stream and see posts as they’re posted and see comments as they’re commented. So it kind of brings it all together and aggregates.

Brad: Speaking of activity streams… why don’t you explain it because I know that activity streams have kind of evolved in the last few versions of BuddyPress. How exactly do activity streams work, what do they do and what’s kind of the feature of those?

Andy: In the current version, really the activity stream is about aggregating all of the activity across the whole site. So it’ll track blog posts, it’ll track profile updates, it’ll track group creation, it’ll track posts of group creation, it’ll track posts to group wires, it’ll basically track any activity across the site. There is also a filter so you can filter and just say just show me the latest blog post or just show me any groups that have been created or new friendship connections and the kind of the newer versions that are coming out kind of taken that a step further and saying well, why don’t we make the activity stream aggregate but also allow people to post updates to the activity stream. So you can go in, you can post a new update and say what you’re doing or perhaps go into a group and post a new update that is specific to that group and about the topic of that group.

So it’s kind of becoming a two-way process. Yes, it’s aggregating everything but you can also go in and post things directly to the activity stream. Actually, even more so that we’ve introduced in 1.2 that’s coming up, activity stream comments. So people can actually come in and comments on things in your activity stream, whereas before it was just kind of you just monitored it and said okay, this is happening, but there was no real way of interacting with it. So it’s becoming much, much more interactive, and I think that’s kind of the way that it should go and it’s proven to be in the latest development versions much more sticky for people. They want to come back and comment on things and they want to interact with other people. So it’s pretty useful, I think.

Brad: Are there any plans to add a ‘like’ link to these status updates similar to Facebook?

Andy: I don’t see why not. I’d like to see that as a plug-in definitely. I think that’d be a great plug-in. Actually, that’s been requested a number of times and people want to say I like this on different types of content so I can definitely see that coming through as a plug-in and we’ll see where that goes and how it’s received.

Brad: So there you go. If you want to get involved in BuddyPress, there’s a great plug-in idea. That actually brings up a great point; BuddyPress does allow plug-ins, just like WordPress or WordPress MU does, it allows BuddyPress-specific plug-ins. Is that right?

Andy: That’s right. BuddyPress kind of rides on the back of the WordPress plug-in API, so it uses all the same techniques like filters and actions and basically your plug-in is the same as a WordPress plug-in. You just kind of checking that BuddyPress is active and using functions that BuddyPress provides. So if you know really know how to build a WordPress plug-in, you sort of know in a way how to build a BuddyPress plug-in because the fundamentals are very similar.

The nice thing about BuddyPress being written for WordPress is that you can ride on the back of an existing API. So I didn’t really have to think about how people were going to extend BuddyPress and how they would do that; the way to do it was already there in WordPress, it was just a matter of extending that with BuddyPress.

Brad: That’s awesome. That’s quite a slew of features we just went through that BuddyPress adds in. I could tell you probably spent a lot of long nights plugging away at this code.

Andy: There’s about eight different component features but the nice thing is you can turn these things off. If you just want to start a site or just add profiles or start a site with only profiles and blogs, you can turn everything else off. There’s on/off switches for all the different functionality and you can pick and choose what you want.

Brad: I think that’s great and it kind of helps people ease into in and kind of maybe test out just one of the features of BuddyPress and see how their users like it and then if they get good feedback, they might look at kind of flipping on the switch for the rest of the BuddyPress plug-ins.

Andy: Yeah, exactly. It’s not all or nothing, you can make it a gradual process.

Brad: Let’s talk about upcoming BuddyPress features I was checking out. You actually have a public roadmap of features that are going to come out in the next versions and it’s actually pretty detailed; I was impressed, even more so than I think the WordPress roadmap is sometimes. So I’m curious, was the roadmap, is that decided by you, was that a community effort or where did the roadmap actually come from?

Andy: Well, it was I think around about six or seven months ago just after the version 1.0 was released. I sort of sat down and thought what would be some great features to see in the next three or four versions and I came up with a list of about 30 or 40 I think, it was quite extensive, and what I did was I went onto IRC, into the BuddyPress chat room and discussed with some of the plug-in developers there and the people that just generally hang out and talk about BuddyPress what they thought about the list and what they thought would be important. And we just kind hashed it out and kind of whittled it down to around 20-25 features that we thought would be fairly useful for BuddyPress to include in the next couple of versions.

Then what we did was we took that list and put it on the BuddyPress.org website and kind of created a voting tool. So you add all the features in the list and you could actually rank which features you thought were most important. So if you thought something was more important that you could rank it up but somebody else might not think that that was very important and they rank it down. We took the averages over the – I think it was maybe four weeks we did that for – and basically it was just ranked in by the order of most importance based on what the general consensus was. Then we split all those features down into version numbers and the first five features were worked on Version 1.1 and then the next five, 1.2, and so on and so on.

That worked out the roadmap and it was kind of nice because it gives everybody input into what happens and it’s a community project. What the community wants is very important.

Brad: That’s one of the many reasons I love open source, you actually listen to the community to build this roadmap, which I think is the way every open source project should work and most do. So I think it’s very admirable that that’s exactly how this happened. And as you can start to see, it gives everyone kind of a voice like you said.

Andy: That’s right and at the end of the day, the community are the people that are going to use your software; they’ve got great ideas so let’s bring it all together and make something up.

Brad: I see BuddyPress version 1.2 is slated for December which we’re kind of winding down on. So you think 1.2 is going to make it before the new year or is that going to get pushed back till January?

Andy: Unfortunately, yes, it’s been pushed back because… well one thing we weren’t really anticipating developing a new default theme, so that came into the mix and that’s added a little bit of time onto the development and it just really hasn’t given enough time to introduce a fair amount of beta testing before the release. So it’s looking, realistically, it’s going to be probably mid to end of January before 1.2 is out just to give time for the testing.

And the trouble with releasing around Christmas is not many people are around to test and now is not a good time to release software, so I think the end of January is probably more than likely.

Brad: Awesome, and I noticed photo albums were listed in that update. Is that still in the plan?

Andy: Not for 1.2, no. And the reason being that photo albums is probably going to be very closely coupled with a new activity stream functionality in the way the way that you post photos, so it didn’t make a lot of sense to start developing that and to fill the foundations in a new activity stream component where it was sort of solidified. So now that’s basically being done for 1.2, and the development on that can start kicking forward and moving on. So the nice thing is there are some media plug-ins for BuddyPress right now, so if you’re desperate for photo album functionality, there’s a couple of plug-ins you can maybe test out that allow you to upload images.

Brad: There’s a plug-in for that, right?

Andy: There’s a plug-in for that.

Brad: That’s what we love to say in the WordPress community. You mentioned the new theme that just came out. I was actually on – you have a great site that tests kind of the latest version of BuddyPress, it’s at testbp.org and all the links we discuss on this show we’ll be sure to put in the show notes. But you just released the new theme on testbp.org, and it’s quite a change from the original default theme. I was wondering if you can kind of talk about that and what new functionality this theme provides and why it was decided to change.

Andy: Quite a few things really. One of the main things was usability. I felt that the original default theme wasn’t— the usability was okay but it wasn’t fantastic, and I felt that a better job can be done. It was about making it usable, making it more personal. So actually when you log in to the new default theme, you get personalized tabs so on the main activity stream, you can see just activity of your groups, just activity of your friends. And on the members groups and forums tabs, you can limit to just your groups and your friends without having to really dig into your profile.

Usability was one of the major things – get it more usable, get it easier to use, and more accessible for people.

And another thing was to make an easier base for people to start creating themes from. You know a lot of work was done in this area for 1.1, to make it easier for people to skin BuddyPress. That went well and it was easier but I still felt that there was too much CSS, there was too much JavaScript and there were just way too many template files that were difficult to skin. So it’s kind of starting at a fresh base and making it – thinking about how to make it easy for people to create a new theme. The CSS has been reduced by about a half and the JavaScript by about half as well, and there are far fewer template files and they’re kind of structured in a much more intuitive way.

So hopefully the idea is that it will be an easier base for people to start from and a good example of a base for people to start from and create child themes from.

I think it’s been very well received so far, and testbp.org, the interaction levels are much higher than they were on the previous theme. And I think overall, people are really happy with the way it works, it kind of makes a lot more sense than the previous theme did. It’s a much more consistent interface. Not to say that the previous theme is going away and that was bad; it’s still around and that’s been updated with the new features in 1.2, so that’s sticking around for some time, indefinitely, in fact. So if you’ve created themes on the previous default, that’s not going away, your themes will continue to work. It’s just an alternative, essentially.

Brad: Do you actually get both themes when you download BuddyPress, or is the old theme kind of something you have to download separately and add in?

Andy: No, you’ll still get the old theme. It was originally called BP Default, that’s actually being changed to BP Classic and the new theme is going to be the BP Default.

Brad: It’s starting to sound a lot like WordPress. So we’ll probably see these five, six years down the road, we’ll still be using these themes.

Andy: That’s right, it may well be. That’s the thing with starting a new project, you have all these ideas to begin with and you create a theme based on what you think it’s going to be. Your ideas morph and things change, and new things come along. I guess I felt like the older theme was getting – it kind of represented how BuddyPress was and not how BuddyPress is going to develop and move forward in the future. So I felt like even though it’s going to be updated, the older theme, I felt like a new theme could really… a fresh start and easier to update moving forward. So we’ll see where it goes. So far it’s been pretty good.

Brad: Yeah, absolutely. And this kind of runs into my next question, which is when working with software that is fairly new like BuddyPress is, it’s only a few years old, what can be done to kind of reassure like developers and designers that whatever they’re doing isn’t going to change on the next release? For example, WordPress is pretty structured, everything is kind of in place because it’s been around for awhile. BuddyPress hasn’t been around as long so just in the last year, you can certainly attest to this, that some things have really changed as far as how themes are made, profile and themes like that. So what can you do to kind of reassure the community out there that you’re not just going to have to redo your code every time a new version comes out?

Andy: I try hard to provide backwards compatibility and I’ve done that so far in every release. But it’s a new project and things do change quite a bit in new projects but the old code is not going to break. What I’m going to do actually or what’s going to be done is all the deprecated code, the old code, is going to be moved into a separate plug-in and that actually provides backwards compatibility. So instead of maintaining all of that backwards compatible code in the actual core BuddyPress, it’s going to moved to a separate plug-in and what you can do is people who are using BuddyPress with older plug-ins or older themes that perhaps don’t work in the new version, you can activate this plug-in and it provides backwards compatibility for this old stuff.

Ideally in a couple more versions, things are going to be particularly solidified and the way things work is going to be kind of nailed down and you won’t see this kind of constant change that’s happened in the first couple of versions… it’s just got to find its footing, and I think it’s pretty close to doing that now.

Brad: Sure, yeah.

Andy: But it has changed a fair amount from the first couple of versions, but I think that’s going to slow down significantly.

Brad: I think the plug-in idea is a great idea. It definitely goes towards the direction of trying to keep BuddyPress as lightweight as possible and I think removing a lot of that deprecated code, like you said, into a plug-in does that because if you don’t need it, why have it in there.

Andy: Yeah, it seems unfortunate if you’re starting a new installation right now that you have to still run all that old code in the background even though you’re not really even using it. So for people that really need it there and need to maintain backwards compatibility, they can just pop that plug-in and it’s no problem. But for people starting up afresh, they don’t have to install … use all of that old code in there. I feel like to continue to maintain the old stuff could be detrimental in the long run for the projects, but to get it out there and put it into a separate plug-in, I think is hopefully a good idea.

Brad: Yeah, absolutely, I fully agree. Let’s talk about migrating to BuddyPress. There is a lot of people out there that have started kind of social networks maybe through like Ning or some other platform for their company or their group. How can these developers or the administrators, I should say, how can they get over to BuddyPress? Are there any kind of importing tools to get through networks that they’ve already had established for a few years into BuddyPress?

Andy: Yeah, I mean as it currently stands, there aren’t any fully functional or useful importers at the moment. I know there are a few people talking about building a Ning importer, as a plug-in. I’ve seen it on the BuddyPress.org site. As of yet, nothing major that can be used to import existing installations.

I think actually one of the biggest problems right now is to get networks creating fully useful export files. I’m not even sure Ning at the moment allows you to export your data in full. Actually, BuddyPress doesn’t allow you to do that at the moment, so it’s just as much at fault. That’s actually on the roadmap for the next version. So I mean as much as there is no importers, there’s not really any exporters at the moment, so it’s a little difficult in this area.

It’s an interesting area because whether the direction for this will be importing or exporting or will it be actually automatically sharing information that you put on these networks, so if I come and create an account with all my information, could BuddyPress implement something that allows you to share your information backwards and forwards to some location that you have control of and you can back up?

I think exports and imports is going to be important in the short term but I think in the long term, we’re going to see more sharing of data and more backing up of data as you go along that network. So you actually won’t need these imports and exports in the long run, but that’s speculation and we’ll see where that goes.

Brad: You heard it here first from…

Andy: It’s an idea for these platforms to share their information but we’ll see where that goes.

Brad: I agree, I think that’s the way the Web is going; it’s just a matter of whether the big players kind of step up and allow that to happen with some of the smaller players. So you’re right, we’ll definitely have to see how it plays out but hopefully, everyone with the open mindset will go that reason and will go that direction.

Another hot topic in the WordPress world is the announcement that WordPress and WordPress MU will actually be merging quite possibly in the 3.0 version coming up. So my question is how is this going to impact BuddyPress?

Andy: I think it’s going to be a positive thing for BuddyPress. Right now it’s limited to WordPress MU and that automatically adds a barrier for entry for people. It is harder to set up WordPress MU, so if BuddyPress is going to work on this merged version of WordPress and it’s going to work, whether you’ve got the WordPress MU features of this merged version turned on or not. It’s going to be more accessible to people and reduce that barrier for entry and it’s going to be nice to say BuddyPress works on WordPress, rather than WordPress MU which is overall a fairly small percentage of WordPress installations, even though actually it runs a lot of the WordPress blogs out in the world, actually physical installations of WordPress MU is much smaller than standard single installations. It’s going to be a positive thing, I think.

Brad: Yeah, it’s going to open the door to the millions of standard WordPress websites to run BuddyPress should they so choose to once they hit that 3.0 version. How closely will you be involved with that? Will you actually work with the team who is on the WordPress side who is working on 3.0? I’m assuming you’re going to… well, I’m sure you guys are going to really test back and forth to make sure that when that 3.0 comes out, that it’s fully compatible with BuddyPress and the merger and everything.

Andy: Yeah, I mean definitely. I keep a close eye on the developments of WordPress on Trac and what’s going on there. There is not a lot of clear information exactly how the merge is going to happen right now. So I think once that starts coming out, then I’m going to pay close attention to that and make sure that BuddyPress is going along or following the same lines and making sure that it works on the development versions.

I try and contact the core developers of WordPress every now and then just to see what’s going on and make sure that things are moving forward with BuddyPress and everything is still going to work in the long term. I’ll provide a helping hand with patches and making sure that everything is up to date and working. That’s pretty important.

Brad: Yeah, I mean everyone’s focus right now is on the 2.9 release, which chances are, if you’re listening to this podcast, it should be out unless there is some big delay for some reason. But I’m sure, like you said, after the new year, the 3.0 conversations will begin, at least the public conversations, and there will be more of a good idea of what direction it’s going to go and how it’s going to happen.

It’s pretty exciting times in the WordPress community right now.

Andy: I think it’s going to be a great move and I think it’s going to be well received in the moving direction.

Brad: I’ve got a couple of WordPress MU networks, and I think that upgrade to 3.0 is going to be probably the scariest one I’ll ever have to do. But once it’s over, I’ll feel great about it, but when I actually hit that one button, I’m going to be sweating it for a few minutes probably. I’ll take good backups.

Andy: That’s right. Make sure you backup.

Brad: I actually have a question from a community member. He’s actually pretty well known in the WordPress community as well, Ryan Hellyer.

Ryan asks, “Is Automattic’s investment in the BuddyPress project related to them aiming for WordPress.com to take on Facebook.com in the social networking space?” Has that been discussed at all on the Automattic side?

Andy: No, I don’t think… it’s never been something that’s really been discussed and talked about in any great detail. Automattic brought me on because I liked the idea of BuddyPress and they liked the idea of using WordPress as a platform and creating something new based on WordPress. I was at the point where I couldn’t work on it anymore simply because I had to work on bill-paying projects. They just said we’ll bring you on and we’ll employ you full time and you can just work on this thing; there is no real boundaries, no real direction. It was like you work on this and if it works out, great, but if it doesn’t, you know, too bad.

It seems to have worked out so far and they’re continuing to employ me to work on it full time. Not to say that some of the BuddyPress features in the future might enhance WordPress.com and allow some authors to interact more on that site, but I’m not sure turning it into a Facebook.com is the way really to go. WordPress.com is a blogging platform; people go there to blog. I think any of these social features would be there to enhance that experience.

Brad: Are there any BuddyPress plug-ins or any of the functionality actually on WordPress.com now?

Andy: Not at the moment, not so far. BuddyPress is still maturing; it’s still changing a lot. They’re just monitoring it and seeing how it goes. They’re very happy with it so far and they’re happy to continue allowing me to work on it, which I’m grateful for.

Brad: It seems to have worked out really well for everybody involved, which is great.

Andy: The community seems to be receiving the project really well. That’s great to see.

Brad: Do you have any idea what the biggest BuddyPress network is at the moment?

Andy: The BuddyPress.org site is actually over a million users because it’s connected to the main WordPress database/user database. It’s obviously not one million active users, but there is a fair few thousand active users every week, multiple thousands of users every week.

Some of the other standalone websites – testbp.org is actually over about 14,000 users now. TastyKitchen, which is another site using BuddyPress for recipes used in cooking, they’re around 20,000, I think.

In the grand scheme of things, they’re not huge, but I don’t think BuddyPress is every going to be used for huge, huge networks; it’s more for these micro-niche networks that may have multiple thousands but are generally smaller than the major generic networks that you see.

Brad: It’s a good example of BuddyPress at this point is that it can definitely handle thousands of members.

Andy: Absolutely.

Brad: I’m assuming it can certainly handle many more than that if needed and optimize on the correct servers and things like that; so it’s a good testament to the software behind it.

Andy: That’s actually another benefit of basing it on WordPress is that you automatically inherit all the possible caching solutions that you can use and things like HyperDB to use multiple database servers… I mean I’ve built in support for object cashing in BuddyPress.

If you’ve got a particular large and active site, you have the option to spread it over multiple servers and use things like memcached to cash specific objects. So there is definitely a lot of possibility to the large… much larger networks.

Brad: Awesome. Let’s jump into a couple of personal questions. I actually interviewed Matt Mullenweg back in August on episode 25 of the SitePoint podcast, and I asked him this question, and it was announced that they were going to make a movie based on Facebook – as exciting as that sounds.

My question to you is if they were to make a movie or film about BuddyPress, what actor would you like to play you?

Andy: What actor would I like to play me….

Brad: Just a refresher, Matt actually initially said Brad Pitt, I think, because his name was Brad, but I’m not sure, but then he said most people kind of say he looks like Dave Foley, which I thought was pretty accurate.

Andy: Actually funny, one of my good friends back in Vancouver, that new film… what is it now… with the vampires… New Moon, is that the one? It just came out… all the teenage girls love it.

Brad: Yeah, New Moon.

Andy: He keeps sending me pictures of this guy Robert Pattinson, who is one of the main guys in that, he sends me pictures on Skype of like this guy at a specific angle. And he’s like “God, this guy looks just like you.” And I’m {laughing} like… c’mon, he’s some sort of Hollywood actor. Anyway, apparently I look like him.

Brad: Is this guy – I don’t really know too much about New Moon, but is this guy a vampire or he is one of the werewolf…

Andy: Actually, I have never, ever, seen him on TV. I have never even seen him in any movies, so I have no idea. I’ve just seen a few pictures of certain angles of him and apparently I look like him.

Brad: I’ll have to dig that up.

Andy: I don’t know… yeah, {laughing}… go take a look. But I don’t see a huge resemblance but I don’t know… we’ll see. But, I guess that guy maybe, but I don’t know if he’s a good actor or not. We’ll see.

Brad: Have you ever been a member of SitePoint, are you a member… previously were you ever a member of the SitePoint forum?

Andy: Yeah, I was a member back a few years ago. I used the forums a little bit, but I haven’t been particularly active recently. I kind of started moving over to WordPress and just use, to be honest lived in the support forums on WordPress and talked with other WordPress people. Occasionally, I see some of the articles and I pop into the site. I actually have a couple of SitePoint books.

Brad: Hey, good plug there. SitePoint books are awesome.

Andy: There you go.

Brad: So now you know we’re going to have to look up your username and find out what your first post was just like we did with Matt.

Andy: There you go.

Brad: Don’t worry; mine are about as awful as they get.

We’re kind of at the end of the interview and just a couple of quick questions before I let you go. I know you are very busy. What are your goals for BuddyPress in 2010? It’s that time of the year where you kind of look forward and make your resolutions for the new year coming in. So what are your goals for BuddyPress in the new year?

Andy: I think just to keep pushing the platform forward and getting people using it, keeping it in the forefront of people’s minds when they think about picking a tool to create a social platform or a social network on. I’m really interested in better connectivity between all the different networks, sharing information and distributing profiles, that sort of thing – I think that’s going to be a big thing in 2010.

Definitely more media and file support – image uploads, videos, you name it – media basically and file uploads, attaching files to groups, that sort of thing.

And API development, better APIs for activity streams, for profiles, remotely accessing information… that sort of thing. I think there’s a lot of work to be done in that area as well. I’d like to see more themes and plug-ins as well, really. There’s about 85 plug-ins now… so maybe get it up to more than 200 by the end of next year maybe.

More themes as well, and hopefully with this new default theme, we can see more child themes and more usable themes coming out. We’ll see how that goes, but just moving forward and keep it going strong.

Brad: Great. Yeah. At SitePoint, we have a very large community, a lot of great developers, designers and really enthusiastic crowd. If anyone is listening and wants to start getting involved in BuddyPress, where would you send them? Where is the first place that someone should kind of start looking if they’re interested in helping out?

Andy: Well, the first thing I’d say is probably just maybe download a copy of BuddyPress and get it up and running and play around with it and see how you feel about it, take a look at the code, that sort of thing.

Designers and developers go to Buddypress.org and take a look through the forums, start getting to know people in the community. That’s always a good idea. And IRC, as well, if you use IRC, it’s BuddyPress-dev on FreeNode. We usually have a lot of conversations about development and people ask questions in there.

And I think probably if you’re specifically a designer, take a look at the default theme and look into how to build child themes. That’s probably the easiest way if you want to start creating new themes on BuddyPress. You’ve got most things set up there already, it’s easy to editing CSS and overriding certain template files.

If you’re a developer, there is also a skeleton component that you can download. It’s on the WordPress plug-in repository and that’s kind of a bare bones component that sort of just provides you with the basic features that you need to start creating a BuddyPress plug-in. Download that and if you’ve got an idea for plug-in, maybe use that as the base; that will get you going pretty good.

Just get involved within the community, maybe look at the forums and chat on IRC. Get involved. It’s a growing community definitely.

Brad: Yeah, just jump right in. Like you said, there’s a lot of different areas to get in, not just designer/developer specific. I know you have a nice Codex started for BuddyPress I was looking through.

Andy: That’s still a little light on the documentation but it’s getting better. Actually I looked at it recently and there’s a lot more stuff being added. So it’s nice that the community is starting to come in and add pages and …

Brad: It is a Wiki, right, before I tell everybody to go add docs – that’s a Wiki they can go work on?

Andy: It’s a WordPress blog but it’s set up like a Wiki. So you can edit pages from the front end, and you can go in and add pages.

Brad: Yeah, so dive right into the Codex, help out with documentation, there’s all sorts of stuff, but definitely…

Andy: There is lots of things.

Brad: Anything else that you’d like to kind of plug before we wrap up here?

Andy: No. I don’t think so. Just try our BuddyPress and see what you think and let me know. The feedback is so good to hear from people that are using it and what they think could improve or could change or how they like it. It’s just great to be involved in the community around software.

Brad: Awesome. I really appreciate you coming on, Andy. I know it’s the holiday season and like you said, everyone is extremely busy with family and friends, and so I do appreciate you taking the time to chat with me…

Andy: No problem.

Brad: …and share the BuddyPress and let us all know what that’s about.

Andy: Thank you very much for having me.

Brad: Great, and be sure to check out buddypress.org and testbp.org for more BuddyPress goodness and you can follow Andy Peatling on Twitter @apeatling and you can also follow the BuddyPress development on Twitter @buddypressdev. And again, we’ll have all these links in the show notes.

A quick note that we will be taking next Friday off for Christmas. I know you’d probably love to listen to a SitePoint Podcast while you’re opening your presents but unfortunately, you’ll have to listen to a rerun, but we will be back the following week with a brand new episode on January 1st.

I’m Brad Williams with Web dev Studios and this wraps up another episode of the SitePoint podcast.

Kevin: And thanks for listening to the SitePoint Podcast. If you have any thoughts or questions about today’s interview, please do get in touch.

You can find SitePoint on Twitter @sitepointdotcom, and you can find me on Twitter @sentience.

Visit sitepoint.com/podcast to leave a comment on this show and to subscribe to get every show automatically.

This episode of the SitePoint Podcast was produced by Karn Broad and I’m Kevin Yank. Bye for now!

Theme music by Mike Mella.

Thanks for listening! Feel free to let us know how we’re doing, or to continue the discussion, using the comments field below.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • alysyn curd

    That was GREAT! Very informative, insightful and encouraging for a social networking maniac who is also, unfortunately, much, MUCH, less than a technical genius.

    I appreciate the interview questions. I had been posting several of them all over the place searching for answers. I particularly appreciated that you touched on a comparison to Ning.

    I like Ning a lot…but I think it has limitations in that it is NOT affiliated with WordPress.

    Thank you so much. I’m glad to have discovered Sitepoint.

    Alysyn Curd

    http://www.artimpactnetpr.com/

    http://www.linkedin.com/in/alysyncurd

    http://www.messageformore.com/