Blog de WhatsApp

Español

Life’s Change Agent and the iPhone 3G

Many people are asking why we’ve stopped supporting the iPhone 3G. It’s because Apple has stopped supporting old iOS versions and old iPhones in their most recent version 4.5 of Xcode, which is the tool (the only tool) that engineers use to make iPhone apps.

The iPhone 3G has a special place for me in my heart – it was the first smartphone I bought in January of 2009 and it was the first phone on which we started developing WhatsApp just a month later.

Then as now, however, we must follow Apple’s lead on all things related to the iPhone. Their pace of innovation has a price of forced obsolescence.


Por qué no vendemos publicidad

Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
– Tyler Durden, Fight Club

 

Brian y yo llevamos conjuntamente más de 20 años trabajando en Yahoo!, trabajando para que el sitio funcionara bien.  Estábamos vendiendo anuncios, que era el negocio de Yahoo!. Yahoo! recolectaba datos, apoyaba sitios web y vendía anuncios.

Estuvimos en Yahoo! mientras Google nos superó en ambos tamaño y poder… era un vendedor de anuncios más eficiente y lucrativo.  La gente de Google sabían lo que buscaban, por lo tanto colectaban tus datos con más eficiencia para vender mejores anuncios.

Hoy en día estas compañías saben todo lo que hay de saber acerca de ti, tus amigos, tus intereses, y lo usan todo para vender anuncios.

Tres años atrás cuando empezamos nuestro propio negocio, quisimos crear un servicio que no era sólo otro repositorio para anuncios.  Queríamos crear un servicio que la gente quisiera usar porque les ahorraría dinero y mejoraría sus vidas en alguna manera.  Sabíamos que podríamos cobrar gente directamente si lograríamos todo eso.  Sabíamos que podríamos hacer lo que todo el mundo intenta hacer cada día: evitar anuncios.  Nadie quiere ver más anuncios.

Sabemos que la gente pasa el día, del momento que despiertan al momento que acuestan, chateando con sus amigos.  Los anuncios no tienen ninguna importancia cuando simplemente quieres hablar con alguien.

La publicidad no sólo va en contra al estético de una aplicación, sino que es un insulto a tu inteligencia y una interrupción a tus pensamientos.  En cada empresa que vende anuncios, un gran número de los ingenieros pasan sus días ajustando la búsqueda de datos, escribiendo código informático para colectar tus datos personales, actualizando los servidores donde se almacenan los datos, y asegurándose que todo está registrado y recopilado y cortado y empacado y enviado… para que el producto final sea un anuncio que es un poco más personalizado en tu navegador o pantalla móvil.

Tienes que acordarte de que en el negocio de anuncios, tú, el usuario, eres el producto. En WhatsApp, nuestros ingenieros pasan su tiempo corrigiendo errores, añadiendo nuevas funciones y arreglando complejidades para producir un mensajero vibrante, asequible y confiable para todos los teléfonos móviles en el mundo.  Eso es nuestro producto y nuestra pasión.  Tus datos privados ni nos importan.

Cuando gente nos pregunta por qué cobramos para WhatsApp, les respondemos: “¿Has contemplado el alternativo?”


Sending Places and Group Icons

Today we wanted to write a blog post about two new exciting features we have recently introduced. We hope you will enjoy them and use them frequently.

Send place

First feature is an improvement on the current “Share Location” functionality. Historically our “Share Location” functionality allowed you to send your location to your chat partner or to your group chat. It is useful if you want to share your approximate location on a map. We got a lot of feedback asking for ability to share a specific place – for example, when you waiting to meet friends in a bar, at a restaurant or some other physical place. We have added this feature on top of the existing “Share Location” functionality. Now when you use “Share Location”, you can either send your Current Location right away or wait a few seconds for places near you to load and pick from. If you haven’t used “Share Location” before, this graphics shows you how to get to Share Location menu on iPhone, BlackBerry or Android devices:

Send media

