Profile shown on Thefacebook in 2005
Previous Facebook logo in use from August 23, 2005 until July 1, 2015
The website's primary color is blue as Zuckerberg is red-green colorblind, a realization that occurred after a test undertaken around 2007; he explained in 2010: "blue is the richest color for me—I can see all of blue." Facebook is built in PHP which is compiled with HipHop for PHP, a "source code transformer" built by Facebook engineers that turns PHP into C++. The deployment of HipHop reportedly reduced average CPU consumption on Facebook servers by 50%.
Facebook is developed as one monolithic application. According to an interview in 2012 with Chuck Rossi, a build engineer at Facebook, Facebook compiles into a 1.5 GB binary blob which is then distributed to the servers using a custom BitTorrent-based release system. Rossi stated that it takes about 15 minutes to build and 15 minutes to release to the servers. The build and release process has zero downtime and new changes to Facebook are rolled out daily.
Facebook uses a combination platform based on HBase to store data across distributed machines. Using a tailing architecture, new events are stored in log files, and the logs are tailed. The system rolls these events up and writes them into storage. The user interface then pulls the data out and displays it to users. Facebook handles requests as AJAX behavior. These requests are written to a log file using Scribe (developed by Facebook).
Data is read from these log files using Ptail, an internally built tool to aggregate data from multiple Scribe stores. It tails the log files and pulls data out (thus the name). Ptail data are separated out into three streams so they can eventually be sent to their own clusters in different data centers (Plugin impression, News feed impressions, Actions (plugin + news feed)). Puma is used to manage periods of high data flow (Input/Output or IO). Data is processed in batches to lessen the number of times needed to read and write under high demand periods (A hot article will generate a lot of impressions and news feed impressions which will cause huge data skews). Batches are taken every 1.5 seconds, limited by memory used when creating a hash table.
After this, data is output in PHP format (compiled with HipHop for PHP). The backend is written in Java and Thrift is used as the messaging format so PHP programs can query Java services. Caching solutions are used to make the web pages display more quickly. The more and longer data is cached the less realtime it is. The data is then sent to MapReduce servers so it can be queried via Hive. This also serves as a backup plan as the data can be recovered from Hive. Raw logs are removed after a period of time.
On March 20, 2014, Facebook announced a new open-source programming language called Hack. Before public release, a large portion of Facebook was already running and "battle tested" using the new language.
Facebook uses the Momentum platform from Message Systems to deliver the enormous volume of emails it sends to its users every day.
On July 20, 2008, Facebook introduced "Facebook Beta", a significant redesign of its user interface on selected networks. The Mini-Feed and Wall were consolidated, profiles were separated into tabbed sections, and an effort was made to create a cleaner look. After initially giving users a choice to switch, Facebook began migrating all users to the new version starting in September 2008. On December 11, 2008, it was announced that Facebook was testing a simpler signup process.
User profile/personal timeline
Facebook login/signup screen
Each registered user on Facebook gets their own personal profile that shows their posts and content. The format of individual user pages was revamped in September 2011 and became known as "Timeline", a chronological feed of a user's stories, including status updates, photos, interactions with apps, and events. The new layout also let users add a "cover photo", a large header image at the top of the Timeline. Along with the new layout, users were also given more privacy settings to control the content on the Timeline. In 2007, Facebook launched Facebook Pages for brands and celebrities to interact with their fanbase, with more 100,000 Pages launched in November. In June 2009, Facebook introduced a "Usernames" feature, allowing users to choose a unique nickname used in the URL for their personal profile, for easier sharing.
In February 2014, Facebook expanded the options for a user's gender setting, adding a custom input field that allows users to choose from a wide range of gender identities. Users can also set which set of gender-specific pronoun should be used in reference to them throughout the site. In May 2014, Facebook introduced a feature to allow users to ask for information not disclosed by other users on their profiles. If a user does not provide key information, such as location, hometown, or relationship status, other users can use a new "ask" button to send a message asking about that item to the user in a single click.
On September 6, 2006, News Feed was announced, which appears on every user's homepage and highlights information including profile changes, upcoming events, and birthdays of the user's friends. This enabled spammers and other users to manipulate these features by creating illegitimate events or posting fake birthdays to attract attention to their profile or cause. Initially, the News Feed caused dissatisfaction among Facebook users; some complained it was too cluttered and full of undesired information, others were concerned that it made it too easy for others to track individual activities (such as relationship status changes, events, and conversations with other users). In response, Zuckerberg issued an apology for the site's failure to include appropriate customizable privacy features. Since then, users have been able to control what types of information are shared automatically with friends. Users are now able to prevent user-set categories of friends from seeing updates about certain types of activities, including profile changes, Wall posts, and newly added friends.
On February 23, 2010, Facebook was granted a patent on certain aspects of its News Feed. The patent covers News Feeds in which links are provided so that one user can participate in the same activity of another user. The patent may encourage Facebook to pursue action against websites that violate its patent, which may potentially include websites such as . One of the most popular applications on Facebook is the Photos application, where users can upload albums and photos. Facebook allows users to upload an unlimited number of photos, compared with other image hosting services such as Photobucket and Flickr, which apply limits to the number of photos that a user is allowed to upload. During the first years, Facebook users were limited to 60 photos per album. As of May 2009, this limit has been increased to 200 photos per album.
Privacy settings can be set for individual albums, limiting the groups of users that can see an album. For example, the privacy of an album can be set so that only the user's friends can see the album, while the privacy of another album can be set so that all Facebook users can see it. Another feature of the Photos application is the ability to "tag", or label, users in a photo. For instance, if a photo contains a user's friend, then the user can tag the friend in the photo. This sends a notification to the friend that she has been tagged, and provides a link to see the photo. On June 7, 2012, Facebook launched its App Center to its users. It will help the users in finding games and other applications with ease. Since the launch of the App Center, Facebook has seen 150M monthly users with 2.4 times the installation of apps. The sorting and display of stories in a user's News Feed is governed by the EdgeRank algorithm.
On May 13, 2015, Facebook in association with major news portals launched a program "Instant Articles" to provide rich news experience. Instant articles provides users, access to articles on Facebook news feed without leaving the site. According to the technology news website Gizmodo on May 9, 2016, Facebook curators routinely suppress or promote news that is deemed to meet a political agenda. For example, articles about Black Lives Matter would be listed even if they did not meet the trending criteria of News Feed. Likewise, positive news about conservative political figures were regularly excised from Facebook pages. In January 2017, Facebook launched Facebook Stories for iOS and Android in Ireland. The feature, following the format of Snapchat and Instagram stories, allows users to upload photos and videos that appear above friends' and followers' News Feeds and disappear after 24 hours.
On October 11, 2017, Facebook introduced the 3D Posts feature to allow for uploading interactive 3D assets in the News Feed. On January 11, 2018, Facebook announced that it would be changing its News Feed algorithm to prioritize what friends and family share and de-emphasize content from media companies. The change was intended to maximize the “meaningful interactions” that people have with content on Facebook.
The "like" button, stylized as a "thumbs up" icon, was first enabled on February 9, 2009, and enables users to easily interact with status updates, comments, photos and videos, links shared by friends, and advertisements. Once clicked by a user, the designated content appears in the News Feeds of that user's friends, and the button also displays the number of other users who have liked the content, including a full or partial list of those users. The like button was extended to comments in June 2010. After extensive testing and years of questions from the public about whether it had an intention to incorporate a "Dislike" button, Facebook officially rolled out "Reactions" to users worldwide on February 24, 2016, letting users long-press on the like button for an option to use one of five pre-defined emotions, including "Love", "Haha", "Wow", "Sad", or "Angry". Reactions were also extended to comments in May 2017.
Facebook Messenger is an instant messaging service and software application. Originally developed as Facebook Chat in 2008, the company revamped its messaging service in 2010, and subsequently released standalone iOS and Android apps in August 2011. Over the years, Facebook has released new apps on a variety of different operating systems, launched a dedicated website interface, and separated the messaging functionality from the main Facebook app, requiring users to download the standalone apps.
Facebook Messenger lets Facebook users send messages to each other. Complementing regular conversations, Messenger lets users make voice calls and video calls both in one-to-one interactions and in group conversations. Its Android app has integrated support for SMS and "Chat Heads", which are round profile photo icons appearing on-screen regardless of what app is open, while both apps support multiple accounts, conversations with optional end-to-end encryption, and playing "Instant Games", which are select games built into Messenger. Some features, including sending money and requesting transportation, are limited to the United States. In 2017, Facebook has added "Messenger Day", a feature that lets users share photos and videos in a story-format with all their friends with the content disappearing after 24 hours; Reactions, which lets users tap and hold a message to add a reaction through an emoji; and Mentions, which lets users in group conversations type @ to give a particular user a notification.
In March 2015, Facebook announced that it would start letting businesses and users interact through Messenger with features such as tracking purchases and receiving notifications, and interacting with customer service representatives. It also announced that third-party developers could integrate their apps into Messenger, letting users enter an app while inside Messenger and optionally share details from the app into a chat. In April 2016, it introduced an API for developers to build chatbots into Messenger, for uses such as news publishers building bots to give users news through the service, and in April 2017, it enabled the M virtual assistant for users in the U.S., which scans chats for keywords and suggests relevant actions, such as its payments system for users mentioning money. Additionally, Facebook expanded the use of bots, incorporating group chatbots into Messenger as "Chat Extensions", adding a "Discovery" tab for finding bots, and enabling special, branded QR codes that, when scanned, take the user to a specific bot.
On September 14, 2011, Facebook added the ability for users to provide a "Subscribe" button on their page, which allows users to subscribe to public postings by the user without needing to add him or her as a friend. In conjunction, Facebook also introduced a system in February 2012 to verify the identity of certain accounts. In December 2012, Facebook announced that because of user confusion surrounding its function, the Subscribe button would be re-labeled as a "Follow" button—making it more similar to other social networks with similar functions.
Comparison with Myspace
The media often compares Facebook to Myspace, but one significant difference between the two Web sites is the level of customization. Another difference is Facebook's requirement that users give their true identity, a demand that MySpace does not make. MySpace allows users to decorate their profiles using HTML and Cascading Style Sheets (CSS), while Facebook allows only plain text. Facebook has a number of features with which users may interact. They include the Wall, a space on every user's profile page that allows friends to post messages for the user to see; Pokes, which allows users to send a virtual "poke" to each other (a notification then tells a user that he or she has been poked); Photos, that allows users to upload albums and photos; and Status, which allows users to inform their friends of their whereabouts and actions. Facebook also allows users to tag various people in photographs. Depending on privacy settings, anyone who can see a user's profile can also view that user's Wall. In July 2007, Facebook began allowing users to post attachments to the Wall, whereas the Wall was previously limited to textual content only. Facebook also differs from Myspace in the form of advertising used. Facebook uses advertising in the form of banner ads, referral marketing, and games. Myspace, on the other hand, uses Google and AdSense. There is also a difference in the userbase of each site. MySpace, initially, was much more popular with high school students, while Facebook was more popular among college students. A study by the American firm Nielsen Claritas showed that Facebook users are more inclined to use other professional networking sites, such as LinkedIn, than Myspace users.
Facebook enables users to choose their own privacy settings and choose who can see specific parts of their profile. The website is free to its users and generates revenue from advertising, such as banner ads. Facebook requires a user's name and profile picture (if applicable) to be accessible by everyone. Users can control who sees other information they have shared, as well as who can find them in searches, through their privacy settings. On November 6, 2007, Facebook launched Facebook Beacon, which was a part of Facebook's advertisement system until it was discontinued in 2009. Its purpose was to allow targeted advertisements and allowing users to share their activities with their friends.
In 2010, Facebook's security team began expanding its efforts to reduce the risks to users' privacy, but privacy concerns remain. Since 2010, the US National Security Agency has been taking publicly posted profile information from Facebook, among other social media services, user profiles to discover who they interact with.
On November 29, 2011, Facebook settled Federal Trade Commission charges that it deceived consumers by failing to keep privacy promises. In August 2013 High-Tech Bridge published a study showing that links included in Facebook messaging service messages were being accessed by Facebook. In January 2014 two users filed a lawsuit against Facebook alleging that their privacy had been violated by this practice.
In the aftermath of the breach, Facebook withdrew its opposition to the
California Consumer Privacy Act. Facebook, Google, Comcast, AT&T, and Verizon had previously donated $200,000 each to a $1 million fund dedicated to opposing of the ballot measure. The Committee to Protect California jobs, which opposed the ballot question and is sponsored by the California Chamber of Commerce told Ars Technica that "Facebook has NOT dropped its opposition to the measure". According to the Committee Facebook "simply formally dropped their participation in the 'no' campaign."
Facebook Bug Bounty Program
On July 29, 2011, Facebook announced its Bug Bounty Program in which security researchers will be paid a minimum of $500 for reporting security holes on Facebook's website. Facebook's Whitehat page for security researchers says: "If you give us a reasonable time to respond to your report before making any information public and make a good faith effort to avoid privacy violations, destruction of data, and interruption or degradation of our service during your research, we will not bring any lawsuit against you or ask law enforcement to investigate you."
Facebook started paying researchers who find and report security bugs by issuing them custom branded "White Hat" debit cards that can be reloaded with funds each time the researchers discover new flaws. "Researchers who find bugs and security improvements are rare, and we value them and have to find ways to reward them," Ryan McGeehan, former manager of Facebook's security response team, told CNET in an interview. "Having this exclusive black card is another way to recognize them. They can show up at a conference and show this card and say 'I did special work for Facebook.'"
India, which has the second largest number of bug hunters in the world, tops the Facebook Bug Bounty Program with the largest number of valid bugs. "Researchers in Russia earned the highest amount per the report in 2013, receiving an average of $3,961 for 38 bugs. India contributed the largest number of valid bugs at 136, with an average reward of $1,353. The U.S. reported 92 issues and averaged $2,272 in rewards. Brazil and the UK were third and fourth by volume, with 53 bugs and 40 bugs, respectively, and average rewards of $3,792 and $2,950", Facebook quoted in a post.