Why is this being downvoted? Whatsapp is notoriously "just" a highly-optimized fork of ejabberd [0]. ejabberd is written in Erlang/OTP which enables quasi-horizontal scaling and amazing failure recovery, along with incredible uptime.
What's different about Whatsapp compared to a traditional XMPP experience is:
- it uses a single centralized server, without federating
- it uses phone numbers as identifiers instead of nicknames
- it has a tightly integrated (closed-source) client
So you can not only "build your own WhatsApp", but also federate with others doing the same, which is pretty cool and prevents a single actor from abusing the whole network.
Doesn't anybody remember how literally Whatsapp's founder wrote on one of the ejabberd mailing lists with something like "I just installed the server, please help me configure authentication" or the like?
Retrospectively that has always colored my perception of how relevant technical aspects are for a successful startup (i.e. not much). Marketing (and viral, user-capturing & monopolist practices) are (sadly) much more important.
> how relevant technical aspects are for a successful startup (i.e. not much)
That's why i'm very interested in human and political aspects of free software. Successful FLOSS projects usually have a strong community backing them, and strong connections between developers and the community so that the technology isn't too disconnected from practical needs and UX concerns.
I think non-profits and cooperatives building upon free-software solutions are a better alternative model. For example, framasoft.org (french NGO for libre culture/software) has been instrumental in developing new solutions like Peertube, and in kickstarting a new wave of hosting coops (chatons.org federation).
In the IM world specifically, i'm very interested about Snikket.im project. It aims to build a complete client/server distribution of XMPP software tailored for specific user expectations.
If you look at https://www.infoq.com/presentations/whatsapp-scalability/ though it gives a very different picture. Sure, the founding team may have tried to prototype without knowing full technical details, but they knew enough to choose software that could fundamentally scale towards the future, and they rapidly brought on fantastically talented developers with a hunger for optimization. You can't choose the right technical people without technical chops; that being said, in many cases the right technical people are those who know how and when (and when not) to stand on the shoulders of giants!
It doesn't look like "they knew enough to choose software that could fundamentally scale". It looks more like they choose the first option that was available to them. Apple also choose XMPP for Facetime as did a million other companies that serve similar scales of simultaneous clients.
They may have hired people later on (though this entire article is kind of showing that no, they actually didn't hire that much technical people). But by the time they even hired the first Erlang engineer they had already won over the European market. And for the record it was not precisely due to the quality of either their Android or iOS android apps -- the J2ME and Symbian clients had quite a following and I would even bet were more used.
Original Whatsapp was a disaster and this did not prevent them from gaining marketshare. You could basically login as anyone just by having their phone number (which maps to their JID) and defeating their XMPP obfuscation layer (some XML encoding, which was easily done due to the easily RE Java clients).
It was only later on (2011ish?) that they started getting somewhat serious, which coincided with them, already swimming in users (and money?), starting to get more evil (with a more hardcore stance against 3rd party clients).
Not at all, I have a bunch of friends on my private server and getting someone an XMPP client and account takes less than a minute. No phone number or email required.
Sure, everyone out there isn't going to be on my server - but for the close friends I care about - it's been flawless.
I decided to delete all proprietary messaging apps and use XMPP exclusively in Janurary this year. It took some time to explain but now most of my friends and family can now be reached via XMPP.