Once you enter “Share Location” menu, you will be presented with an option to send your Current Location immediately as you have always been able to in the past. Alternatively, if you wait a few seconds, you will be presented with a list of places nearby. Once you select the place to send, it will appear in the conversation. You can tap on the name of the place to get more information about it or you can tap on the map thumbnail to view the place on the map. This is what selecting places and viewing places looks like on the iPhone:

iPhone Places Menu

This is what selecting places and viewing places looks like on the Android:

Android Places Menu

This is what selecting places and viewing places looks like on the BlackBerry:

BlackBerry Places Menu

Group Icon

Second new feature we want to talk about is ability to set a Group Icon for your group chat. We wanted to give all of you the ability to personalize your group chat by attaching a custom icon to your group. For example, if you have a group chat about soccer, you can use a photo of a soccer ball as the group icon.

Anybody can set or change the group icon when viewing Group Info. This is how you get into the Group Info:

Group Info

Once you enter Group Info, simply tap or click on the Group Icon to set it or change it:

Group Icon

Thanks for reading and stay tuned for more cool and innovative features as we continue to iterate and improve our product.


It is a hoax. Really, it is.

We have been getting a lot of emails and questions from you about this chain letter message circulating in our network:

WhatsApp is going to cost us money soon. The only way that it will stay free is if you are a frequent user i.e. you have at least 10 people you are chatting with. To become a frequent user send this message to 10 people who receive it (2 ticks) and your WhatsApp logo should turn Red to indicate a frequent user.

Please understand that this is a hoax and there is no truth to it. While we are flattered that we made it to Hoax Slayer, we would rather work on cool new features instead of debunking silly stories like these.

UPDATE: this is a hoax message as well:

“Whatsapp is shutting down on 28th jan Message from Jim Balsamic (CEO of Whatsapp) we have had an over usage of user names on whatsapp Messenger. We are requesting all users to forward this message to their entire contact list. If you do not forward this message, we will take it as your account is invalid and it will be deleted within the next 48 hours. Please DO NOT ignore this message or whatsapp will no longer recognise your activation. If you wish to re-activate your account after it has been deleted, a charge of 25.00 will be added to your monthly bill. We are also aware of the issue involving the pictures updates not showing. We are working diligently at fixing this problem and it will be up and running as soon as possible. Thank you for your cooperation from the Whatsapp team”


1 million is so 2011

 

Happy 2012 everyone!

A few months ago we published a blog post that talked about our servers doing 1 million tcp connections on a single box: http://blog.whatsapp.com/?p=170

Today we have an update for those keeping score at home: we are now able to easily push our systems to over 2 million tcp connections!


jkb@c123$ sysctl kern.ipc.numopensockets
kern.ipc.numopensockets: 2277845

Best part is that we are able to do it with plenty of CPU and memory to spare and do it sustainably:


CPU: 37.9% user,  0.0% nice, 13.6% system,  6.6% interrupt, 41.9% idle
Mem: 35G Active, 14G Inact, 18G Wired, 4K Cache, 9838M Buf, 27G Free

 

This time we also wanted to share some more technical details with you about hardware, OS and software:


hw.machine: amd64
hw.model: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
hw.ncpu: 24
hw.physmem: 103062118400
hw.usermem: 100556451840


jkb@c123$ uname -rps
FreeBSD 8.2-STABLE amd64
jkb@c123$ cat /boot/loader.conf.local
boot_verbose=""
kern.hwpmc.nbuffers=32
kern.hwpmc.nsamples=64
kern.ipc.maxsockets=2400000
kern.maxfiles=3000000
kern.maxfilesperproc=2700000
kern.maxproc=16384
kern.timecounter.smp_tsc=1
net.inet.tcp.tcbhashsize=524288
net.inet.tcp.hostcache.hashsize=4096
net.inet.tcp.hostcache.cachelimit=131072
net.inet.tcp.hostcache.bucketlimit=120

and the last important piece of our infrastracture is Erlang:

8> erlang:system_info(system_version).
"Erlang R14B03 (erts-5.8.4) [source] [64-bit] [smp:24:24] [rq:24] [async-threads:0] [kernel-poll:false]\n"

 

