The title is meant to grab your attention. I am a WordPress lover and this is meant to be constructive criticism.
I, like many webmasters who want to build a social network, checked out the top options which are currently:
- BuddyPress
- SocialEngine
- Boonex Dolphin
Regardless of my comments, it is obvious that BuddyPress will be the dominant choice in the future:
- it is free
- it is open source
- it will have the most (free) plugin options and expandability
However, the direction BuddyPress seems to be going down concerns me and many other webmasters. I have not read through every TRAC ticket or forum post before writing this, so no need for smartass comments regarding those. I did a basic search and did not find similar topics. Therefore, here are my biggest problems with BuddyPress. If anyone can post replies with explanations or “updates” if these issues are being worked on already, that would be fantastic.
1) URL and site structure is horrendous – This greatly surprises me coming from the WordPress team. BBpress itself is quite logical in structure, as is WordPress, so I have no idea how the hacked-up project that is BuddyPress is not also logical and user-friendly. Just check out the generated URL of this topic, it is ridiculously long and confusing. This is how BuddyPress should be setup:
First of all, I don’t think BuddyPress should encourage subdomains. That makes Google treat your site like blogspot.com, and does not create a community atmosphere but rather creates thousands of mini-websites (anyway, that is what WPMU is for right?). It would be better to emulate something closer to wretch.cc from Taiwan, which Social Engine 3.x did (now Social Engine 4.x has stupidly abandoned this logical structure in place of a completely new and messy one).
currently: example.com/members/username/
should be: example.com/member/username/
even better: example.com/username/
currently: example.com/groups/groupname/
should be: example.com/group/groupname/
currently (option 1): example.com/blogname/blogpost/
currently (option 2): blogname.example.com/blogpost/
should be: example.com/username/blogpost/
etc etc etc.
Overall, BuddyPress should make it clear which items are being generated by individual users for their profiles, and which items are created by/for the community in general. (I know that some of these features are not yet “stock” but they should be.) This idea should look like this in the end:
example.com/username/
example.com/username/blogpost/ … or … example.com/username/blog/blogpostname/ … or … example.com/username/blog/blogpostid/
example.com/username/album/albumname/ … or … example.com/username/album/albumid/
example.com/username/photo/photoname/ … or … example.com/username/photo/photoid/
example.com/username/video/videoname/ … or … example.com/username/video/videoid/
In addition, there should NOT be the following profile tabs:
/activity/
/blogs/
/wire/
/groups/
This is not logical. If you see in a browser this: example.com/username/groups/ … then it seems that user has created content “groups” when they haven’t. They are simply a member of certain groups. All of those tabs should be removed, and instead, all “recent activity” should automatically be displayed on the user’s profile page at: example.com/username/ … In addition, I still don’t understand the difference between “activity” and “wire”… for what it’s worth.
The rest of the BuddyPress structure should be as follows:
example.com/forum/
example.com/forum/topic/topicname/ … or … example.com/forum/topic/topicid/
example.com/group/groupname/ … or … example.com/group/groupid/
example.com/game/gamename/ … or … example.com/game/gameid/
The MOST ANNOYING thing about BuddyPress is the forum structure. Why aren’t there normal BBpress forums? Why are there only “group” forums? That is completely illogical and makes very ridiculous URLs. The user is confused – “Do I need to join every group before I can post on the forum boards? Are they boards or groups?” etc etc. It would be fine if “groups” had “group forums” just for their group members, but the community forum should not require or seem to require users to join any groups in order to interact. This is how group forums should be:
example.com/group/topic/topicname/ … or … example.com/group/topic/topicid/
Note: observe this URL:
http://helloecoliving.com/forums/tag/organic/
…the user would logically conclude that he could also thus visit this URL:
http://helloecoliving.com/forums/organic-food-standards/
…when in fact, that forum is located here:
http://helloecoliving.com/groups/organic-food-standards/forum/
2) Stock features are lacking – By most definitions, a social network allows users to interact with profiles, forums and/or blogs, and most importantly, multi-media. These should be the stock features in BuddyPress:
- user profiles
- recent user activity
- global recent activity
- user photo albums
- user photo uploads to each album
- user video uploads
- global groups create/join
- group forums (“discussion boards”)
- global community forum apart from groups
Support should also be envisioned for these popular features, perhaps as plugins:
- global chat room
- private chat between users
- global games arcade
- global music library
- music upload/playback on user profiles
- ecommerce / shopping cart / purchase account points/credits
Sorry if this sounds like a rant. I love WordPress because it is LOGICAL and RELIABLE… but I’m afraid about the future of BuddyPress.
Any feedback or responses are very welcome, and let’s make BuddyPress fantastic. Cheers guys.