The BuddyPress UI Design and conceptual approach to Social Networking
This thread is intended to serve as a companion to the one running on API design and serve the purpose of exploring the UI nature of BuddyPress.
It is hoped that within this thread feedback can be accumulated from those developers with UI interface experience, those building and deploying communities as to what is found to work and what is possibly open to better design.
Noted will be aspects that are brought to the attention of developers by real world users that are potentially causing confusion.
Debate as to the best approach to overcoming these issues in interface design can be discussed with the aim of hopefully providing clear feedback for the mid tier development team to work from.
The thread is not intended to simply ‘moan’ but to try and arrive at positive solutions or potential solutions to issues raised.
What the thread should not be is a further place to simply report bugs found, the Trac system is the correct place to report bugs.
Well, there was another thread complaining about the clutterness of this BP sites design. I think by default BP gives you the kitchen sink and you need to develop your site into a fork if you users are looking for a fork. I personally feel like a dog chasing my tail with the default BP install. Content over here looks the same as over there scenario. Mainly it’s the forums / Activity problem. You post in a forum yet is shows up in the activity stream confuses people. I think it’s best to strip out sitewide activity stream as well as the groups activity stream. Force users to post content in forums and use their own profile activity stream to post a message to a specific user.
It’s the whole Twitter / Facebook hybrid. Trying to emulate too many features from popular, existing social networks.
The main UI problem is groups. BP tried to copy how Facebook setup forums. But then, in v1.2, BP added Twitter-like activity streams.
For groups, you can either go one way – embrace the activity stream or embrace the forums. It’s not the best thing to try and have it both ways. But this is a decision the BP admin should make (which it is right now). At the end of the day, BP gives you free reign to customize your community all you want.
@modemlooper has got the right idea (although I don’t agree with the usage of the word “fork”). Trim down the features you don’t want by customization.
I would tend to agree with modemloopers take on the Activity Stream and of r-a-y’s notion of the Facebook/Twitter issue
I am presently quite concerned with the way that the activity stream might be shapping our communities general activity or possibly simply confusing users. Initially I saw the activity stream as an extremely necessary feature that had to exist in it’s site wide guise on the main page, acting as a beacon of the sites hive of activity, I wanted it apparent that there was ‘Activity’ on the site, but now my concern is that it simply acts to stall users from actually clicking through into the site, of visiting groups, making forum entries etc and in that respect feel that I’m in agreement in stripping out the Sitewide Activity Stream.
As for BP aping Facebook and Twitter in respect of conventions this is something I feel concerned by, I do tend to see why yet would rather it didn’t and attempted to conceive it’s own conventions which I think was partly my thinking in running this thread to explore these issues i.e are twitter like activity streams what are really required do they matter in respect of a communities cohesion? ‘Updates’? very often the question that springs to my mind is “Updates to what?” and I am aware that some users do find Updates confusing.
While I do agree that one aspect of what we do as site developers is to shape our particular site community vis a vis it’s features I do think that this shouldn’t simply mean that BP throws everything into the pot sits back and says “there you are, we’ve provided a little of everything up to you to make sense of it now” On the other hand that is what I tend to enjoy doing but perhaps this is less about us as developers that have the ability and knowledge to hack away and more about BP itself and how non developers (who will comprise – ultimately – the greater group requiring BP to work out of the box without undue hacking)
I think that a discussion/thoughts about two central concerns might be appropriate and to that end – at the risk of trying to mold this general thread too much?- am posting a sub topic to perhaps try and establish some consensus on general principles (if it’s just muddling up the main thread, happy to hear so and a Mod can pull it?)
Some great points in this thread.
I think the whole concept of the ‘activity stream’ is best migrated into a per-user basis. By that I mean, I get to see the activity I care about. Groups that I follow, threads I’ve started or replied to (or even viewed often, as a sort of auto-subscribe), the activities of my friends and so on. When you have a community with thousands of active users, no one’s gonna be interested in every single new item except maybe the ones most deeply invested in the site, and even they will barely have time to skim-read through it all.
I found the new site-wide activity feed very confusing, especially since it pulls in not just threads, but replies. I have no interest in reading a snippet like “I’ll look into that” without a clue what the discussion is about.
If a site really believes that new users won’t be content just reading the latest blog posts before they dig after their items of interest on their own, they could just make a ‘featured activity’-page, which would work just like the personal activity stream except in public.
Heck, why not just make groups able to subscribe to content the same way users do? An example use case would be a developers group, where the developers could monitor particular activities that all devs should be aware of. This way, every item on BP that could be subscribed to would have both a ‘subscribe’ and ‘subscribe with group’ (for which you could select many of course).
Now, as for the very activity stream of ‘updates’ itself, I never fancied this feature. The way I see it it’s just a lightweight forum, in which case it makes no sense to keep it separate from BP’s other forum component. The way I’d make an activity stream (or, simple microblogging rather) would be by tags. In my group the ‘microupdates’ plugin would be enabled. Now all I’d have to do would be to add the ‘update’ tag to a forum post whenever I wanted it to appear in the dedicated ‘microupdates’ feed. It’d probably also be integrated with twitter/identi.ca
For REAL microblogging with BuddyPress, I think a proper integration with StatusNet would be much more appropriate, seeing as this application can afford to thoroughly optimize microblogging (talking both performance and API) to the extent that it can be used with stand-alone applications.
My 2 cents: In my custom theme I try to consolidate everything around blogs and groups. I’m still on 1.1.3.
Blogs are of course WordPress strength. I’m trying to get to a social network with a greater emphasis on content, where possible via RSS and with front-end posting on blogs and groups to lower the threshold.
For the social networking aspect I need profile pages for members and some ways for members to interact with eachother, via internal mail, friending/following, joining eachothers groups and blogs.
Groups are Buddypress’ killer app imho. Buddypress has the potential to become a real collaboration platform around content, with endless real world applications in businesses, organizations and associations.
Buddypress has all the basic elements to achieve this, but the following are still huge annoyances and don’t look like they will be fixed any time soon:
- Member management is all over the place, in different pages under wp-admin, different database tables and different places on the front-end. Adding custom member data fields and integrating them with outside applications is complicated and inflexible. By design (!) there is no built-in way to reliably store separate firstname and lastname, which makes out-of-the-box BP useless for most businesses and organizations. There is little validation on sign-up form fields.
- No built-in privacy/security.
- Built-in forums are increasingly clashing with commenting on blogs and wires and the social networking structure. There is no reason to have old-fashioned forums in a next generation social network. You might as well integrate a WELL-style bulletin board system. Having a single sign-in option for people who want to use a forum on the side is great, but please stop weaving forums into Buddypress.
What Buddypress needs imho:
1. Consolidated member management; all member data stored in one place in the database, one page in wp-admin, one member profile page with “edit account settings” on the front end.
2. Content-focused member profile pages. Members should be able to use their profiles to introduce themselves and showcase their blogs and groups.
3. Conversation around blog posts and (threaded) blog comments, ideally with front-end posting like P2. There is no reason to have blog posts AND forum topics AND wire or whatever it’s called. Group blog should be a built-in feature.
4. End-user-friendly control over their groups and blogs, including privacy/security and front-end admin.
- Blog posts
- Threaded comments
- Profile pages
Reading these last two comments with interest; quick question, regarding the aspect of group blogs and group forums is there really a difference? a blog allows an entry/post to be made and for comments to be made on it, in a sense a running dialogue; a forum allows a post/thread/question to be made and people respond with comments, they are essentially one and the same thing in many ways, especially as applied to something such as a social network. I can’t envisage when one would ever need both existing in a group, thus which is better or more useful is perhaps an important issue; but this does raise the point that one can disable group forums or configure things as one wishes but in reality this leaves a group with simply ‘Updates’ or the ‘Wall’. At the moment I find Updates too ephemeral, lacking in perceived substance (In fact a member made an update that amounted to a company mission statement recently it was far too long and blew all other activity under the fold, I deleted it thinking it would remain in their profile, not so though, gone forever.)
I feel given some of the comments in the last two posts here that establishing two points could be useful, firstly what defines a social network and what features go towards establishing an app as a social network.
Defining a Social Network / Community
I guess one of the major points is to establish quite what we all mean or refer to when using phrases such as social network or community and what type of content is deemed to be important.
Within that definition there must exist a set of core features that enable that concept and an understanding of quite what users expect from it.
Therefore it may be helpful to establish a set of criteria, roughly agreed, on that constitutes the concept. This criteria is essentially what is provided to the end user, or member; for example we might say that a community revolves around the members ability to interact through the exchange of views in a forum type manner. We might agree that ‘Updates’ are not necessarily that important or that they can tend to give rise to confusion.
To note is that this is not about added functionality i.e plugins but the core offering that enables the ‘Community’ to exist and begin interacting. To my mind plugins should only ever be a means of enhancing the app, but never absolutely essential in order for a given community to work.
Lastly, and this might prove impractical in reality, as a means of tracking responses that relate to this initial parent comment and given that ideally comments would be threaded to this parent we could preface a comment along the lines that I have at the top with a link to this comment?
Again an idea that might prove impractical in reality – but a crude attempt at aggregating any responses along the lines of the two main questions could be made in this post; a simple bullet point list, e.g top ten under two headings:
Defining the concept of Community and it’s activity.
Defining core features that facilitate that community activity.
As seen in other threads (and this one) I don’t think you can easily define a Social Network. People have different needs and desires when it comes to connecting with other people. Fundamentally, connecting is the only thing we’re all trying to do in one way or another.
Buddypress really is the kitchen sink. It offers everything you could want for a social network but without some careful planning for your specific community/target audience, BP could be a huge confusing mess.
This is what we’ve seen happening here on BP.org. Fundamentally, people want to come to this site to get information and help on BP. The forums are ideal for a support type of site with each thread being a question with answers, etc. That sort of interaction is difficult in an activity stream sort of model, especially if users aren’t fully immersed in the site. They come, ask their question, wait for an answer and leave until the next time they need help.
Groups are also handy in this sort of site as it allows people with similar interests to create a topic specific forum that doesn’t fit within the “main” forums. Instead of having one massive topic specific thread with many internal sub threads, they create their own group.
Activity streams are a huge mess on this sort of site and can add huge confusion. This isn’t really a socialization site where people are setting up their weekend plans or commenting on their buddy’s latest unfortunate event. That is where an activity stream comes in handy. I see it as being more for “personal connection” sites.
On BP.org, I don’t look at the main activity stream. I find it far to confusing and of little use. The Support index page is about the only place I go because I can see the latest questions and hot topics. It also shows me what public groups are currently getting a lot of traffic.
IMHO, the biggest missing piece in BP right now seems to be the connection between the activity stream and everything else. The activity stream needs to be more than just a content aggregator. Allowing people to comment on the activity stream implies that their response will be connected to the activity item. This is not currently the case and it is a huge usage nightmare.
Anyhoo, enough rambling. BP offers the tools but at the moment I can’t see many sites needing all of the features enabled.
hnla said: “quick question, regarding the aspect of group blogs and group forums is there really a difference?”
No, there isn’t. That’s why I would consolidate everything on blog posts (no forum topics, status updates, etc.) and threaded comments (no wire etc.), the native WordPress way of structuring conversation. And then you can use Category and other built-in post options to differentiate between types of posts+threads and do different things with them.
“Defining a Social Network / Community”
At the core is a relational database with member data and content that is then presented and connected in different ways on the user interface.
Online community is an older term that usually referred to forums. Organization of the data is mainly by topic/content.
Social networking evolved from forums. Profile pages of the users came to the fore. Central point of organization became individual members.
Wordpress’ strength is still content management. Member management in WP is underdeveloped for social networking.
My ‘social network’ in a nutshell: Give us the tools and we make the content.
I do agree on many points made above, I am actually quite afraid of confusing people with my installed website…..
How to get the confusion out of the activity-stream ?
Is there anything I could change immediately in the backend in order to make BP simpler ?
Keep It Simple & Stupid
@peterverkooijen @hnla I take the other side of your “little diff b/t blogs and forums” opinion. To me, a blog post is a significantly more “deliberate” piece of content . Blog posts do (and should) take much longer to write. They are thought pieces..with paragraphs/sections, and often media,etc You know what I’m talking about here. Forum Topics, however, are basically “here’s a topic/question I just thought of…discuss” On one of my prod site (1.1.3) I have people begging for group blog capabilities precisely because they are tired of using the Topic metaphor for all of their content. For ex, we have a group called the “12th Man Training Table” which centers on athlete nutrition. Folks want to post recipes for training means. Clearly, forum topics are the wrong vehicle. On the other hand, there are raging debates in that group that definitely belong in the forum construct..not a blog post with comments.
Can you use one or the other to suit your purposes? Sure. Is our use case different than yours? Perhaps. Just realize the probable best solution here is the existence of both with admins choosing what works best for them and driving on.
So Peter, please keep in mind that what you would do to BP would build a BP that works for Peter, but it’s not necessarily the only use case around, that’s all.
If I may so bold – I’m a recent installer of BP – and getting my head wrapped around the program took a little time. My students’ reaction may be of some value. They hated the default theme (1.2.3). They refused to even register and many complained that I had ruined the site. Once I put up a simple front page (moved to static page – and didn’t show blog postings) then the activity went up. Finally, I installed CubePoints,with an incentive and some kids registered – but are refusing to interact.
In fact, over half the students didn’t turn work in this weekend on the website – so it’ll be interesting to hear the excuses for such a low turnout.
In contrast, the adults (teachers and parents) all were strongly positive about the changes. Many prefer the default theme: one adult stated that the tabs cleared up navigation problems and they loved the activity stream.
@lph2005 The student’s reaction and feedback will be, indeed, interesting. So far, what you have related is not inconsistent with other platform’s experiences. Students tend to avoid twitter for several reasons. It’s not a place for immature and “student-like” behavior given its democratic nature (why follow someone who just puts out useless drivel – see Sheep Throwing!) To really survive and thrive on Twitter you need to add value to someone’s world.
To get back on topic: BP tends to be better at constructing grown up environments that focus on quality content contributions. That could be why they don’t see much value in it. “Refusing to interact” is a strong characterization. Is that correct? It sounded like they were “told” to interact so it may not be a BP problem after all Tell us what they “hated” about the default theme. Tell us why switching to a static page that did nothing made activity go up (not intuitive)
Looking forward to your feedback and how it could enhance UI design here.
@Mike – naw – I wouldn’t tell the kids to interact – those were my words. If I told them to interact then the site would be a wasteland
My students are pretty open so I’ll ask for more details. They just finished re-writing the learning guides for next year’s students. This was their group responses to the most important parts:
Since they were open to doing that survey then maybe I can get them to do a list for me about how to fix the BP layout. After all, my students have been building that site for 3 years. The wiki has over 500 articles written or edited by them.
But this year’s students have been very different – they are strongly opinionated. And when they don’t like something then they fold their arms. I call it their civil disobedience moments.
Slowly I am beginning to realize that Buddy press is not a straight-out-of-the-box solution. It is not like wordpress. In order to create a proper Buddypress community you really have to *develop* your community.
The negative with this is that the default install is confusing. Comments/updates in the activity stream, forum posts, comments on forum posts, comments on blog posts. Not only do you have different types of comments but you also have meta comments. No wonder things are confusing!
I am tempted to use an analogy of Linux vs Apple. You can do a lot with linux, but all the choices may lead to confusion and an unproductive environment. Apple on the other hand knows the importance of keeping things simple. The iPad is an example of this. It has less features than regular computers, and this makes it easier to use and less confusing. It does fewer things but it does them well.
So what has Apple and Linux got to do with Buddypress? I believe that Buddypress should have several options. (as it has today), but it should be easier to customize Buddypress in order to suit every individual communities` needs. You develop the site to suit you needs. Use what your community needs and remove everything else. Less noise and less confusion and more Apple like
As it is right now, in order to really customize the default install, you have to know PHP etc. This is good if you are a programmer, but unfortunately not all of us are. It seems to me like a lot of the BPusers are non-programmers who just want to add a social layer to their WP site. If Automattic wants to cater to these people, it will be necessary to make it easy to customize BP without having to dive into the code.
I suggest expanding on the options (toggles) in the Admin panel in order to customize the BP install more. That way you can really streamline your community experience.
- disable commenting for ALL activity-items at the homepage, or choose which one you want to disable. (forum/blogs etc)
- disable activity streams on groups (if admin wants to use forums instead.)
-Choose what is displayed in the activity feed. (Friend connections, blog posts etc)
What is apparent, just by reading the previous posts are that we all have different needs:
“Built-in forums are increasingly clashing with commenting on blogs and wires and the social networking structure. There is no reason to have old-fashioned forums in a next generation social network.”
“I think it’s best to strip out sitewide activity stream as well as the groups activity stream. Force users to post content in forums and use their own profile activity stream to post a message to a specific user.”
People want different things, so why not let them have a choice. The new Bp.org is proof that all these different features are useful. They all have their advantages.(although it could use some more improvements to streamline the experience)
I agree with RAYs view:
“For groups, you can either go one way – embrace the activity stream or embrace the forums. It’s not the best thing to try and have it both ways. But this is a decision the BP admin should make (which it is right now). At the end of the day, BP gives you free reign to customize your community all you want.”
SUMMARY: My thoughts are that Buddypress needs an easier and more complete way of designing the community through the admin panel.
@Mike Pratt yes there is really a distinction to be made between blogs and forums, but deciding on which to use? If one disables forums in groups one is simply left with ‘updates’ there is no blog functionality per se (I’m ignoring plugins in the context of this thread) and I’m thinking that the nature of ‘Updates’ is tending to be confusing to users?
“BP tends to be better at constructing grown up environments that focus on quality content contributions” I would agree but not sure why. Quality content contributions are what I perceive as the core of a community or social network as designed using apps such as BP or Ning whereas I tend to view FB as somewhat ephemeral nonsense (sorry not one of those that consider FB or Twitter as hugely vital) My biggest issue is that as things stand I’m struggling to see my way to a custom configuration based around default BP that does actually facilitate the quality content – this isn’t necessarily a BP ‘fault’ but there are issues that I feel need highlighting such as the confusion that tends to arise around the sitewide activity stream
@lph2005 This is the sort of feedback that I felt would play a crucial part in this thread, so it would be interesting if you could explore this further and update the thread. As regards the static front page I’m guessing that this static page did not include the hubbub that is the Site Wide Activity Stream?
1.1.x (whatever it was) was great. I had an activity stream widget on the front page, so I could immediately see (well, once I’d deleted all the spam registrations) who’d been doing what and where, and I click to go and view the context and respond in the same place.
Now I get the feeling that BuddyPress is a platform for creating communities of BuddyPress users
Now there is no profile wire (I renamed it to ‘wall’ because nobody understood what a ‘wire’ is) – it was an absolutely fantastic way for me to greet new users and have a bit of open chat with them.
Now there is this @username nonsense which I don’t understand myself (I am not and never will be a twitter user) – where does that post go? It shows up as if it’s my (Facebook-style) status update. Someone can reply to it but I can’t reply to their reply. All continuity has been lost. I can see the advantage of AJAX replies in the activity stream, but not when it seems a random factor whether the post will appear only in the stream or whether it will appear at source..
The default theme is awful (1.1.x or whatever I had was beautiful, right out of the box) – It took me forever just to get the home page working with two widget columns (surely that wouldn’t have been hard to include in the release..?) but the profile page… ooooh no, it’s a disaster In 1.1.x I had no problems tweaking the profile page to make it do what I want… with 1.2 it defaults to the awful activity stream and I have to click through to profile on every user to see if he comes from xgGT54GRerju and works at Ox8iHghuf34 before I delete him as a spammer.
I started using BP because I needed to replace an ancient platform that I’d written myself ages ago, and I wanted something reliable and extensible because I just don’t have the free time to work on my site anymore. BP 1.1.x was exactly what I wanted (I tried Elgg and some other yucky, heaving nonsense before stumbling on the beautiful BP).
But now it’s just gone off on an utterly bizarre tangent and lost all its intuitive user- (and admin-)friendliness
I know it’s free and I know I’m moaning and not being productive but I really can’t write plugins or themes for BP (much as I would love to – I can’t even work out how to put the wire back) but I feel it’s very sad to see something so good (and so free) go so wrong
@bobs12 – The BuddyPress Backward Compatibility plugin http://wordpress.org/extend/plugins/buddypress-backwards-compatibility/ contains the old theme as well as the old wire code. You could install that plugin and have pretty much everything back the way it was.
I think the ease of use and elegance of WordPress has somehow been lost in the most recent iteration of BuddyPress. Yes, we can make it whatever we wish it to be, but to do that we must be prepared to get under the hood and play with code while relying largely on untested or BP-approved plugins to extend its functionality. In one word, I would describe a BP install right now as ‘noisy’.
Seems to me the activity stream and the current group-forum relationship draws the ire of most people commenting in these forums. Right now, the activity stream is, frankly, a dog’s breakfast. The group-forum thing I can get my head around, but it would be very helpful if for example some of the functionality evident in bp.org was made readily available (the plugin group format for example) versus the current practice of teasing users with snippets of code all over the forums. Andy and the moderators here are great, but once again I think BP needs to figure out if it is targeting WordPress users or PHP developers as its primary target market. They are not one and the same, even those of us who are quite capable of handling a hosted version of WordPress.
I think BuddyPress should have focused its primary activity stream around the use of a microblog that comes standard with the install. A variation of P2 as the community blog right out of the box could provide an easy to follow timeline of user posts, shared links, etc. as per Twitter while a lot of the commenting and related noise created by the activity streams, etc. could be eliminated.
Looking forward to continued progress however on what is still the best option for developing a social networking application.
Mike Pratt said 1 day ago:
“@peterverkooijen @hnla I take the other side of your “little diff b/t blogs and forums” opinion. To me, a blog post is a significantly more “deliberate” piece of content … For ex, we have a group called the “12th Man Training Table” which centers on athlete nutrition. Folks want to post recipes for training means. Clearly, forum topics are the wrong vehicle. On the other hand, there are raging debates in that group that definitely belong in the forum construct..not a blog post with comments … So Peter, please keep in mind that what you would do to BP would build a BP that works for Peter, but it’s not necessarily the only use case around, that’s all.”
Mike Pratt, you miss the point. I’m talking about how the script and database is structured, not what you as a user should do with it. Functionally a blog post and a forum topic are the same thing; a piece of content that others can comment on. Similarly there only needs to be one way to store (threaded) comments. There is no need to duplicate that in forum thread, wires, etc. There is no need to have variations of posts and comments in different places in the database.
I’m talking about taking redundancies out, boiling down the architecture to the lowest number of necessary parts, less is more, keep it simple stupid. That does not mean you as a user will have less options. WP blog posts already provides many ways to make very different types of posts. In my P2-based custom theme I have started making a clear distinction between ‘status updates’ and ‘blog posts’ using categories. Apparently WP 3.0 will have more sophisticated hooks to do different things with different types of content.
Same for comments. There are already lots of different things you can do with comments, from IntenseDebate and other plugins to built-in threaded options, inline Ajax commenting and styling possibilities via your theme. Buddypress should leverage basic WordPress building blocks as much as possible instead of adding new database tables and third scripts like BBpress. Ultimately a lot of this is for the theme developers to develop. They could develop out-of-the-box themes for different use cases; schools, companies, sport clubs, etc. BP should focus on a solid core and flexible API.
I agree with peterverkooijen and scotm.
Forget the easy admin, build a solid core and a flexible API for developers.
If someone wants an easy admin panel, let someone build a plugin for buddypress that allows them to do that with a theme.
@finni3 Communities are never straight out of the box and they shouldn’t be.
Just stepping in with a recent observation that I am not sure how to address.
in looking aroudn and watching tweets & blog posts elsewhere about newcomers to the platform, someone somewhere started referring to it as a FORUM.
It is not.
And newcomers expecting a forum-like interface and usage are the ones I see struggling the most. Whether it’s being confused with bbpress (the name) in general, I dunno. But it might make a bit more sense and be less painful to regulars if we could start stressing that is is not a forum, it’s a social networking add-on for WordPress. Not separate (man, I am not impressed with the auto-install script…), and outside of anything that’s been done before.
You must be logged in to reply to this topic.