无独有偶，Google和Mozilla（火狐浏览器的开发商）也在寻求这种类似的最佳程序设计语言，这又是一个鲜有听闻的新语言——叫Go and Rust。
Why WhatsApp Only Needs 50 Engineers for Its 900M Users
EARLIER THIS MONTH, in a post to his Facebook page, WhatsApp CEO Jan Koum announced that his company’s instant messaging service is now used by more than 900 million people. And then Facebook CEO Mark Zuckerberg promptly responded with two posts of his own. One said “congrats,” and the other included a cheeky photo Zuckerberg had taken of Koum as the WhatsApp CEO keyed his 900-million-user post into a smartphone. “Here’s an action shot of you writing this update,” Zuckerberg wrote.
WhatsApp is owned by Facebook, after Zuckerberg and company paid $19 billion for the startup a little more than a year ago. That means Facebook now runs three of the most popular apps on the internet. Its primary social networking service is used by more than 1.5 billion people worldwide, and Facebook Messenger, an instant messaging service spun off from Facebook proper, spans 700 million. But the 900 million-user milestone announced by Koun is very much a WhatsApp achievement, not a product of the formidable Facebook machine.
WhatsApp shows the way forward to a world where internet services can serve a massive audience with help from few people.
One of the (many) intriguing parts of the WhatsApp story is that it has achieved such enormous scale with such a tiny team. When the company was acquired by Facebook, it had 35 engineers and reached more than 450 million users. Today, it employs only about 50 engineers, though the number of WhatsApp users has doubled, and this tiny engineering staff continues to run things almost entirely on its own. In a world where so many internet services are rapidly expanding to millions upon millions of users, WhatsApp shows the way forward—at least in part.
WhatsApp doesn’t talk much about its engineering work—or any other part of its operation, for that matter—but yesterday, at an event in San Jose, California, WhatsApp software engineer Jamshid Mahdavi took the stage to briefly discuss the company’s rather unusual methods. Part of the trick is that the company builds its service using a programming language called Erlang. Though not all that popular across the wider coding community, Erlang is particularly well suited to juggling communications from a huge number of users, and it lets engineers deploy new code on the fly. But Mahdavi says that the trick is as much about attitude as technology.
Mahdavi joined WhatsApp about two years ago, after the startup was up and running, and its approach to engineering was unlike any he had seen—in part because it used Erlang and a computer operating system called FreeBSD, but also because it strove to keep its operation so simple. “It was a completely different way of building a high-scale infrastructure,” he said on Monday. “It was an eye-opener to see the minimalistic approach to solving … just the problems that needed to be solved.”
Code in Parallel
In using Erlang, WhatsApp is part of a larger push towards programming languages that are designed for concurrency, where many processes run at the same time. As internet services reach more people—and juggle more tasks from all those people—such languages become more attractive. Naturally.
With its new anti-spam system—a system for identifying malicious and otherwise unwanted messages on its social network—Facebook uses a language called Haskell. Haskell began as a kind of academic experiment in the late ’80s, and it’s still not used all that often. But it’s ideal for Facebook’s spam fighting because it’s so good at juggling parallel tasks—and because it lets coders tackle urgent tasks so quickly. Meanwhile, Google and Mozilla, maker of the Firefox browser, are striving for a similar sweet spot with new languages called Go and Rust.
In essence, WhatsApp is a replacement for telecoms' texting services.
Like Haskell, Erlang is a product of the ’80s. Engineers at Ericsson, the Swedish multinational that builds hardware and software for telecom companies, developed the language for use with high-speed phone networks. “Instead of inventing a language and then figuring out what to do with it, they set out to invent a language which solved a very specific problem,” says Francesco Cesarini, an Erlang guru based in the UK. “The problem was that of massive scalability and reliability. Phone networks were the only systems at the time who had to display those properties.”
Erlang remains on the fringes of the modern coding world, but at WhatsApp and other internet companies, including WeChat and Whisper, it has found a home with new applications that operate not unlike a massive phone network. In essence, WhatsApp is a replacement for cellphone texting services. It too requires that “scalability and reliability.”
What’s more, Erlang lets coders work at high speed—another essential part of modern software development. It offers a way of deploying new code to an application even as the application continues to run. In an age of constant change, this is more useful than ever.
Keep It Simple, Smarty
The language does have its drawbacks. Relatively few coders know Erlang, and it doesn’t necessarily dovetail with a lot of the code already built by today’s internet companies. Facebook built its original Facebook Chat app in Erlang but eventually rebuilt so that it would better fit with the rest of its infrastructure. “You had this little island that was Erlang, and it was hard to build enough boats back to the island to make everything hook in,” says Facebook vice president of engineering Jay Parikh.
Of course, WhatsApp didn’t have to integrate with an existing infrastructure in this way. And Mahdavi believes the relative scarcity of Erlang coders isn’t a problem. “Our strategy around recruiting is to find the best and brightest engineers. We don’t bring them in specifically because the engineer knows Erlang,” Mahdavi said on Monday. “We expect the engineer to come in and spend their first week getting familiar with the language and learning to use the environment. If you hire smart people, they’ll be able to do that.”
The company has succeeded by hiring engineers who are adaptable—in more ways than one. Asked to explain the company’s secret, Mahdavi’s response seems far too simple. But that’s the point. “The number-one lesson is just be very focused on what you need to do,” he said. “Doing spend time getting distracted by other activities, other technologies, even things in the office, like meetings.”
At WhatsApp, employees almost never attend a meeting. Yes, there are only a few dozen of them. But that too is the point.
WhatsApp isn’t safe enough for business messaging; Avaamo fills the gap
Before turning entrepreneurs, Ram Menon and Sriram Chakravarthy worked for TIBCO, an enterprise communication software company. During their stint there, they built a product called Tibbr, an enterprise communication app that competed with Yammer and Chatter. This gave them a first-hand experience in understanding how people use communication apps in their professional lives. A clear drawback was that these apps were primarily desktop based. The apps did not have the elements of ease that people look for while communicating on mobile. This became more apparent as Menon and Chakravarthy noticed the big shift to mobile in the last five years. That inspired the duo to co-found Avaamo.
“After seeing the trends in consumer messaging apps, we realized that there was an inherent value proposition in the simplicity of mobile apps,” Chakravarthy tellsTech in Asia. The main points that Chakravarthy and Menon worked on, from the consumer point of view, were how quickly the app could be downloaded, how easily it could be maneuvered, and how to ensure minimum response time during communication. From an enterprise point of view, the main elements were security and data privacy.
Chakravarthy cites the example of a real estate company in Bangalore which uses WhatsApp to communicate with the real estate agents through groups. These are not secure groups in terms of assessing the identity of the members. In the case where a member has left the company, an admin might not necessarily have remembered to remove him from the group. A lot of private and confidential information is exchanged in these groups and without centralized monitoring of members, the company might be compromising on its security and data privacy.
Menon and Chakravarthy decided to tackle these challenges and incorporated Avaamo in 2014. The India-Silicon Valley based startup, provides enterprises a secure and an easily supervisable communication app. The app has both free as well as paid versions. The free one works like Whatsapp and the user can add members and send unlimited messages. The paid version provides data compliance, automated user on & off boarding, broadcast to company users, support and administrator control. An enterprise administrator can install the Avaamo web app and control messaging and communication through a dashboard.
The pricing for the premium app is for enterprises and varies with the size of the enterprise and number of employees
AN administrator can create a list of members, monitor the daily user activity on the app, and manage the groups. The groups can be predefined for departments and can also be created by employees according to their convenience. An employee can download the free version and keep in touch with the company for their daily tasks. The administrator can decide the amount of time to keep the data before it gets deleted automatically.
“The app has fine-grained controls that will ensure that only the right people join,” says Chakravarthy.
For the mobile employees
There are several applications available to companies for enterprise communication in India. Skype for Business, Slack, and Flowdock, among many others, address the problem of being in touch with employees across all offices and branches a company might have. When asked about the well-rooted competition, Chakravarthy said, “These apps are great, but for the desk-bound employees. But for example, in an insurance company, if the manager wants to get in touch with an agent riding a moped on a hill in Shillong, he can’t reach him with Slack, because the agent is on WhatsApp.” According to Chakravarthy, people using their mobile phones 70 percent of the day lack an enterprise grade communication system that is easy to use. “Avaamo bridges this gap in an under-served market,” he claims.
Avaamo has 7,000 companies on board out of which, 3,000 are Indian companies – mostly insurance companies, pharmaceuticals, and banks. “We focus on companies that have more employees on their mobile phones and provide a secure and easy communication platform on cheap Android phones,” adds Chakravarthy.
“SMS was 1.0; Whatsapp, WeChat,and Line were 2.0; and we would like to think of ourselves as 3.0,” says Chakravarthy.
Recently, Avaamo introduced a ‘Smart Card’ as the latest addition to their app. Smart Cards are broadcast cards that allow sending out aggregated information to the members of a group on the app.
For example, the sales growth in a certain period of time can be sent out in the form of a card to employees. It can also be sent out as surveys for feedback or as a letter from the CEO. The employees can read it, reply, or ask for clarifications. “The read rates on HR surveys and letters are more than often under 10 percent and this feature will help them know how many employees are looking at the information on the card and responding. They can then take steps to improve the engagement rate,” says Chakravarthy.
The app also makes it possible to check-in so that the employee can be located on the map. Take an ATM servicing company, for example. It is necessary to know where their employees are so that they can promptly deal with any ATM-related issues by assigning the task to an employee in the vicinity of the ATM.
Chakravarthy believes that Avaamo is taking everyday business processes and making them mobile-ready.
The big hurdles before Avaamo in the way of further expansion in India as well as rest of Asia, in terms of communicating their product, is the bandwidth and battery. In India, people are concerned about keeping their phone alive and using their data cost-consciously. Also, the 3G infrastructure of India is less reliable compared to the other countries. Avaamo sees this as its main challenge.
The startup believes in the concept of information velocity. This concept deals with the speed at which messages are sent and ensures a short response time during conversations. To tackle fluctuating internet connection, Avaamo introduced its “fire and forget” feature, which ensures that the message that has been sent from a phone reaches the recipient irrespective of whether the sender has stable data or not.
Avaamo is a team of 40 based in both India and Silicon Valley. Menon is CEO and Chakravarthy is CTO at the startup. Even though the business has a global focus, Avaamo is currently seeing an unexpected yet welcome increase in customer traction in India. It has now set up a sales team focusing on increasing its customer base here.
In October of last year, the startup raised US$6.3 million in seed funding from WI Harper group, with participation from Streamlined Ventures, Rembrandt Ventures, Ovo Fund and Eleven Two Capital.
来源：Tech in Asia