Questions before Building a new social network site

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
a.sakre's picture

Hello,
I'm looking forward to build a social network site with many facebook/Linked-in similarities. A fast intro :
I didn't use drupal before, but I'm willing to learn how to use it.
I'm not a programmer, but I know some basics in programming. I know Drupal is not easy to fully understand, but I have enough time to learn with fast pace.
Maybe it's some fake hope, but I can see that the idea of the website is not there although needed, and I'm expecting the site to grow.

My questions :

  1. Is Drupal commons capable of building Large social Network websites like facebook , or only small ones, or is it only specific to Social enterprise sites ?

  2. Incase the number of audience increases extensively, Will the site be able to handle a large number of audience entering it, Or shall I have to migrate the site to another framework ?

  3. Can you provide me with the largest already built social network website with Drupal commons ?

  4. There is a book called "Drupal 7 Social Networking Sep 21, 2011 by Michael Peacock". I noticed it didn't use Drupal commons. Is it outdated ? are there any alternatives ?

  5. If you think the job is hard, then let me know about the best non-free alternative that can do the job ?

Thanks in advance.

Comments

Using Drupal to build a Social Network

drmilind2004's picture

Answer to (1) and (2): A large social network with some traction, even one-hundredth the size of Facebook, will need a large organisation, with several programmers who will belt out custom code for the exponentially growing startup. Drupal can provide the bare-bones of a social network, but scaling that setup is impossible beyond a certain limit. Even with Drupal and inefficiencies galore in your setup, your site will be able to handle the load so long as you keep adding servers, RAM, and load balancers into the equation. Ultimately, it will sound more economical for your setup to pare the losses through efficient, custom code.

Answer to (3): Maybe somebody who knows this answer will bless us with this information.

Answer to (4): The book provides interesting ways of setting up a Social Network with the existing code structure. Translating that knowledge into a working site, and then managing the traction and load on that site, is an entirely different matter.

Answer to (5): If you use cPanel/ Softaculous, you'll notice a script called 'Dolphin'. I have heard that it is similar to Facebook, but I haven't used it myself. There's Buddy Press in Wordpress, and I've seen it used by intra-University social networks operated by their IT Departments.

Setting up a social network is not for the faint-hearted. You can set up a simple network, but will it gain traction? Like the University social networks, you can set up a successful network for a niche audience, but that's a non-profit thingy.

The coding job may be easy with off-the-shelf Social Networking scripts, but they are of use only for a niche network. If you want a social network geared for the masses, its more difficult than a hard job, its next to impossible for a single person. Even Google+ failed to gain traction, when they had limitless resources of cash and programmers!

Hope this helps.

Social networking

sander-martijn's picture

Depending on the size of the user base you can build a social network with drupal, or at least integrate a lot of social networking features. That said the fact that you are not a programmer and are not already familiar with Drupal is problematic as a social networking site is one of the most complicated things you will build. It's not the best place to start. I just built a site with many social features in it and it requires a high performance server, a ton of different modules, and custom code. There is no way of getting around writing significant bits of PHP code at the theme layer, the module layer and within the drupal interface itself in order to implement features not available in third party modules as well as to get the many modules to play nice together or do precisely what you are looking for. so...

"If you think the job is hard, then let me know about the best non-free alternative that can do the job ?" - my advice is go ahead with Drupal, but hire an experienced developer (experienced both with PHP and Drupal, and preferably Social Networking sites as well). Work closely with him/her, learn as much Drupal as you can so you understand what is going on, do as much of it yourself as you can, but leave the heavy lifting to someone who has done it before.

Salinas social network

manuel_mra's picture

I have experience with Drupal in aws
I thank It is posible using that

Social Networking

Triumphent's picture

Heed the advice given to you by mno and sander-martijn.

I have built a social networking site using Drupal (with Bartik to minimize overloads) and, believe me, it's not small potatoes. Although it is already online for testing purposes, it's not yet a production site. It took me 6 years to reach that point. If I am lucky, I'll be able to make it a production site by the end of the year. Making all the pieces fit together is a monumental task and it's so complex that fixing a problem here creates another there. Modules do not always work as they should and I always have to go into the database to manually fix things, so knowing how to work with a database is also a must. Often, I deeply regret having even started the project.

As an alternative, you may want to take look a phpFox. I haven't looked at what they did recently but I know they were selling a lookalike Facebook site (Object Oriented Programming - OOP) that looked very good and was full featured for about $350.00 plus additional fees like $50.00 for not displaying their logo, etc. So you could get a turn-key Facebook site for about $600.00 Back then, all my friends told me to drop Drupal and work with phpFox instead. But being the donkey that I am, I took the Drupal challenge and spent an additional 5 years on the project.

Anyway, no matter what route you decide to take, good luck on your project!

