¿Cuáles son algunos de los mejores ejemplos de aplicaciones libres de errores en iOS y Android?

WhatsApp (ahora propiedad de Facebook) es un ejemplo de una aplicación que, a todos los efectos prácticos, está libre de errores, tanto en Android como en iOS.

Más allá de estar libre de errores, el enfoque de WhatsApp para diseñar su producto es radicalmente diferente de Facebook y Google, y de eso habla esta respuesta. WhatsApp tenía un equipo de 62 personas cuando llegaron a mil millones de usuarios. La efectividad del equipo de ingeniería de WhatsApp es de lo que están hechas las leyendas de Silicon Valley.

Un ejemplo de la efectividad del equipo de ingeniería de WhatsApp: antes de que Facebook adquiriera WhatsApp, el equipo de ingeniería de Facebook intentó durante meses reducir la latencia de Facebook Messenger (es decir, tiempo para entregar mensajes) a los niveles de WhatsApp o mejor, y finalmente se rindió, porque no pudieron vencer o mejorar a WhatsApp niveles de latencia Después de eso, Facebook disolvió ese equipo y se rumorea que las cabezas rodaron debido a su incapacidad para igualar o mejorar WhatsApp. Hay respuestas anónimas en Quora de personas de los equipos de ingeniería de WhatsApp y Facebook que comparten sus experiencias y puntos de vista (incluidos algunos que he vinculado a continuación).

Algunos antecedentes: escribo esta respuesta y comparto referencias, de años de experiencia personal usando, estudiando y entendiendo WhatsApp desde años antes de su lanzamiento en Android, cuando solo existía en el sistema operativo Symbian de Nokia, que en ese momento era el sistema operativo móvil más popular del mundo plataforma.

La primera vez que utilicé WhatsApp en mi Nokia E61 en el sistema operativo Symbian fue cuando se lanzó en 2009, cuando estaba prácticamente libre de errores: todavía había fallas menores no en las características sino en aspectos subyacentes no funcionales como la administración de memoria, donde uno se preguntaría si a veces WhatsApp consume mucha memoria y reinicia el teléfono.

Posteriormente, he estado usando WhatsApp en Android desde 2012 (en mi Galaxy Note-1); y en iOS desde 2015, y hasta ahora no he encontrado ni un error significativo o notable.

¿Qué hace que WhatsApp esté libre de errores y sea tan increíble con un equipo tan pequeño?

WhatsApp para iOS

WhatsApp para Android

Creo que la falta de errores de WhatsApp es el resultado de:

(a) una cultura de ingeniería dedicada a la perfección del producto

(b) así como una base de usuarios instalada tan grande que los errores se eliminan muy pronto después de ser detectados, mucho antes de que el error sea visible para usuarios como yo.

Esto último también ocurre porque con productos como WhatsApp, por lo general, la aplicación se implementa como una implementación por etapas, que no impulsa la actualización a todos los usuarios a la vez, sino primero a una pequeña fracción de usuarios posiblemente elegida al azar y luego a más usuarios. finalmente, la actualización se envía a todos los usuarios en todo el mundo al solicitarles que actualicen el producto antes de una fecha límite específica o que experimenten un producto bloqueado que no funciona hasta que una persona se actualice.

Aquí hay un poco más sobre la cultura de ingeniería de WhatsApp y

(1) Cómo el enfoque de WhatApp para el producto es diferente de Google y Facebook.

Cuando WhatsApp fue adquirida por Facebook por $ 19 mil millones, la popular aplicación de mensajería tenía unos 35 ingenieros y 450 millones de usuarios.

Dos años después, WhatsApp cuenta con más de 900 millones de usuarios, con 42 mil millones de mensajes enviados cada día, lo que equivale a aproximadamente un millón de mensajes cada dos segundos.

Pero a diferencia de los titanes tecnológicos como Google, Amazon o incluso el propio Facebook, WhatsApp todavía se comporta como una pequeña y pequeña startup.

A pesar de su éxito masivo y la financiación de Facebook, WhatsApp ahora tiene 57 ingenieros, en total. Ese pequeño tamaño ayuda a la organización a mantenerse ágil, pero también requiere que todo el equipo esté en la misma página, explicó el ingeniero de software de WhatsApp, Rick Reed, en la conferencia F8 de hoy.

“La cultura realmente tiene mucho que ver con nuestra capacidad de escalar”, dice Reed.

Por encima de todo, dice Reed, WhatsApp se basa en el “enfoque”, que en broma llama “la otra palabra f”. Deja que Messenger, Google Hangouts y similares creen aplicaciones complejas, dice, pero WhatsApp se enfoca en hacer la aplicación de chat más simple y confiable.

