Why You Can't Develop Another Facebook


Let’s talk about just a single feature of Facebook “Like & Share.” This is very simple functionality, whenever you see a beautiful chick you like her pic and share. Let’s go technical here,

Design:

1.       Design a thumb for a “Like” and also design a share button.

2.      Every post should have like and share button in the bottom.

3.      Whenever someone likes or share, notification should go to the owner of the post.

4.      Whenever someone likes, the post should boost up to the all friend circle who follows you.

5.      There should be a counter for number of likes and share.

6.      Whoever likes and share, save that information.

7.      Privacy setting should also be there, if someone doesn’t want likes from unknown, hide it.

8.      If someone clicks “Like”, they shouldn’t like it more than once. But if they want to share they can share multiple times.

9.      If someone clicks “Like”, turn that button into “Unlike”.

10.   There should also be a like button on comments but there shouldn’t be any share button.

Now, this is just a high level design of simple functionality of “Like and Share”, which may not cover all the test cases which is presently live at Facebook.

If I go for the coding side for “Like and Share” then this answer will become the longest answer of Quora.

Now let’s see interesting facts:

1.       There are approx. 42 functionalities/features at Facebook like connecting with friends to Live Streaming. Not to forget image detection algorithm to tag a friend.

2.      What you see in today’s Facebook is not created in one day but an evolution of 13 years of continuous coding.

3.      “TheFacebook” which was created by Mark Zuckerburg is not running from a dorm anymore.

4.      Today it has 18,770 Employees (As of March, 2017), just to manage single website.

5.      When Facebook was created it has one server at Mark’s dorm and It had 30,000 Servers in 2008 in just 4 years from its inception. It is very difficult to maintain one server, and when it comes to maintain these many servers, buddy the cost is beyond your imagination.

6.      Its security is so invincible that when world’s renowned and well known Hacker Group “Anonymous” tried to hack it. They failed miserably. Same group who is responsible for many hacking and leaking an information.

7.      Facebook stores approximately 300 PETABYTES of user data on its servers. There are 1 million gigabytes in a petabyte. The entire written works of humankind, in every known language (including Latin and other historical languages) from the dawn of recorded history, would occupy approximately 50 petabytes. Think about that for a minute. Can you handle the cost of these much storage devices?

May be you can create a website which can handle interaction of hundreds or thousands of users, but to handle billion users, you need resources. I mean lots of resources.

Don’t forget Facebook is not just another website but a billion dollar company. And it will never want any competitor in the market, whatever you develop to compete them either it will be bought by them (if it is worth like whatsapp) or will give strong competition to destroy your market.

Summary: No Programmer in the world can create a website like Facebook single handily, which is a creation of approx. 20,000 bright programmers in a result of 13 years. Even Mighty Google tried it with Google+. Facebook is now beyond to any programmer’s reach economically and mentally.




Comments