P.S. – we are hiring in both client and server teams, so send your resume to jobs at whatsapp dot com if you are interested (.. and we are also looking for summer interns)


one billion messages

 

Coinciding with our planet crossing the 7 billion population mark this week, last week WhatsApp crossed its own milestone for the first time by sending just over 1 billion messages in a single day.  Similar to the awe we feel that our planet will now hold over 7 billion people, all of us at WhatsApp are extremely humbled and excited about the future.

Just how much is 1 billion messages? That is 41,666,667 messages an hour, 694,444 messages a minute, and 11,574 messages a second.

1 billion messages a day is a significant milestone and also a small step closer towards our goal: providing a great mobile messaging system for a global market, regardless of your handset.

The loyalty and passion consumers have for our product leaves us feeling great gratitude, we really couldn’t do it without you.

 


Windows Phone = SIX

On Saturday September 25th, after months of hard work, our Windows Phone client went live in the Marketplace!

WhatsApp Messenger for Windows Phone is available to those running version 7.5 (Mango) release on their device. We are sorry if you don’t have Windows Phone 7.5 yet, but very soon all of the current Windows Phone 7.0 devices will get upgraded to 7.5 and you will be able to download and enjoy our app.

Also, Windows Phone client release brings our total supported mobile platforms to SIX! Just to recap, they are:

  • iPhone (OS 3.1 or newer)
  • Android (OS 2.1 or newer)
  • BlackBerry (OS 4.5 or newer)
  • Nokia Symbian S60 (3rd Edition Feature Pack 1 or newer)
  • Nokia S40 (6th edition or newer)
  • Windows Phone (OS 7.5 or newer)

We are extremly excited to add Windows Phone to the list of supported platforms. Stay tuned for more features and improvements…


ONE MILLION!

We usually don’t use this blog to talk about the technology stack behind WhatsApp, but today we wanted to share with you an awesome milestone we have reached.

Over the past few months we have been making a lot of improvements to our servers to increase the performance, uptime and scalability. Today we have tuned some knobs, shifted some traffic around and achieved 1 million established tcp sessions on a single machine (and with memory and cpu to spare!)

$ netstat -an | grep -c EST
1016313

We are extremly proud of this achievement and wanted to share with other tech minded people out there.  For those curious how we did it, the technology on the backend is simple: FreeBSD + Erlang

P.S. – we are hiring in both client and server teams, so send your resume to jobs at whatsapp dot com if you are interested.


Nokia S40

Today we are happy to announce the public beta release of WhatsApp Messenger for the Nokia S40 platform.  You can download it by visiting http://www.whatsapp.com/s40/ from your Nokia S40 phone  (we are only supporting Nokia C3-00 and Nokia X2-01 phones at the moment, but we plan to add support for more S40 devices in the future)

As with any beta software, we need your help finding and reporting bugs – so please email s40-support at whatsapp dot com if you run into any problems with WhatsApp Messenger on your Nokia S40 phone.  You can also contact us directly from the app via Options > About > Contact (that is preferred method when reporting bugs)

Please keep in mind that the product is still in beta and has limited functionality when it comes to multi-media or group chat.  We plan to continue development efforts to further improve the application by fixing existing bugs and adding new features.  Stay tuned…


Group chat

It took us slightly longer, but group chat is finally here.  If you have an iPhone, BlackBerry or Android phone, simply upgrade to version 2.6 of our software to enjoy group chat.  If you have a Nokia Symbian S60 phone, we are working on adding group chat to our Symbian client and hope to release it shortly.

Here are a few important notes on group chat:

  • currently group chat is limited to 5 people.  in the future we will increase this limit.
  • you can exit a group chat that you are in at any time.  simply delete the group conversation from the main Chats window to do that.
  • you can control group chat alerts and notifications separately from individual messages.

we are continuing to work on adding more cool group chat features and fixing bugs…  if you have any group chat feedback, let us know.

- WhatsApp Team