“Nuestra misión es proporcionar una herramienta de comunicación simple, rápida y confiable sin muchas campanas y silbatos adicionales”, dice Reed.

Reed lo llama “solo ingeniería suficiente”, como en el caso de que la compañía realiza el esfuerzo y los recursos suficientes para mantenerse fiel a ese enfoque, y es una filosofía que guía a toda la compañía.

‘Cultura sin reunión’

Reed elogia la “cultura de no reunión” interna de WhatsApp, que se esfuerza (pero no siempre logra, admite) eliminar las reuniones por completo. En cambio, los empleados de WhatsApp preferirían usar “varios programas de chat” para hablar entre ellos constantemente, dentro de pequeños grupos de proyectos.

“Realmente nos permite mantenernos enfocados en lo que estamos haciendo y realmente contribuye a una oficina muy tranquila”, dice Reed.

De hecho, cuando solo tienes 57 ingenieros, significa que no puedes simplemente arrojar cuerpos a un problema como podría ser la nave nodriza de Facebook, explica Reed. Requiere una planificación cuidadosa y la asignación de recursos y tiempo de ingeniería, dice, pero el resultado final es un equipo que se adapta a la tarea en cuestión.

“Trabajamos muy duro para lograr que las personas adecuadas lleguen a los puestos correctos”, dice Reed.

‘No estoy aquí ahora’

Otra compensación viene bajo el capó. Empresas como Google han visto crecer su infraestructura informática a lo largo de los años para acomodar nuevas funciones y cantidades masivas de datos, hasta el punto en que tuvieron que invertir millones en la automatización de grandes porciones de ella, solo para mantener el ritmo.

Mientras tanto, WhatsApp prefiere mantener su infraestructura lo más pequeña posible. Con tan pocos ingenieros disponibles, una huella más pequeña simplemente significa menos cosas que pueden salir mal. Tal vez requiera más intervención humana, pero también significa mayor confiabilidad y una respuesta más rápida para agregar o corregir su código.

“No invertimos mucho en automatización, excepto en aquellos lugares donde es totalmente necesario”, dice Reed. “Realmente nos gusta tener al humano al tanto”.

Otra clave importante para mantenerse enfocado, dice Reed, es no gastar mucho tiempo en marketing, prensa o hablar en conferencias de desarrolladores. WhatsApp “evitó la mayor atención posible” antes y desde la adquisición de Facebook, señaló.

(2) Aquí hay otra pieza, desde hace casi 5 años, sobre cómo el equipo de WhatsApp logró escalar su arquitectura a millones de conexiones simultáneas:

(3) Una respuesta de Quora sobre las fortalezas del equipo de ingeniería de WhatsApp.

¿Qué tan fuerte es el equipo de ingeniería en WhatsApp?

(4) La arquitectura de WhatsApp que Facebook compró por $ 19 mil millones – Alta escalabilidad –

(5) Facebook para desarrolladores: una mirada a WhatsApp: Ingeniería para el éxito a escala

Referencias

(1) WhatsApp de Facebook hace algo muy diferente a Google

Ni siquiera existe una aplicación de este tipo.

Ni siquiera una sola compañía podría crear una aplicación completamente libre de errores hasta el momento. Siempre habrá algunos problemas y errores menores debido a la naturaleza fragmentada del ecosistema móvil (especialmente Android) a pesar de que las empresas probaron las aplicaciones a través de diversos medios. Las mejores aplicaciones en Google Play y App Store no están completamente libres de errores, sino que tienen un conjunto raro de errores que afectan a un número mínimo de usuarios. Las empresas están utilizando herramientas de análisis de fallas como FireBase para detectar los eventos de fallas de la aplicación y solucionar los problemas en las nuevas actualizaciones de las aplicaciones.

En primer lugar, me gustaría señalar que no existe tal cosa como un “software libre de errores”.

Cada software tiene errores, no importa si está hecho para iOS, Android, Windows o Mac.

Aún así, hay algunas aplicaciones que uso casi a diario que tienen errores mínimos:

  1. WhatsApp (no encontré ningún error que me preocupe todavía)
  2. Instagram (tiene una falla o dos, pero es muy improbable que te encuentres con ellos, ya que yo solo los enfrenté una o dos veces hasta ahora)
  3. Quora (hay algunos problemas técnicos aquí, pero no obstaculizan mucho la experiencia del usuario)
  4. Aplicaciones de correo para iOS (a veces, incluso después de marcar todos los correos como leídos, muestra una insignia de recuento de correos no leídos en el icono de la aplicación, pero ese es el único que encontré hasta ahora)

Estos son solo algunos, agregarán más a la lista más adelante.

Espero que haya ayudado 🙂

Editar: Gracias Usuario-12776763845184008334 por sugerencias en cada línea 😛