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.
WhatsApp scaled to 1B users with only 50 engineers
131–140 of 462 posts
Re: WhatsApp scaled to 1B users with only 50 engineers
#132Earlier 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.
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
#133Earlier 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...
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
#134I'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…
Re: WhatsApp scaled to 1B users with only 50 engineers
#135"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.…
Re: WhatsApp scaled to 1B users with only 50 engineers
#136This 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.
Re: WhatsApp scaled to 1B users with only 50 engineers
#137Earlier 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.
Re: WhatsApp scaled to 1B users with only 50 engineers
#138Earlier 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…
Re: WhatsApp scaled to 1B users with only 50 engineers
#139Earlier 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.
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
#140I 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…