The Complexity Of Facebook
Lets describe a single event at 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 a thumb for a “Like” and also design a share button.
- Every post should have like and share button in the bottom.
- Whenever someone likes or share, notification should go to the owner of the post.
- Whenever someone likes, the post should boost up to the all friend circle who follows you.
- There should be a counter for number of likes and share.
- Whoever likes and share, save that information.
- Privacy setting should also be there, if someone doesn’t want likes from unknown, hide it.
- If someone clicks “Like”, they shouldn’t like it more than once. But if they want to share they can share multiple times.
- If someone clicks “Like”, turn that button into “Unlike”.
- There should also 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 will go for a coding side only for “Like and Share” Then this answer will become the longest answer of Quora.
Now Let’s see interesting facts:
- 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.
- What you see in today’s Facebook is not created in one day but an evolution of 13 years of continuous coding.
- “TheFacebook” which was created by Mark Zuckerburg is not running from a dorm anymore.
- Today it has 18,770 Employees (As of March, 2017), just to manage single website.
- 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.
- It’s security is invincible that 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.
- 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?
The value of Facebook is NOT in the software. It is not in the design. The value of Facebook is in the billions of existing users. The value of Facebook is the brand that they have managed to build.
Sure, a programmer could create a website like Facebook. It might not scale initially, but as its user base grows, it could raise capital and hire engineers to make it scale. The patterns are established. It is not rocket science.
The same question applies to Google, don’t you think so ?
Well, it is not a matter of lack of human resource. A team can gather and develop it.
The real trick isn’t coding up another social media site.
The real trick is getting people to use it.
By their nature, such platforms they need a large user-base to work. and Facebook already dominates the social media space. Even Google was unable to unseat them. It’s not because google plus didn’t function.Its because they couldn’t steal away enough market share. The nature of their product makes it hard for someone else to come along and usurp them.