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
Post a Comment