Live data from Hacker News

WhatsApp scaled to 1B users with only 50 engineers

quastor.org

131–140 of 462 posts

Re: WhatsApp scaled to 1B users with only 50 engineers

#131
post #78

Remember the fast-cheap-secure triangle of product development? Now guess which one they skipped

The client is another story, but for the server they forked ejabberd which is a reliable, established XMPP server. So they probably had "fast-cheap-secure" on the server-side, because 6 years had been spent ironing out ejabberd bugs before the first version of Whatsapp came out. My understanding is that vulns in Whatsapp so far were client-side, but i'm interested if i missed some on the server side.

They had some homebrew encryption and authentication before, see eg https://blog.thijsalkema.de/blog/2013/10/08/piercing-through... https://blog.thijsalkema.de/blog/2013/10/08/piercing-through...

Re: WhatsApp scaled to 1B users with only 50 engineers

#132
post #84
post #72

Earlier quoted context omitted.

Well, WhatsApp had to support exotic cases like BlackBerry, Symbian OS (Nokia), and Windows Phone. I will say, dealing with JS stacks, seems easy in comparison to mobile fragmentation from back then.

I don't see how this is related. Server-side you write and expose an API. Then you have 1-3 developers for each platform that write code that consumes that API. Those developers don't need to know anything about the internals of the server.

I wish that WhatsApp could make a public API. I'm very thankful that Facebook is integrating WhatsApp into their services, because that gives me hope that a true web interface will be developed.

For me, it takes between 10 hours (worst case) to 5 minutes (best case) to open WhatsApp.

My iPhone 4S is too old, so opening WhatsApp gives a message "This version of WhatsApp ha..., Update WhatsApp, Your update will be free of cha...". Clicking Update WhatsApp opens the App Store, and clicking Update results in another error message: "This application requires iOS 10.0 or later."

So I only use WhatsApp through BlueStacks Android emulator on my personal laptop. That's what leads to the 10 hour worst-case response time: a full working day, including commute. The 5 minute best-case is because BlueStacks takes a very long time to open, and runs my laptop fans really loud.

This is not only a pain point with WhatsApp, it's also a problem with WeChat, KakaoTalk, LINE, even 9gag (for posting videos).

Meanwhile, email continues to work just fine on my decade-old phone, mbasic.facebook.com is particularly speedy, iMessage still works, and Hacker News is great :)

Re: WhatsApp scaled to 1B users with only 50 engineers

#133
post #75

Earlier quoted context omitted.

I wouldn't say JavaScript is exotic, it's more to do with what is being done with it. Traditionally it was used to enhance HTML pages with some DOM manipulation but it's now being used for a million other things too. So historically, if your JavaScript code broke your page would still render as it was just html but now there are all sorts of build processes and long chains that use JavaScript to create the html in th…

It's been used as a general purpose programming language for over a decade. It is a 'boring technology' nowadays and hardly exotic. Of course, you could decide to do something exotic with it (edge rendering, data programming, whatever) but that's not a problem with the language but people wanting to stretch themselves...

It still sucks by default.

https://i.redd.it/h7nt4keyd7oy.jpg

Yes, the ecosystem is pretty mature, we have things like ESlint, TypeScript, Babel, TC39, and so on.

Re: WhatsApp scaled to 1B users with only 50 engineers

#134
post #57

I'm honestly not that surprised about the size. In my experience, efficiency and the number of engineers have not necessarily correlated. For example, I used to work for a company with about 500 employees (relatively large by German standards) and now work for a competing company in the same industry with less than 150 employees. The core engineering team only consists of a dozen engineers. The output is noticeably l…

Heroes are a red flag for me, as a manager, trying to build a resilient team. Which is not to say that you can't have a range of experience levels. But what happens when those heroes are unavailable? Maybe they're out on vacation, or medical leave, or they eventually retire or leave the organization because they're tired of propping it up? Heroes tend to be a single point of failure.

Re: WhatsApp scaled to 1B users with only 50 engineers

#135
post #16

"The simpler product makes it much easier to maintain and scale." This is good news for the developers, the product owners and the customers. I still can't understand why today people choose a (Javascript) stack of build systems, ton of dependencies, and all kinds of exotic tech that is the latest and most hyped. As a developer you need to support this in the future. It might be nice to build today but it will be a n…