good advice

foka_patrick's picture

Thank you for your advice because I am already 3 months and module pricing is harder than I thought

Administrateur
Drupal Cameroun

Go with "Open Social"

drupalfever's picture
  1. Acquia is not porting "Drupal Commons" into Drupal 8 so I don't think that this should be used as your distribution of choice.
    I think that you should go with "Open Social".

  2. With regards to performance, Drupal is being used by the "Grammys" and the "Emmy" award websites. These sites receive peak traffic of dozens of millions. The traffic is handled with a good hardware setup. By the time you are getting this much traffic, you will be backed by big investors. I think you can start small and, if your idea is great, you will be in the right platform with room to grow.

  3. Twitter is not made with Drupal but, recently, Twitter decided to create a smaller platform designed to cater to Twitter developers. In order to create this smaller Social Network just for Twitter developers, the Twitter guys used Drupal. When we are talking about Twitter, a smaller Social Network just for Twitter developers, will certainly be a large website by any measure. Regardless of the size of this Twitter internal network, just the fact that Twitter picked Drupal as their platform of choice should mean something.

  4. Any book written 6 years ago is hopelessly outdated. Now a days, web development has a knowledge base with a very short shelf life. I would not waist my time studying sources that are more than 1 year old. This is a very frustrating fact associated with web development. Resources are hard to find and remain relevant for a very short time. As a web developer you are constantly studying just to keep up with the very basics. If you don't love what you are doing, it can be very discouraging.

  5. This job is hard. However, all things that are worthwhile are hard. That's why they are so rewarding.
    With regards to the suggestion given by "Triumphent", I understand where he is coming from. I don't know much about his specific project but, if you don't keep up with the latest developments within the Drupal community, you run the risk of getting stuck with reinventing the wheel. This can be very costly and time consuming. Regardless, I personally would not bet all my chips on a closed platform such as "phpFox". These small companies tend to go out of business with an alarming frequency. You often end up being forced to deal on your own with taking care of security wholes in that orphan platform. I've been there and this is not a nice place to be.

My advice is that you go forward with your project and that you stay with Drupal. What is most attractive about Drupal is the large community around this "OPEN SOURCE" platform. In my opinion Drupal is still the best way to future proof your website.

Possible with some caveats

ajayg's picture

I have developed a social network which is 21 years old.
https://www.maayboli.com/ - Marathi Footsteps around the world.
I started in 1996 as plain HTML as a personal home page, them moved to home grown perl script, then perl based Disusware forum, them moved to Drupal 5.x 2006-7, then added OG 5.x, Then drupal 6.x and just this year January 7.x . It is the oldest Indian language site as confirmed by WSJ.
Reach is about 1.7 millions uniques. 600+ community groups. Need CDN + load balancer + memcache server+ a couple of autoscale front end servers + HA backend server with failover capability. You do NOT need big staff. I do all myself in my spare time (NOT fulltime) as a hobby. But This is possible only because of modern cloud which makes it very affordable (if you are in US) and easy.

  1. I use OG which is underlying backbone of Commons. Mainly because when I started the commons did not exist and never got around moving to commons which turned out to be a better decision. Yes It can easily scale if you choose which features to use. Some features scale and some don't.

  2. Yes. it does it very well. But you need to understand and fine tune caching.

  3. NO idea. And even if there was one, I wonder if they are still on commons now that we know Aquia is not longer upgrading it.

  4. I did not use commons but use OG which is underlying main glue mentioned in the book and I am very happy so far.

  5. The job is not hard to scale or maintain. The Job is far harder to acquire users and make sure they are engaged and will come back. This is true about any software (paid or othewise) and not just drupal. Getting 100 uses is easy, getting to 1000 uses in harder then 10 times and so on. And while you scale don't forget the world is not at standstill. There are new sites and new distractions coming up every day. But I have seen bigger sites from Orkut, Google+, Whats apps to facebook. Facebook actually helps me since my users join facebook and when they get tired, join us. Bt as you are successful you will see many competitors.

SO the questions you are asking are actually easy to solve and drupal does well. You do not need lots of developers if you use opensource (which was developed by lots of developers). The cost is not high (if you are in US).

But things you need to worry more are :

1) How to reach more of your target audience and keep them engaged. This is the hardest part.
2) How to keep up with the changes happening in opensource code on which you don't have control. I have contributed to OG patches and patches to other modules. SO some technical knowledge is absolutely required.
3) How to decide which features to use and scalable and which are not scalable.
4) You do not have control on some of the timelines and associated issue with module dependencies. SO you can't easily add a new feature even if you want to (unless you hire programmers). But it is also a blessing since many time the cool feature, turn out to be a short lived fad. And you realize you don't always need every new thing that facebook or linkedin adds.

Social Networking Sites

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week