05.30.08
Bakeoff: Social Networking Platforms
My client needs to put up scalable and extensible social networking sites for his clients. I need to suss out which platform is the current best of breed. Heretofore, their choice has been Drupal, which has certainly been good enough. I’ve half a mind to say “If it ain’t broke, don’t fix it,” but I hear anecdotal evidence that scaling Drupal is, ahem… challenging.
I’ve no experience firsthand with building Drupal sites, but the platform seems to have lots of community support, and appears to be evolving at a reasonable rate.
Questions to answer about each platform:
- How hard is it to scale to 5E6 pageviews/month?
- How hard is it to extend the platform?
- Suitability of platform to CMS?
- Suitability of platform to social networking?
- Extensibility?
- Ease of integration of 3rd parties; Flickr, YouTube, OpenSocial.
- Suitability to hosting via EC2/S3.
Candidates so far include Drupal (PHP), Mephisto (Rails), SocialSpring (Rails), Joomla (PHP), OpenSocial, Typo3 (PHP),
All this begs a question for me, which probably misses the mark for my client’s clients… but… Why is anyone trying to build social networks anymore? Don’t they realize that they should be building social networking applications, which ride on top of existing (now more-or-less open) networks? (Eg., OpenSocial.)
Chad Day said,
May 30, 2008 at 1:10 pm
I used to use Drupal to power http://www.cvillesocial.com for a couple years. I eventually migrated to something I wrote myself because:
Drupal’s upgrade path is just too fast. There are features (or security fixes) I want in the new version, but the community can’t keep pace with the modules. A lot of modules I wanted to use, or improve on, were only (and are still only) available in Drupal 4.x. Drupal is already on 6.2. I didn’t even upgrade to 5 for a while, and now 6 is already out? Which means new APIs (or at least it did between 4 and 5), modules will break, etc.
Many of the modules were of poor quality as well. . not so much functionally sometimes, but the ability to theme them to fit the site in particular. Perhaps it’s part of my shortcomings on Drupal theming, but it was simply far too difficult.
I also had a major problem of having to learn use a whole API to do simple forms in drupal. I want my platform to be easy to update. Having to refer to/learn an API to put forms on my site is the direct opposite of that.
Getting a nice photo gallery in Drupal .. jesus ..
With the new site, I explored tons of different solutions, and couldn’t find what I wanted in any of them. Either they were too inflexible, too hard to theme right/do custom stuff for, or had some other fatal flaw (bugginess, feature-lacking).. so I reinvented the wheel and wrote all the code for essentially a mini-social network/facebook myself.
As for scaling issues, I’d search on Drupal for the posts by the TeamSugar people .. lots of good info in there. In short, they had to do a lot of changes/hacks to the source of drupal to get the site to do what they wanted to do.
Keep in mind that I love Drupal too and think it is the best CMS out there right now. I don’t think anything else really comes close, but sometimes you just have to take things into your own hands and write stuff yourself (or hire someone) if you are doing anything really ‘custom’.
Colin Steele said,
June 27, 2008 at 4:15 am
As it turns out, the client decided to stick with Drupal after all! Phew, now on to the next thing…