Thursday, September 8, 2011

Building a social network: Elgg vs BuddyPress

I've wanted to build a social network for many years, I've worked on some building from scratch but now I stand in the why reinvent the wheel camp. After searching the web for people picks I've picked a couple of favorites. Elgg and BuddyPress. During my search I've also tested Dolphin, drupal, and joomla but my primary criteria was it should be easy to setup out of the box and work ok on a shared host which removed Drupal and Joomla though both look promising if you want to spend a little more time on it, and have some decent hosting.

BuddyPress
BuddyPress is really a plugin to wordpress adding basic social network features to the blog cms foundation. I've worked a lot with wordpress recently so that probably swayed my decision to try BuddyPress.
Features:
Out of the box buddy press offers
  • Activity streams
  • Extended Profiles
  • Friend connections
  • private messaging
Being the BuddyPress is a wordpress extension you a lot of plugins available to refine your social network. With some added plugins you can implement
  • groups
  • forums
  • albums
ELGG
Elgg is an open source social network project and is specifically built to be a social network.

Features

  • Profiles
  • Activity Feed
  • Groups
  • Pages for users and groups
  • Blogs for users and groups
  • Group discussions, bookmarks and calendar
  • Messaging system

The main difference between the two is how you want to generate content. A BuddyPress system is great for having the administrator publishing a blog and maintaining website pages with user content primarily in the forums. On the other hand Elgg doesn't really have any tools for an overall blog and website but has lots of ways for content to be published by users and user groups in addition to group discussions (forums).

BuddyPress is easier to skin especially if you are familiar with wordpress themes, and may have a slightly larger support base because of it's close ties to wordpress. I'd say use BuddyPress for a site that publishes content and wants a community discussion. Use Elgg if you want to empower your community more.