We chose to simulate the impact of many real users hitting many machines by means of a "dark launch" period in which Facebook pages would make connections to the chat servers, query for presence information and simulate message sends without a single UI element drawn on the page.
With the "dark launch" bugs fixed, we hope that you enjoy Facebook Chat now that the UI lights have been turned on.
You: Hello Stranger: All around the mulberry bush the monkey chased the weasel... You: Claire Stranger: Ah, didn't I speak to you before? You: so whats up Stranger: Maybe face to face might help.....
Starting your own face-to-face random webcam chat site has never been easier. Thanks to the latest Adobe Stratus peer-to-peer technology, a media server is no longer required, while bandwidth usage is zero.
Erlang is a functional concurrency-oriented language with extremely low-weight user-space "processes", share-nothing message-passing semantics, built-in distribution, and a "crash and recover" philosophy proven by two decades of deployment on large soft-realtime production systems.
Despite those advantages, using Erlang for a component of Facebook Chat had a downside: that component needed to communicate with the other parts of the system.Chatroulette was featured on Good Morning America, on Newsnight in the United Kingdom, in The New York Times, in New York magazine, and on The Daily Show with Jon Stewart.In only a few months it grew from 500 visitors a day upto 1.5 million users.The project I'm currently working on, Facebook Chat, offered a nice set of software engineering challenges: The most resource-intensive operation performed in a chat system is not sending messages.It is rather keeping each online user aware of the online-idle-offline states of their friends, so that conversations can begin.Fault tolerance is a desirable characteristic of any big system: if an error happens, the system should try its best to recover without human intervention before giving up and informing the user.