Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    WhatsApp Blog

    blog.whatsapp.com · Company blog · on HN since 2011

    Official WhatsApp company blog with product announcements, engineering notes on server scaling, and statements on ads and encryption.

    Visit blogHN submissions
    Tech IndustryPrivacy & PolicyMobile & Apple
    What HN says

    HN commenters link the 2012 "Why we don't sell ads" post and contrast it with later changes, worrying that Status could carry ads.

    Stats for nerds
    201HN people shared it
    102linked in comments
    2.2Kstory points
    Jun 2026last shared
    2012people per year2026

    Top posts on HN

    1. 1
      Introducing WhatsApp's Desktop App
      1 person · 312 points · first shared 2016 · 220 comments on HN
    2. 2
      Looking ahead for WhatsApp
      3 people · 210 points · first shared 2016 · 193 comments on HN
    3. 3
      We Don't Sell Ads (2012)
      3 people · 200 points · first shared 2021 · 89 comments on HN
    4. 4
      Why we don't sell ads (2012)
      23 people · 195 points · first shared 2014 · 78 comments on HN
    5. 5
      One Million Concurrent TCP connections
      4 people · 192 points · first shared 2011 · 65 comments on HN
    6. 6
      Whatsapp: Video Calling
      1 person · 156 points · first shared 2016 · 139 comments on HN
    7. 7
      Facebook
      4 people · 144 points · first shared 2014 · 84 comments on HN
    8. 8
      Send Payments in India with WhatsApp
      2 people · 143 points · first shared 2020 · 112 comments on HN
    9. 9
      WhatsApp will no longer charge subscription fees
      6 people · 107 points · first shared 2016 · 85 comments on HN
    10. 10
      Communities Now Available
      1 person · 97 points · first shared 2022 · 99 comments on HN

    What HN people wrote when they linked it

    • thr0waway1239Aug 2016

      The way you framed the question, it seems so obvious that they "had to find a way to monetize". But there were probably some inflection points. This is where the issue of the customer trusting the website/app comes in. Initially, WhatsApp was charging a very small fee ($1 a year?) and making it appear as if they were doing it to avoid selling customer data.

      The following post has already been linked many times during the related comment threads, but I am posting it again because I bet most people never actually read the whole thing.

      ----------

      Link:
      https://blog.whatsapp.com/245/Why-we-dont-sell-ads

      Text:

      When we sat down to start our own thing together three years ago we wanted to make something that wasn't just another ad clearinghouse. We wanted to spend our time building a service people wanted to use because it worked and saved them money and made their lives better in a small way. We knew that we could charge people directly if we could do all those things. We knew we could do what most people aim to do every day: avoid ads.

      No one wakes up excited to see more advertising, no one goes to sleep thinking about the ads they'll see tomorrow. We know people go to sleep excited about who they chatted with that day (and disappointed about who they didn't). We want WhatsApp to be the product that keeps you awake... and that you reach for in the morning. No one jumps up from a nap and runs to see an advertisement.

      Advertising isn't just the disruption of aesthetics, the…

    • toast0Feb 2026

      <3 I always love seeing your comments and questions, too!

      Well on the subject of PHP, I think I've got a nice story.

      The more recent one is about Wordpress. One day, I had this conversation:

      Boss: "will the blog stay up?"

      toast0: "yeah, nobody goes to the blog, it's no big deal"

      Boss: "they will"

      toast0: "oh, ummmm we can serve a static index.html and that should work"

      Later that day, he posted https://blog.whatsapp.com/facebook I took a snapshot to serve as index.html and the blog stayed up. A few months later, I had a good reason to tear out WordPress (which I had been wanting to do for a long time), so I spent a week and made FakePress which only did exactly what we needed and could serve our very exciting blog posts in something like 10-20 ms per page view instead of whatever WordPress took (which was especially not very fast if you hit a www server that wasn't in the same colo as our database servers). That worked pretty well, until the blog was rewritten to run on the FB stack --- page weight doubled, but since it was served by the FB CDN, load time stayed about the same. The process to create and translate blog entries was completely different, and the RSS was non-compliant: I didn't want to include a time with the date, and there is/was no available timeless date field in any of the RSS specs, so I just left the time out ... but it was sooo much nicer to run.

      Sadly, I haven't been doing any large scale optimization stuff lately. My work stuff doesn't scale…

    • lectrickJul 2015

      Granted this is speculation, but I've done my homework:

      1) Extreme concurrency due to Erlang underneath, which means not only being able to handle lots of connections at once, but very good DDoS resistance. See WhatsApp's blog post about it: http://blog.whatsapp.com/196/1-million-is-so-2011 An Elixir (or Erlang) process can fire up a million new nodes in a second on commodity hardware. No joke. The out-of-the-box concurrency in Elixir replaces many tools in Ruby that are normally separate gems: http://www.smashcompany.com/technology/ruby-concurrency-needs-microservices-but-not-elixir

      2) Near-100% uptime possible. (Google "Whatsapp uptime"). Erlang was designed to run cell networks. It made them very reliable. The entire philosophy of the language is to "embrace failure, log it and try again ASAP." This ends up being a very good strategy when dealing with the uncertainty of the real world, and things like security concerns.

      3) Live code upgrades without downtime. See this demo: https://youtu.be/96UzSHyp0F8

      4) MUCH nicer syntax than Erlang. Especially for ex-Rubyists. It's a functional language (with all the advantages that provides) with a Ruby-flavored syntax. Best of all worlds.

      5) Phoenix, the Rails-equivalent web API, has come out of the gate with a 2 to 10x performance improvement over Rails using a fraction of the CPU load: http://www.littlelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails/

      6) Elixir provides true macros (in the Lisp sense). It…

    • sjyMay 2023

      An excellent source of information on the motives of UK legislators for passing this legislation, other than the incompetence and malice hypothesised in the other comments, is this parliamentary research briefing from 2022 [1], which summarises the previous five years of consultation and links to a heap of previous white papers and critical responses.

      The "news" is that on 17 April 2023, the heads of WhatsApp, Signal and other companies published an open letter questioning "the Government's stated intention to protect end-to-end encryption and respect the human right to privacy" [2], and on 27 April 2023, a member of the House of Lords said that "services such as WhatsApp will potentially leave the UK" [3] if the Bill is passed. The debate is actually pretty informed and a refreshing antidote to the cynicism about democracy expressed elsewhere, until you recall that the House of Lords is not that democratic.

      [1]: https://commonslibrary.parliament.uk/research-briefings/cbp-9506/

      [2]: https://blog.whatsapp.com/an-open-letter

      [3]: https://hansard.parliament.uk/Lords/2023-04-27/debates/AC7C700F-39F3-406C-854C-0EA6F3E3E911/OnlineSafetyBill#contribution-BE0861B9-7976-47A7-BE8D-C8AC25BBB896

    • josevalimMay 2012

      > Then, an opportunity arose to use Elixir but, because of its early stage (this was right between 0.3 and 0.4), I couldn't deploy it in a production environment, so I ended up choosing Clojure.

      At the time (and still today) I would probably have done the same. We still need a couple more months before we can stamp "Production Ready" in it.

      > No need to; one could just adapt ClojureScript to spit out Erlang. It would depend on the JVM and wouldn't support native macros, but it would work ok, I guess.

      I guess I can eventually take a look at this as well for fun. :)

      > I understand it might be premature, but I would love to know what kind of projects/developers is Elixir attracting?

      My background is web development, so expect something in this area in the future. It always amazes me how people like the What's App guys can get 2 million TCP connections in a single Erlang node (source: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/). With web sockets and native clients becoming more and more common, having powerful abstractions around TCP connections seems like a good idea.

    • rdtscOct 2013

      I got to about 500K processes on Erlang's VM on an i7 with lots of memory.

      These people people got up to 2M concurrent TCP connections

      http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

      And on top of it, it is using isolated heaps. That is beautiful I think. Completely concurrent GC is beautiful.

      I know Erlang syntax is not to for everyone's taste (I do like it though). There is also Elixir (http://elixir-lang.org/). But the underlying BEAM VM is an awesome piece of technology.

      > The thought was to have a billion threads on a SPARCStation 10

      There are some green-thread C libraries I've been playing with, like Protothreads ( http://dunkels.com/adam/pt/index.html ) and libconcurrency ( https://code.google.com/p/libconcurrency/ ) I think they use setjump/longjump trick. Some use setcontext()/getcontext() POSIX call.

      I still like Erlang VM best.

    Related

    Google Blogblog.google2.1k people

    Gemini 3

    Google Blog
    Company · last shared 2026
    Signal Blogwhispersystems.org315 people

    WhatsApp's Signal Protocol integration is now complete

    Signal Blog
    Company · last shared 2017
    Zoom Blogblog.zoom.us107 people

    Zoom to bring end-to-end encryption to all users, including non-paying

    Zoom Blog
    Company · last shared 2023
    Coinbase Blogblog.coinbase.com383 people

    Container technologies at Coinbase: Why Kubernetes is not part of our stack

    Coinbase Blog
    Company · last shared 2022
    Microsoft TechNet Blogsblogs.technet.com428 people

    Nokia acquired by Microsoft

    Microsoft TechNet Blogs
    Company · last shared 2021
    Dropbox Blogblog.dropbox.com182 people

    Thank You, Guido

    Dropbox Blog
    Company · last shared 2026
    Android Developers Blogandroid-developers.blogspot.com277 people

    Android Studio 1.0

    Android Developers Blog
    Company · last shared 2016
    Reddit Blogredditinc.com105 people

    New on Reddit: Comment search, improved search results relevance, search design

    Reddit Blog
    Company · last shared 2026