 So my name is John and I'm the project lead for Buddy Press. I have been since about 2009 and a half But he can't so usually Funny I think because there is a wide array of experience with the platform and We have all day and we have a very small crowd We have a very niche group of people that are either already interested in it because they're using it They have heard about it and don't know what it is They maybe know what it is, but are totally overwhelmed and confused by what it is. They're supposed to do with it Or they just want to hear more about it to figure out if it is the right tool for their potential job. So I Have a tendency to start off Pretty low and then we kind of ramp up as we go So which is like David. I think kind of prefaces this with a We've got all day. We're gonna try and be a little bit casual We do have an agenda. We're going to try and stick to some of these talks so that Everyone that is here for a specific talk is going to get out of it what they had come to get out of it but at the same time today is for you it is all for Everything from question and answers at the end of the beginning everything from Buddy Press 101 to Contributing to open source to communities and everything else. So where I Think someone like Matt mullinwegg's traditional state of the word is a very polished and Practiced and presented presentation about the state of wordpress in the world My approach tends to be a little bit more casual Which is to say that? Buddy Press does not power 25% of the internet Not yet Although if you think about it at a high level But he pressed powers the website that helps power 25% of the internet because Buddy Press is listening on very large portions of wordpress.org To aggregate all of the activity that is happening across the entire ecosystem that powers wordpress.org so every commit Every ticket comment every little snippet of activity and more going in on a constant basis Gets pushed back into an activity stream that lives on profiles.wordpress.org Profiles.wordpress.org is a one site that through the the magic of Multi-site multiple networks domain aliasing a bunch of weird sunrise that php hacks Runs on buddy press.org. It is one site That has buddy press on it and then every other site wordpress.org track even which is python Have a bunch of endpoints and listeners to push content back in to your wordpress.org Profile so even though buddy press isn't you know all over the internet it is powered by one very large website that You might not necessarily know that it's listening and hanging out on and if you've heard me talk before or If you've heard me talk about buddy press before if you've been here every single year and you're sick of hearing me say this Installations like wordpress.org. I think are really where buddy press as a Tool or as a plug-in or as a project Really do shine Where buddy press is not the emphasis where the social network part of your Community is not necessarily the place where people are coming to interact with each other Certainly buddy press can do those things and it is very good at them in my very biased opinion But at the same time, I think that we are all sort of burnt out with All of the communication that can happen online and all of the directions that it happens in So trying to roll out this brand new social network and hey come sign up in this place and hey Let's all be friends and do this one thing Is not really the way that we choose to interact with communities anymore I think ten years ago that may have been like yeah, we can do this Go social networking That I think today were you know a little it's a little bit different think of how many like slack network Like who here has signed up for slack Who here show of hands has multiple slack and networks that they are part of Who here has turned off notifications like a cross-slack completely? Because it's just so much and it's nice to be able to tune it To go in and say key words and ignore a bunch of stuff and go into but it takes a day It takes a day to set up two factor across all these networks And it takes a day to tune all like who you're listening to and what channels you're in and they've got dms and dms are groups of people And so you've got a private group with ten people and channels as I get there so much and it's powerful It's super awesome, and it's great, and we love it and it's best thing ever, but it's just completely and totally overwhelming so What I like to think of because I guess you know I'm tended to Accidentally influence buddy press to go and maybe some directions that I am personally feeling on any given day, but the entropy of just notification overload is Something that I feel on a constant basis of trying to Really truly dial in the relevancy of what it is that is going on which is where profiles.wordpress.org Conveniently doesn't really ping you a whole lot about what it is that is happening in wordpress.org It's purposefully dialed back in a way that you can subscribe to things there is like a little dashboard in your profile to add some Regex to Sneak through activity that's coming in and alert you when things are going on but it is purposefully tucked away To be sort of a power feature where if that is a thing that you want to get notified to You'll find it because you're looking for it. We are not going to try and inundate you with those kind of things and Some of the End-to-end user features that I think are kind of the most cool and unique for buddy press We don't use on wordpress.org and what we do use we use in Unique and And I think kind of creative ways like we don't have private messaging between wordpress.org users turned on and Back in the early 2008 9 and 10 sort of era of Imagining deploying profiles to wordpress.org and what that might look like we had totally architected out on multiple whiteboards Like we can have like plug-in authors can do support and they can do like private support with like their users So that way it's not public if someone wants to ping them they'll have like private messages to talk back and forth And then like wordcamps can set up groups and then groups can have, you know, Discussion forums for the wordcamps themselves and like over a period of time we have kind of gotten there with wordcamps but so many other of these things that we really felt strongly that buddy press could handle and take care of really well for wordpress.org The reality is that Even at scale even with a team of volunteers even with experts and professionals that care and want to deploy that feature and Maintain it on an almost full-time basis that for the four million users that there was on wordpress.org back then and for the nine million that there are now That opening up private messaging and saying like hey guys go crazy This is a big deal even for experts so it just wasn't worth it. It was a moderation burden and why why turning on if no one is really clamoring for it yet and a lot of that A lot of that experience is largely what ended up influencing the direction that buddy press the open source core project took. Back when the early days of buddy press as a plug-in you would install it and you would get like the experience of buddy press had crafted for you. There was a default theme and you had to use that theme you had no choice. The BP SN parent theme is anyone remember BP SN parent. Oh it's so much fun. BP social network parent I mean it was the it was intentionally a social networking theme. And it was a theme that you had to activate on the root of a multi site install buddy press had to be multi site this theme had to be on the root. If neither of those things happened buddy press would not work. And those were the early days of you know how it was supposed to be. And in many ways like sort of my favorite way I think to to make it work. Because I think and a long enough timeline of using buddy press and deploying it and figuring out how it works. You naturally end up wanting that as your installation type and architecture anyways. So when it comes to the state of buddy press today. What we have done really is taken what we've learned from not deploying a lot of these pie in the sky ideas and features to wordpressed.org. Back in the early 2010s and have taken that as the direction for buddy press as a project today where everything used to be active by default. We have turned a bunch of things off on purpose. Private messaging turned off groups i think might be turned off now though i don't i don't remember anymore. The only things that i know for sure end up getting turned on are profiles and activity streams and then sign ups. Hey John hello. I like that you tried to sneak in the back door so that i could purposefully draw attention to you as you as you walk in. That's fun for me. So for buddy press specifically wordpressed.org and we've had stats on some of the stuff the entire time and auto and everyone did a really good job of cleaning them up. But i like to look at the stats page. Enough to get an idea of one how fragmented are our upgrades or installation types. Which to me i hate that there are so many colors personally right like there are just so many like the volume of active installations is still really high. But this is the best it's ever been. It has been very terrible for a very long time. One i think it's just over time people either abandon or get rid of the old installations because they don't ramp up to users the way that they thought or whatever so they just naturally a trick. Others people go through the hoops and they upgrade them older installations that had older versions for a while. We played pretty fast with backwards compatibility back in the day because you know you only had a few hundred thousand downloads or whatever it was so we kind of. Now that we have millions of downloads at least one hundred reporting back thousand active installations. And probably another hundred thousand more that don't report back because they are private intranets or communities that have their purposefully locked down so we're not going to see what's going on there. We kind of have to pay a little bit more attention to what it is that we are going to potentially break and be a little bit more cognizant of and respectful of the developer time that goes into deploying enormous or at least. Complicated social networks or intranets for people that are relying on the software so it's good to see that these numbers are. Big chunk of them is the current latest stable version but I think we will naturally close in on getting rid of the really. I mean one point nine is like a long time ago so it's you know to see that that's still on the list is you know it is what it is. While I'm here I will make a call out to anyone that may want to redesign our header. And this this is I did this so it's my fault that it is like this I also designed the redesign to the buddy press logo. And without realizing and I only just noticed this like two weeks ago if you turn at 90 degrees you have like an accidental pac-man. Yeah I you know I really like pac-man so it's like I subliminally incepted a pac-man into my own projects logo. So yeah there's a lot of stuff that's going into buddy press to five which I can talk all day about at this point also. But I know that when when David had shot some ideas about what I should talk about some talking points and pain points all those kind of things that one of the things that I have. I would say actively side about on Twitter is sort of like what to do with the social network like conundrum or. Then how to remark it I guess buddy press in a way where people don't think like I need to have my own Facebook in order to use buddy press type of problem. And I think that we have a lot to learn in relation to word press in that way where we've all heard you know like the word presses for blogging. And somewhere along the way like that became a bad thing I don't know why that was. But I think on a on a long game on a long enough timeline word press being known for blogging will only always help it. But you will it you know what it is from the get go because a blog is always the same content maybe a sidebar maybe a header. It's it is just a title and some content all the bells and whistles and stuff that we bolt on top of it are convenient they're really awesome. A blog is like the simplest type of possible website that you could really truly have and we choose to trick it out however we want. Some people want a Tesla for a blog right like I wouldn't mind a Tesla but not everyone needs a Tesla for a blog sometimes you just need a smart car or a bicycle. So word press is like your your conduit to get your content published from one place to the other where buddy press. We always used to call it like social networking in a box was like the old school the original slogan. But I think social networks mean so many different things to different people and there is a core set of functionality that comes with every social network that you are on. Even like weird ones like peach who's on peach. Right like okay like you signed up for you're like okay I got to squat my username I don't want anyone to take it right and someone got JJJ like I don't know how that happened because I was like. Someone already had it. But it doesn't it's weird like if you don't you I is weird you click on stuff and like it doesn't interact with you I don't know but you have a profile. People have some semblance of an activity stream you have the ability to private message each other back and forth. You can follow people and they call it friends but it's sort of following I don't know the whole their whole thing is weird but it's cool that. People are still actively trying to experiment with new flavors and directions and variations of social networks so. Whether or not you want to call it that these things are networks of people being social but for some reason when people hear social network it's like. Fingers on the chalkboard you don't want to I don't need that I'm not part of it or I'm not joining another one or whatever so. When I talk about what has now sort of become like buddy presses identity crisis it's not because. Is anything wrong with buddy presses because there's something wrong with how we perceive. A plug in that is supposed to power or that could power and scale to like really big social networks dot type things like wordpress.org where we're shoving activity down it. Or you just having a community for your meetup group or. Darkly or whatever the other like relatively lame examples that have used forever are so. Throughout the day if you can do me a favor because I will be here until Monday. While you're listening to me drone on and on about buddy press for a couple hours and while you're seeing or thinking about uses and deployments or your own things. Kind of try to give it a think about what it is that. What it is that you would want for wordpress to do. That maybe wordpress shouldn't do but buddy press could. So that's why it has notifications it's why it has a log of what it is your users are doing that's why it has a way for users to communicate back and forth with each other is wordpress doesn't. And because we have fewer installations because we have a smaller community we have the opportunity to bend wordpress in a really cool ways. At a scale that lets us move the social side of the web in a different direction. BB press the forum software is a little bit typecast it is forums forums are been around since before blogs we get what forums are. There are some neat things we can do now with BB press. But they don't largely influence the things that we could maybe do with buddy press. And for a little bit of the fun back story which I like to talk about so if you've heard it again I'm sorry to bore you with it but. Buddy press sort of came from the idea of having a bunch of social features on wordpress.com. Which is why it was originally multi site only. And so now if you look at really as a case study of where. Buddy presses today and where wordpress.com is today with or without jetpack at this point. There are many parallels regardless of automatic taking a very round about long way to get there. Wordpress.com has notifications through jetpack notifications. You have sort of an activity stream via the wordpress.com reader. You go to wordpress.com you are following a bunch of blogs and you get all of the activity for everyone that is that you're following. The only thing that wordpress.com doesn't really give you it doesn't close the loop of me being able to follow what any individual wordpress.com user is doing across wordpress.com. And really that's by design that is on purpose that is a thing that I lobbied heavily for while I was at automatic was put something somewhere for me to follow Matt. You can see what Matt is commenting on across wordpress.com. Give me a way to find the people that are influencing me and follow them around the 60 million blogs including jetpack ones and see what it is that you are doing. Not like a creepy way but I want to know what you think is cool without having to ask you or I want to be able to figure it out. And so buddy press was originally largely because of the way that wordpress.com is architected as a code base buddy press was originally several must use plugins. They were and you friends and you activity and you actually would have been at that point profiles and you groups and you blogs and all of these drop in plugins for. Multi site wordpress were intentionally built to hook into all of the cool wordpress.com stuff that was going on and make wordpress.com a very large blogging social network. And for buddy press is a piece of software on wordpress as a piece of software the relationship there I think is really really great. I think there's such an enormous amount of potential for something like a blogging network to actually come back even though I know that it probably will never come back. Because buddy press is there to listen and talk to and aggregate all this activity across all these sites. And enable you to almost turnkey have your own wordpress.com that's kind of cool right. So part of what I think part of why I think buddy press has the opportunity and maybe would benefit from some kind of a pivot in a way. Two reasons I think one. Because even though wordpress multi site is now part of wordpress core. You still will end up with fewer wordpress installations on the long run because jetpack is sort of distributing the idea of multiple sites across multiple installations. So if you wanted to have multi site wordpress in theory you could just install jetpack and you could have sites all over the place. You could have sites on different hosts and different servers and different parts of the world. And you can use your wordpress.com account in the middle to log in and comment and see what it is that's going on across all those things. So what buddy press was originally purpose built for. I can see on the dark side of wordpress installations where you might not want to use buddy press at all because that type of installation is already uniquely popular. It doesn't really is not the thing that people are doing at the same time. If that is what you want if you do want to have your own network of blogs there are lots of examples that i could think of if we want to talk about many of them. Buddy press i think is the ideal solution for that. So what we would like to do is tune buddy press for the use cases that users are really truly using it for. The way that we are sort of tuning wordpress for publishing to the web. Trying to think of i had a really good oh so who here knows jeremy felt at washington state university or knows of him right i mean okay so. So i should get this off the screen because it's kind of a dumb slide to have up here for the live stream the entire time how about we just do this no one can look at anything. You have to look at me now. Washington state university if you haven't seen it is an enormous wordpress multi site installation also multi network. They have networks for schools and alumni and for each individual school so that. School admins can have some access and control over some sites but not others all open source it's on github. It's pretty dope and you should check it out. Is wsu.edu right. I guess i could probably pull it up but yeah wsu.edu. And you wouldn't know it and largely i mean i know because i've asked. There are over 150 growing sites and they're running internally i think like on a school server. And they're all public i mean for the most part to the internet and so even with wordpress with a bunch of sites on one i mean probably relatively beefy server. He built like a cool stats dashboard he's got all this cool stuff that he's largely open sourced all of it. But an installation like that. Is perfect for something like buddy press where you have lots of users lots of people interacting lots of people lots of content going in. To listen to even if you don't reveal it and you don't advertise the fact that you have a. Profiles area or section across your school and i know that they have one buddy press site i think like specifically for alumni is that they've set up. They have maybe a few that they're trying to architect and figure out. But an environment like that is kind of awesome because you have this hugely active network of people that are constantly publishing content inside of a niche. Closed in wordpress installation that isn't connected to jetpack and publishing stuff all over the place and it isn't necessarily about. Spamming the web with your content it is about people that are going to or interested in washington state university. And for the types of neat intranet installations starbucks whatever else that we've seen buddy press get used on and for. It is the public facing ones that i can point to and go hey look it's so cute that are the ones that i wish that i had i had more access to. And i think because buddy press ends up being. It's a lot to do. But also because it is largely related to people's privacy and their profiles and what they're doing and because. A lot of people don't publish content every day to their blog the way that they tweaked or published a Facebook or whatever that. We don't really see a whole ton of amazing buddy press installations come across. Hi david. I can talk about buddy press to five if you want to talk about that buddy press to five is pretty sick. Let's get that out of the way right away. One of the. I think gosh i mean paul gibbs has worked on a feature that's in two five for probably the past like five years. And partly inspired he had a plug in paul gibbs is one of the leads on the buddy press project he's been around since probably as long as i've been around and. Lurking and building and architecting and committing and he had a plug in that was really popular. Called the welcome. And it was like a critical missing piece for a social network or a network with open sign ups where. Users can just create accounts on your word press installation and. Again because buddy press was born in a day when there wasn't custom post types and taxonomies and we didn't really have a popular proper switch to blog. We didn't have a lot of caching stuff that was in there now buddy press was basically a separate application that just happened to live inside of wordpress so. Now we are to the point where we can trust all of these core functionalities and tools so. We largely paul and. I'm math and ray and a few others that shipped in built a way to. Create and manage all of the emails that buddy press is going to potentially send out to the point of hopefully my local install isn't totally broken. Being able to customize them in the wordpress customizer I know this probably isn't cool anymore because everyone is doing cool stuff with the customizer. I think it's it's pretty to be able to match your html emails that your social network type installation can send out. In a customizer and be able to see what it's going to look like you know real real time to make it match whatever the motif is of your. Of your theme. And then what we do is we use the. Content editor we're going to kind of I think. Massage the UI a little bit more but the. Visual editor ends up being the html version and then we fall back to the excerpt for text only so you could have a variant for text only emails. But these are logically stored as just custom post types and we group them together with a undercover taxonomy to lump together how they're all going to be categorized and whatever so. I remember when. When custom post types were first rolled into wordpress and wordpress 3.0. We got lots of questions about like when or why or if buddy press will move everything from the custom database tables that it uses. And it does. It does use a bunch. So anything all of these. Would be I don't know we've got maybe 13 of them if you have everything turned on because we take a model very similar to wordpress we have objects we have metadata. So notifications are an object groups are an object profiles are not. So installing buddy press suddenly gives you boom like all these database tables that you're not used to using because you're used to wordpress having custom post types and taxonomies register a post type for this and for this and for that. And part of the reason why buddy press was built this way was to scale across millions of sites on wordpress dot com. In theory we've got up to trillions of rows that we can shove in a table relatively reliably in my sql. Okay we'll just shove a bunch of data in it if we want to and you know it'll kind of be okay. Eventually we could shard it we have all sorts of cool code and logic to shard buddy press database tables if that's the thing that you eventually need to do. So we have thought relatively far ahead in that capacity but with the. Improvements that have gone into register post type custom post types and managing custom post types. Back then the answer was like there's absolutely no way that we will ever move buddy press to custom post types that was like that was the clear and obvious answer was nothing will ever move to custom post types. Today though there are some uses for custom post types that actually work really well like emails because we can switch to a root blog of a site. Very quick now switch to the root get whatever email it is that you want to send out send that email out from the root. And now you're good because largely most buddy press installations are either on a single site because you just have one primary social network site thing that you're doing. Or you want to send an email probably from the root of that site with its title tag and it's kind of branding from the root site and everything else so. That's where we start on a very long sort of scale we come back to the idea of having buddy press largely communicating to and from the root. Installation of the root site on a multi site network which is how buddy press originally was in 2007 and eight so you can see how. Maybe we kind of were right on accident and then we shuffled around while things and multi site moved around and now we start going back to the way that that was before. And we had dreamt up some other neat ideas for using custom post types and taxonomies that we ended up not doing. Ideas that at this point I'm pretending to experiment with myself just to see like how viable that these ideas might actually be. But you could it's just data they're just sitting in database tables somewhere you can tell buddy press that friends data lives on one site and activity stream data lives on another site and group data lives on another site. We have fairly robust sort of ways to categorize and tag things and put users in buckets and whatever else now that we have taxonomy term that. We can kind of do anything at all kind of fits so. How we have decided the direction of buddy press should go has changed a bunch of different times. And. Even though it hasn't changed code wise it has changed like spiritually which is why I think. Maybe it's just me because I get stir crazy after a while but. I would like to see. I would like to see more people start considering buddy press as. As doing a lot of the things that word press can't. Then doing all the things that social networks can. One of the things that actually one of the reasons that I first got. Really heavily active in the word press community and found word press and buddy press and BB press at the same time. Is because I didn't understand how word press didn't have like an author page. Like when you went to author slash admin you just got more posts. That was really confusing to me because they didn't care about my posts. I cared about like. I want to I want you to see who I am on the author like this is I'm at the author URL. Why is there just posts here and I was like okay let's do some digging. Oh okay I guess that makes sense it's there could be a lot of authors could be whatever that's cool but I don't it's not what I want. Then so then it was how do I find profiles and in word press and there wasn't really anything and andy peatling had. Kind of he had still just launched buddy press dot com is like a thing and it was sort of pretend open source where he had a repo on. I don't know where source forage whatever. And it was okay well this is the way to do that and it is still not very awesome so maybe we can try to make it more awesome. And then bb press had profiles but it was forums and they didn't want forums and then i had to try and figure out how to integrate all of them together. You're here and i know there there are people here that remember the like deep integration like hacking all these config files together and like making sure that they didn't collide on top of each other. You had all these like separate things and there was something that felt like really cool about doing it like it felt like you were like. I don't know you're like doing all these secret things like no one was supposed to know how to do. And there was i used to joke that there was like a for install minimum for all of these things that you had to. Like the first time was like oh this should be pretty i don't know what i did it's not working and it's never going to work. Okay let's just wipe it out completely start over and then like you choose a different multi site install type and then you. That's like back press collisions is like all these problems like okay well i don't i still don't understand. And like by the time that like the fourth day and the fourth like set up of all these pieces. You finally get it working and be like the smartest person alive. It's very rewarding experience even if it was torture. So we have worked very hard to try and improve that experience quite a bit where buddy presses now like kind of turnkey. You get theme integration right off the bat which i think is actually kind of awesome like it works super super well. Who here has not seen buddy presses theme integration good because i don't have to talk about it right. I know what else do i have i know there's there's the thing that. That i show off every year because i built it and it's like my little easter egg for buddy press that. That no one ever really pays attention to but that you can relocate and rearrange your x profile tabs. So if you want to reorder the way that they look or work you can just move them. There's nothing really in the ui that would ever hint that you can do that thing. The old school ui was just text boxes and you would just put the order number in like pages and it was. Whatever i was like well that's pretty lame you're never you would never really do that. So okay so you can order your fields but then you can also. Drag fields from group to group so that you can put them wherever you want. So they are fairly agnostic in terms of where you put them and why and again it's like. You don't it's it's kind of a difficult interaction to try to. Communicate to an end user that like this is a thing that is possible to do in this interface. But it is a thing that you would always want to do as your. Needs for profile fields grow as you your user base grows and you want to add a new profile field it might not be in the same group that it was before. And a lot of these were originally they were like everything else in the development process the decision was sort of hard coded or made for you like these are the groups that you have to have and if you delete a group you're just not a lot. And we made that better and. We also sort of made it better in a way that still kind of feels like word press. Which i think is hard to do because word press has so many unique little you i elements now. Like the nav menus is totally unique and new editing taxonomy is different and users of different settings is different they're all some different experience then you go into the media library. I'm like that's a totally different thing but for this i think it's sort of still sort of feels like the way that word press should feel. And then we even though it's kind of you know i guess maybe not the prettiest little thing but. Even when you add a new profile field it still sort of looks like what you would expect in word press it kind of didn't even used to look this pretty it was just like forms and a button and like save it and whatever. And so we put a lot of little work into registering proper meta boxes and if you pick your. Multi fields and you get this neat sort of drag and drop interface for reordering your field and we kind of ended up building a form builder. Like primitive one but still a form builder into body press to get profile fields working in a way that you could actually start. Working with them in a cool way. And then we added a url field which is a pretty obvious one that we didn't have because everyone wants a profile url to somewhere and that comes with its own sanitization and expectations so we added a url field in two three i think. And a ton of caching improvements in two five and performance tweaks and stuff we have a lot more. I would say I hate using twenty twelve is like my okay we'll use twenty sixteen so a lot of work has gone into I mean this is a terrible screenshot that I have back here is really like kind of messes with your interpretation of what it is that you're doing but. The theme integration I'm sorry I'm going to talk about it. Just works really really awesomely and ended up working good enough. For other plugins to end up sort of following suit easy to do downloads will commerce end up using a lot of the same mechanisms and approaches that. BB press introduced that we were able to bring into. Into buddy press and. When we brought the theme compatibility in. It was feature complete enough in BB press where it took me about a day. To integrate all of it in to buddy press we took the default templates. Hack the header and footer off of them put them in a directory made sure we had all the right calls and stuff and then. Refresh the page and did it work. And it turned out that it kind of did it was actually okay because we had all of the sort of things in line and in place and documented well enough where. Jiggle shop at that point is an e-commerce plug in that was sort of the foundation for commerce and so jiggle used it right away and then commerce inherited it made it really awesome like. If you've used who commerce there like theme compatibility has a fancy UI and it tells you like what templates you might be missing and which one to edit and how to get there and it'll create it for you like it's really. Tricked out so that would be like the. Crazy cool like end user version of what inevitably we could have in buddy press or BB press. But we still tend to follow word presses philosophies in a lot of ways where. We hesitate we do kind of do depends on what the thing is we will imagine if. I don't know like WordPress has a theme editor and a plug in editor but you never use it and if you do you're like I don't want to break everything so you kind of don't use the built in plugin and theme editor. So like buddy press or bb press like putting time into building this elaborate really cool like template editing engine thing. Would be a lot of work for something that people would go. Okay let's turn it off i don't ever want to see it so we've just never really focused on doing that but it is. Check out who commerce is implementing this is awesome is really cool. Let's see we did a bunch of neat stuff for cover images. So as largely i math did the cover image implementation and cropping so if i you know do whatever. Then it automatically on the fly just plots your cover image in there right like it seems pretty straightforward now like this is common place on the web. But the fact that this is using your whatever theme you're using in WordPress could be whatever. The fact that it is drag and drop on the fly fact that it is a jackson all fancy and fun on the back end. Then works with any WordPress theme is kind of what the ideal turnkey plugin installation functionality really should. Work and feel and do so even at the scale of a social network. We've tried our best to make it as easy as possible to lower the barrier of entry to getting user registrations and sign ups and everything. All bolted into WordPress is as easily as possible and like we're talking about with. Turning things on and off. If you're not familiar i mean buddy press comes with all of this stuff and. I really still enjoy the very primitive look and feel of this layout compared to something like jetpack that has a fancy. Modules and tabs and hide all this cool stuff all over the place you tell this discovery and i kind of just think this makes a little bit more sense to me because it looks familiar like a plug-in screen where you turn stuff on and off. And another of my like favorite dumb little buddy press guilty pleasures is our dash icons are all about like. Partying. The balloons in the pinata. So I think Ben is probably going to do like a professional variant of our dash icons for people that maybe want to not have a pinata. But I still sort of like the fact that we have cutesy icons. I also really like that you put like the old school icons that pay the PNGs on the. The banner like the buddy camp. Awesome. So the PNGs I don't know if they're still on the codex the old ones are PNGs. I don't know if I'm even might be tethered. You know I'm trying to cheat and it's not working. And I can't type so we have that problem. And now I can't unsee Pac-Man. Like every time I see the logo I'm like oh we don't have him up here anymore. Well we have the PSD up here. I could just pull up the PSD. It's not worth it. It doesn't matter. Waste of time kind of maybe. If you want to see the icons we have them on shirts at the hillbill. Let me see if I've got. It might be worth. I don't know they're cute. I like them. My goodness. Oh everyone's going to see all my downloads. They are. Some of them are on there. I wanted the full color ones. I want to try and find the PNGs. Do you guys mind is this boring you? That's probably a smarter idea. This is why I shouldn't be allowed to use a computer. I really thought we had him up here. Now I feel like I want to solve this problem instead of trying to find The other ones that are out there. That's true. Come on. Now where are they? You're right. They're not here. Where did they go? That's terrible. Okay. Everyone else has already looked for them. Look at our fogo. That's terrible. Who did those? Yeah, it's not. Yeah, I got to go. Okay. Sorry about that. Thank you for... I would mis-type it every character that you would say. So I'm going to spare everyone that agony that it would be Completely my fault. So yeah, that's... So when we first introduced the cover images on wordpress.org, The... I guess Otto and Scott and Andy were kind of hacking on it And putting the ideas out there for how to put it together. Constantine, I don't know if you were there. I don't remember. But I was like, people are going to totally try and hack the Background image and try and do something to them to make it do Or look a certain way. And so it's like the... Where everyone's plug-in is. The background h2 has like funny text shadows and Opacities and stuff on it to like try and prevent like background Bleed from people like trying to hack the thing or like Extend it or do anything. And once it was live, the first thing that I did was like figure Out exactly how to hack it and extend something on the end of The buddy press side. But then it was totally broken for right to left. Because we didn't support right to left header images. So you just ended up with like this block that didn't make Any sense there. And then... And so then Hugo beta that works at automatic had designed A header logo or a header image. And we went back and forth for a day. And I was like, I don't like it. It's got stripes or whatever it was. And I was like, we'll use this one. It's like, dude, it's ugly. Like I know you're a designer and I think that you're a Really good one. I don't know. I'm being picky about my dumb header image. And so then finally at the end of it, I was like, okay, I'm just putting this red. The logo's on one side and I'll figure the rest out. And so I put our little party hat icon like just balanced off The side. And so then when I put the header image up there, The first thing I got was like a ping from like Otto and Andy That were like, why do you have to troll us with better images That screw with the name of the plugin? I don't know. I think it's cute. So I don't know. Does anyone have... I mean, I can talk all day about all sorts of buddy press Related things. Or are you talking later? I don't know. That's true. I'm going to try and enlist a bunch of other people for Maybe a Google Hangout if I can do that because you'll be Sick of me by then. So... So, oh. Don't you take the pressure off of me? Oh, okay. That's good. Not really. What's that? Conferencia. Plug your... Plug your... That works okay. So, David's pretty modest. So he took the twitter bootstrap 4 template or whatever it was That was kind of largely incomplete. They have like a... Like a premium theme template thing. And so he took that as a starting point. Bolted buddy press underneath it. And then built a website specifically for conferences. And going to conferences and having a profile about what Conferences you are going to. And was able to use the aspects of buddy press for Groups and everything else to... I mean, I would hesitate to say without a ton of work. But at least with all of the built-in functionalities that Buddy press already comes with, searching for users, profiles, All those things. Built, I mean, a very, I would say, sophisticated looking Community website about going to conferences. And so that, I think, for buddy press specifically, the... You almost absolutely have to use some front-end framework to Complete a buddy press task. You just have to. Because there are so many pages that you have to Stylize and consider that without using semantic ui, Twitter bootstrap, framework seven, ionic, whatever your Framework du jour is to make that website. If you're just going to build it like a word press theme and Try-in theme, a profile page and activity stream page, Groups, friends, followers, acknowledgments, notices, Received back and forth, the Ajax part of it. You will never finish. Because you will spend every new thing that you Think you need to do will take you a month to dial in and You'll spend forever doing it. If you can use and leverage, i know that people hate to do it. With buddy press it works incredibly well. Then you can start off with a... someone that has designed And architected the social networking aspect of the Design, and you just bolt buddy presses functionality into It with the loops of things that you would need to do. That takes a long time. But at least you don't have to Reinvent all of these things for the web. A professional designer that works at twitter or Contributes to twitter bootstrap has given you elements for Headers, footers, lists, links, buttons, colors, themes, Easily switched. There's no reason to do all that On a buddy press site. And when you do, because i have, Is terrible. It is such an enormous amount of work That no one in their right mind would pay you to do it. And you would be reinventing the interface wheel that really Awesome people have already solved and reinvented that wheel Multiple times over. So i think conferencia is probably My favorite of the things that i have seen in the past 12 Months. If anything, because it is fully Featured. It is not like it is an incomplete Buddy press installation. There are groups. There are followers. There are like profile Fields that are useful in a useful way. All of those icons. They have icons that matter. Like all these little details That make it look like a fully functioning polished social Network site. David has implemented input in here. So that is rare. That is rare for a buddy Press site that i see. Largely they are, we want Profiles. We want some aggregation of Activity. It is never about the actual Activity that is going on and then aggregating a lot of that. So conferencia.io. Don't listen to him. He's being modest. Part of the code of conduct should be Not talking bad about yourself or the things that you do. David? Okay. Maybe i missed it. This is actually a buddy press group. So we click on attendees. These are the people that Check in or join the group. So basically there are Buddy press groups that you can check into and report To the parents and all the other things buddy press Groups have. You can also create Buddy press components. I'm not sure if we have That's sad. I only have one friend. What we need is click on photos. What we've done is We've extended a buddy press component that automatically grabs Photos from the conference and adds them into the buddy press group. This was working at the US which happened in December while We're here. I may have time to set this up We have live. Our live thing is probably the most interesting thing But as you can see the activity stream on the left hand side That's the buddy press group that you can see when people Check in to a conference. Check click, click on photos. We also have a social page. This is more It's not really the light press exactly. This is kind of the Working functionality. But we've turned a lot of this into the light press component That are attached to the group. In order to do a cool thing with the light press you don't have to Sit down and write all buddy press books. You can just think of a cool thing that you want and as long as you know how to send buddy press components That sort of thing. His don't. Groups doesn't come with it by default. You have to have buddy press or you have to have bbpress installed and turned on. I think part of the I don't know how much time this took you. No, I mean how much time did it take you to build conferencia. So plugging it into a pre-built Pre-designed-ish theme. I mean it doesn't look like this. David tweaked it and made it look way prettier. I think part of the reason why A monolithic super powerful Easy plug-in like buddy press is still difficult to work with or to use. The payoff isn't necessarily as immediate as installing WooCom or a bunch of stuff and seeing money come into your stripe account. You spend a week building something that you want to build and Love and do and hook in all the functionality. You had never seen conferencia.io before. You may have seen it now and you might never use it again. Because it isn't a thing that you are interested in or doesn't fit Into what you are doing. So it is possible to spend an entire full-time week Implementing and plugging it all in and making it all work and then nothing. Right? So I think that a lot of the times the trouble with trying to Power a community or a social network is your return on user Registration and sign-ups, activity and everything else is you Have to determine what your value is on having a community And a social network and if it is just having it and volunteering it And keeping it there for people, that is one thing. If you are looking to try and monetize it or something weird, It is much more difficult to do, I think. Like code base for code base, WooCommerce is awesome. It is super powerful. They have great ux. Great new user experience for signing up and installing the plug-in. It is really neat. There is a lot of stuff that we had Talked about doing with buddy press way back in the day to Make it livelier and WooCommerce did an awesome job with that. The parallels between how people think that a shopping cart Should work and feel and how easy it should be and how quickly You can get ramped up with WooCommerce and how popular it has been Because everyone wants to sell stuff because you sell Something and then you get money for it. Who doesn't want that? when you build a social network, You get no money and you have lots of maintenance and Moderation. We all do. We could all use a business plan. Does that answer at least one of your questions, i guess? Sure. So the one that i really like the most, My personal favorite, which has been around forever and is Like a big secret or anything, is semantic ui. Amazon uses it in some places, github uses semantic ui. You get just a bunch of really neat... Maybe find one that uses probably the obvious one. So like, say, go to the github theme. Can everyone see this? okay enough. Is that fine? Then you will start to see similarities between the tabs Or whatever the layout that you would see on github. But you get all the active hover states, active states, Buttons, labels, all the little doodads, the little things That you would otherwise have to add flourish to and think About how to section and separate things out. Is it horizontal, vertical, pagination, tabs, menus, Drop downs, all these things. And like, you know, mega menus or whatever they're called These days, you know, you get, it comes with a consideration For all these little ideas and things that you might have. Which means that you get from a social network concept To something in a browser very, very quickly. And then because it's all sort of modern sass or whatever You use, you can kind of plug in your own mix-ins and colors And then make your own version of it very, very fast. Faster than you would if you were writing just raw css. Like, you'd be doing it the rest of your life. So i, semantic ui is sort of the one that i am, Yeah, crushing on at this point. Yeah, so body press will work with any word press theme. But you're going to get our default relatively vanilla Looking styling. And we cheat. We use opacity, rgba, to try and blend into whatever possible Background color you might have because it might not be white. It might be blue or gray or something weird. So we, we try to fit into every possible word press theme That it is. And i'm pretty proud of it. I think it works okay enough for like most word press themes. Hugo has done a ton of work into making our default templates And styling for those templates be unique but still fit into Different core themes. So this is 2016. And if i go to notifications, at least my header image, I should probably delete because that's pretty terrible. But, you know, the fields fit. They are kind of styled to fit The font and whatever else that's here. It's not super wonderful. But if we go to, What is a fair, like 2015, like 2015 is a fairly drastic theme. Big chunky sidebar, narrow content area. So if i'm on the same page and i refresh having activated 20, Whatever, 15 now. See, we've moved the navigation On the left. Like we've tried to make it look A little bit different so that body press will kind of give You a different purposeful experience and a different Word press default theme. I'm not saying it's beautiful, But it is different and it does fit and it gives you an Idea of how body press can be used in different core themes. But you can see our styling is very bland. Blocky, chunky, rgba to try and hack around, Opacity on top of whatever core customizer stuff you might have In the background. So the difficulty is low. The length of time is high. Because the implementation is Just hook in body presses functions, bolt in the, You know, wrappers for what the semantic ui or twitter boot Strap might be. The sections, the classes, All the things. You just look at semantic ui. They have all of these funny examples. You can kind of just do a, You can really cheat. Look at what, where's their list. So take a list. Find one that looks like the list You're looking for. Okay, we've got a list of, Actually, maybe you might have it called comment. Sorry, i know this is kind of dumb. I hate live demos. I know you hate them, too. Comment, here we go. So you go, okay, well, that kind of looks like an activity Stream, right? So you go, okay, well, you can expand it Open. They give you the html. What's here? Copy what's in there. Okay, i've got one section of it. There's my loop. Add your bp has activity. Add your bp has avatar. Bp, bp user name, bp all your add your functions in there. And you're golden, right? Like it's, the difficulty is very Low. But there are so many templates. There are so many for every one thing. And these are the core templates. And i have a tendency to break them up even Further, because i, um, i guess a little weird. But like once we're in here, like there should be more. So, oh, yeah, so. So this, these are all the little parts. Let me expand this open. Can everyone still see this okay Enough to be valuable? So this is just one template, You know, and there's almost 100 lines of code in a Part. And that's just one. That's just the loop of an activity stream. That's not friends in and out back and forth, profiles or Anything. And once you start getting into Single members, we've got all these other templates that are In here, friends, friend requests, groups, what an Invitation looks like, notifications, your profile, Changing an avatar, cover image, editing, loops. We have all these template parts that need some kind of Markup on them because they are theme side. These things happen within the theme. They need consideration That looks and feels like a wordpress theme does. So when a wordpress theme is index.php, single.php, Page.php, style.css, boom, made a theme dog. It's out there. But he presses like, oh, here's 200 That you have to go into. So it's easy because you can Just take the loops and open them up and plug and play, But you've got all this work ahead of you to try and theme and Make it look the way that you want it to look. Yeah. So what we do. Okay. I appreciate that. So what we do, code wise, and i would try and explain it so That everyone else can kind of get it, wordpress has a Function called the content. It is the function that Spits out post content. And because buddypress is Listening, it's a plug in, paying attention to what you're Visiting. What happens is we look real early on In the process to see whether or not you're requesting a buddy Press page. Back in the day we got Super criticized for having our own page routing thing because We didn't use wordpress as rewrite rules and now that Everyone's building single page apps and has to do their own Angular and react routers, ha, ha, like we've been doing Forever. Lol. Now, we look real early, we say, okay, we know you're Loading, you're requesting a buddy press page. Let's see if the theme has a template that we can use. So we'll look, is there a template part there that is One that buddypress is looking for. If there's not, then we fall Back to templates that exist in the plug in itself. We kind of just hot swap it. We look and say, okay, if the Theme actively supports it, use it. And if it doesn't, then we fall back. So you know how wordpress has parent and child themes? We essentially have our own stack. We have child theme, parent Theme, and theme compatibility, the fallback directory. And so we hook into the content because we know there's a Header there, we know there's a footer there, we know there's No template there, and so we know it's our turn. So we hook into where the content area would normally be. We abandon whatever would normally be there, which Would at that point probably be nothing unless there was a Page that was there and we do some other stuff there. And then in an output buffer, we grab our loop, we grab Our template part, we compile all the html, we spit out that Output buffer where the content would normally be, and out It goes. Yeah, yeah, right, exactly. And so using the content is terrible. Like we literally stomp it. We override the content. If there was anything that was useful there, it is gone. No longer exists. But it is effective because it is Reliable. We know where the content. Everyone puts the content in the same place, and it is very Certain that that is where you want this output to belong. So it works okay. There are a couple of different Other things that we could maybe do and things that become A little bit weird, like sidebars and headers and footers. Should buddy press go messing around with some of that stuff? We don't, but should we maybe think of like WooCommerce where You might have a shopping cart and a sidebar, and it might Make sense for you when you are in the shopping cart area to Get a shopping cart in your sidebar that shows the items That are in your cart and whatever else. There are some things that we could do there, but we don't. And the way that buddy press was built, and no one has Done this because it is still an enormous amount of work, But the template stack, i call it a template stack. I think of pancakes. I think of like a stack of locations That are all delicious. And someone could come out with a Template pack that was dedicated specifically to one component And they could really dial in with the experience for the Activity component should be. You could package it up for 50 bucks, install it as a plug-in. It can filter the stack and put itself in wherever it Wants, and you could have a plug-in that would be a template pack That would know that buddy press was active. It would come with its own styling and css. And it could be the de facto awesome way that just one part Of buddy press would work all the time. So it was really, truly built in a way that could be hugely Extended eventually and create an ecosystem of people that Could really hack on dialing in what these pieces look like. But no one has really done it. Buddy boss has done a really awesome job of just building Great buddy press themes. I don't know if michael's here. No. So buddy boss dot com. They make awesome buddy press themes. Fully featured complete actual etsy style like roll your own Etsy with buddy press kind of themes that are pretty baller. I'm getting kicked off. So thank you for letting me drone on For a while and bearing with me. And i'll be back i think in the afternoon to bore you to death Before too long. Thanks for letting me hang out.