> I still can't understand why today people choose a (Javascript) stack of build systems, ton of dependencies, and all kinds of exotic tech that is the latest and most hyped. So the same cannot be said for "newer" languages like Rust, Go, and other's whose ecosystems and paradigms aren't completely fleshed out yet? This comment reeks of someone who is looking from the outside in when it comes to building stuff in JS.…

Why do you compare it to Rust though? JS is as old as Java, however its ecosystem seems to be much less mature (at least from outside). I haven't touched Java for 15 years, but I am fairly confident that people still use Apache Ant as build system. Every time I try to peak into JS world, it appears similar to tiktok trends in terms of how quickly people move from one thing to another.

Re: WhatsApp scaled to 1B users with only 50 engineers

#136
post #92

This just makes more clear that we didn't try enough creating an open-source instant messaging app that respects our privacy as it should be. It's probably much more difficult to do the same thing as WhatsApp did because of the dependency we created around it but I think we just need the right initiative to do so.

It is hard to get the general public to care about privacy when they post pictures of every meal and share every thought and emotion they have with no filter.

It’s hard to get the general public to care about inferior things pushed on them by patronising people sneering at them. How is a photo of some food important to privacy enough to be the first thing you teach for? Seems more like punching down at people you see as inferior because photographing meals is “so lower class, right guys?”.

Re: WhatsApp scaled to 1B users with only 50 engineers

#137
post #21

Earlier quoted context omitted.

Facebook to WhatsApp team in the acquisition negotiations: "If you don't sell to us, we'll build our own and offer it for free" And they would have been out of business sooner or later. There are enough people wanting to save that one dollar.

Facebook now have to maintain Messenger AND WhatsApp. And Insta also has chat. So I disagree that FB could have killed WA.

I’m tempted to go further. FB bought WA because it would have killed their ad business.

Re: WhatsApp scaled to 1B users with only 50 engineers

#138

Earlier quoted context omitted.

Honest question, is specializing in a JS stack bad in terms of career prospects? I've been using express + react/vuejs professionally for a couple of years and I wonder if it'll be in demand in the next 10-15 years.

Yes, but you'll find that a lot of work becomes maintenance of older systems, and less new and shiny things. I do think the 'craze' of new frameworks popping up left and right quieted down some years ago, and things have roughly settled on React, Vue, maybe Angular (which lost a lot of its shine after the Angular 2 announcement fiasco), etc. For a new application, I picked React + Go because I'm confident that ten ye…

Same stack as what I chose for my personal projects. This is just my opinion, JavaScript on the server was a horrible idea. There are far better languages to reach for when writing API’s and other server related stuff. I’m curious how you are handling authorization/authentication (assuming you are developing api’s)?

Re: WhatsApp scaled to 1B users with only 50 engineers

#139
post #135

Earlier quoted context omitted.

> I still can't understand why today people choose a (Javascript) stack of build systems, ton of dependencies, and all kinds of exotic tech that is the latest and most hyped. So the same cannot be said for "newer" languages like Rust, Go, and other's whose ecosystems and paradigms aren't completely fleshed out yet? This comment reeks of someone who is looking from the outside in when it comes to building stuff in JS.…

Why do you compare it to Rust though? JS is as old as Java, however its ecosystem seems to be much less mature (at least from outside). I haven't touched Java for 15 years, but I am fairly confident that people still use Apache Ant as build system. Every time I try to peak into JS world, it appears similar to tiktok trends in terms of how quickly people move from one thing to another.

JS is as old as java, but they're both talking about the build process of JS.

in the beginning, JS wasn't really transcoded/compiled. The first time i personally found out about that was sometime after 2010 with coffeescript, not sure if there were preceeding examples.

and your claim that people move around is really false. React has been the defacto standard for a pretty long time at this point.

yes, other UI libraries/frameworks exist, but reacts marketshare has been extremely dominant since it displaced jquery/ember etc

Re: WhatsApp scaled to 1B users with only 50 engineers

#140
post #45

I think one thing to consider is that WhatsApp is probably by nature a scalable application. It is in the end, simply a client app that sends data to other client apps. So by nature, you scale in parallel very well, there are no 1-all communications. So unlike something like facebook where the data all needs to go to a central server and be polled by an unknown (but potentially arbitrary large) number of clients, in…

To add to this, not only is it a simpler problem, but they stood on the shoulders of giants that already solved it. They used ejabberd, a full-featured xmpp server written in Erlang. Imagine half your job already done for you. Granted, they heavily customized it by this point, but they did a great job picking the right off the shelf solution to begin with.
Post reply on HN