Así es como WhatsApp adaptó su aplicación para Kaios

Realmente no hemos hablado mucho sobre KaiOS aquí, pero el sistema operativo ahora está instalado en más de 100 millones de teléfonos, lo que lo convierte en el tercer sistema operativo móvil más grande del mundo. KaiOS es una bifurcación de Firefox OS que está diseñada para teléfonos con funciones, y en los últimos tres años ha visto un aumento meteórico debido a dispositivos como el JioPhone de $ 15 en India y el 8110 de Nokia.

Si bien los teléfonos Android de nivel de entrada han mejorado mucho a lo largo de los años, particularmente con la introducción de Android Go, todavía hay decenas de millones de usuarios que recurren a teléfonos con funciones por su asequibilidad. Y con KaiOS, los teléfonos con funciones ahora vienen con un navegador web, una tienda de aplicaciones dedicada e incluso el Asistente de Google integrado.

Luego está WhatsApp. La plataforma de mensajería propiedad de Facebook hizo su debut en KaiOS en 2018, estuvo ampliamente disponible el año pasado y ahora está preinstalada en los teléfonos KaiOS en todo el mundo. WhatsApp ya cuenta con decenas de millones de usuarios en KaiOS, y eso no es sorprendente si se considera que el servicio tiene 400 millones de usuarios solo en India. Los teléfonos KaiOS están destinados a la India y otros mercados emergentes en el Medio Oriente y África, y estos son países donde el uso de WhatsApp es omnipresente.

WhatsApp en KaiOS es muy similar a lo que encontrarás en Android. Obtiene todas las funciones de mensajería, incluidos chats grupales y muchos extras. La mejor parte es que el cliente KaiOS también tiene encriptación de extremo a extremo, al igual que la versión de Android. Así que hablé con Joe Grinstead, líder de ingeniería de software de WhatsApp en KaiOS, sobre cómo se adaptó el servicio para KaiOS y qué podemos esperar en el futuro.

WhatsApp se ha creado desde cero para KaiOS.

KaiOS presenta un desafío único por el hecho de que está diseñado para ejecutarse en hardware de bajo costo. La mayoría de los teléfonos con funciones basadas en el sistema operativo tienen 256 MB o 512 MB de RAM y almacenamiento interno de hasta 4 GB. Y debido a que no hay pantalla táctil, toda la navegación en la interfaz de usuario está en un teclado direccional y el texto se ingresa a través de un teclado T9.

Grinstead mencionó que como KaiOS está construido a partir de Firefox OS como una bifurcación, es esencialmente un navegador web que tiene HTML5 y JavaScript. Entonces, la mayoría de las veces, una aplicación para KaiOS no es más que una versión móvil de un sitio web que se almacena localmente en el dispositivo. Pero como WhatsApp no ??tiene un sitio móvil, la aplicación para KaiOS tuvo que construirse desde cero. Y aunque WhatsApp parece simple y tiene una interfaz básica, tiene una lista exhaustiva de funciones en Android. Para darle una idea, esta es solo una lista de las funciones populares que se ofrecen ahora:

Fuente: WhatsApp (Crédito de la imagen: Fuente: WhatsApp)

Grinstead dijo que su equipo tenía que concentrarse en las funciones que realmente podían ofrecer en la plataforma y hacer que funcionaran de manera confiable, decidiéndose por un "producto mínimo viable" con el que pudieran lanzar y aún así llamarlo WhatsApp. Como tal, faltan algunas características de WhatsApp en KaiOS, incluidas llamadas de voz y video, WhatsApp Web, copias de seguridad de chat, tonos de notificación personalizados y más.

Dicho esto, todas las características principales están aquí. Obtiene chats individuales y grupales, la capacidad de compartir fotos y videos, compartir contactos y ubicaciones, transferir dinero a través de UPI en India y mensajes de voz. Grinstead mencionó que la función de mensajes de voz en particular se usa mucho en KaiOS porque es más fácil que el teclado T9.

La función de estado de WhatsApp se implementará en KaiOS en breve.

Grinstead y su equipo están trabajando para agregar más funciones a WhatsApp para KaiOS. La función de estado está en "Gold Master", lo que significa que está lista para implementarse en la plataforma. Es un gran problema que la función esté llegando a KaiOS, y Grinstead declaró que su equipo está trabajando para introducir más funciones en la plataforma en los próximos meses. Es poco probable que veamos una paridad de funciones con Android que simplemente no es posible dadas las limitaciones con KaiOS, pero es bueno ver que WhatsApp está trabajando activamente en la adición de nuevas funciones.

El hecho de que los teléfonos KaiOS ejecuten hardware de gama baja significa que WhatsApp tuvo que optimizar la aplicación para asegurarse de que no tuviera problemas de rendimiento. Grinstead dijo que la estructura de la base de datos tuvo que reescribirse porque el rendimiento era terrible una vez que el teléfono se llenaba de datos. Llevaría alrededor de 20 segundos abrir WhatsApp en KaiOS, y debido a que no hay multitarea en la plataforma, cada vez que abre la aplicación, debe esperar a que se inicie. El hardware no es lo suficientemente robusto para ejecutar aplicaciones en segundo plano.

La optimización de la estructura de la base de datos permitió a Grinstead y su equipo reducir el tiempo de lanzamiento a tres segundos. Otras optimizaciones incluyen mostrar una versión de baja calidad de una foto en lugar de la resolución original para ahorrar ancho de banda, y hay límites similares que estableció WhatsApp para el uso de RAM en la plataforma de 50 MB en el JioPhone y 35 MB en otros dispositivos. KaiOS normalmente permite 1 GB para aplicaciones, pero debido a que WhatsApp almacena datos localmente, obtiene una asignación adicional de 1 GB para almacenar textos y medios. La aplicación también muestra una advertencia de almacenamiento bajo en KaiOS que le brinda la opción de liberar espacio. Curiosamente, también existe la posibilidad de escribir de forma nativa en una tarjeta SD.

Luego está el problema de la navegación en sí: debido a que hay un espacio de pantalla limitado en un teléfono con funciones y la resolución suele ser de 320 x 240 píxeles, la interfaz de usuario de WhatsApp tuvo que reducirse para adaptarse a los límites de la pantalla. Las maquetas a continuación ilustran bien el punto:

Fuente: WhatsApp (Crédito de la imagen: Fuente: WhatsApp)

Ahora, WhatsApp se diferencia de la mayoría de las plataformas de mensajería en que todos sus datos se almacenan localmente. Debido a que tiene encriptación de extremo a extremo, todos los datos asociados, incluidos chats y multimedia, se almacenan en el dispositivo en lugar de en un servidor. Luego está el problema de las notificaciones automáticas: debido a que KaiOS es efectivamente un navegador, WhatsApp tiene que administrar las notificaciones automáticas sobre HTML5, y Grinstead señaló: "No sé si alguien más está haciendo notificaciones automáticas HTML5 con algo tan complicado como WhatsApp".

El cifrado de extremo a extremo es un gran problema, especialmente en un teléfono con funciones.

Como explicó Grinstead, eso se debe a que el texto que aparece en la notificación debe descifrarse localmente; el servidor no proporciona una vista previa del texto entrante debido al cifrado de extremo a extremo. WhatsApp se basa en el protocolo Signal para el cifrado de extremo a extremo, y el propio protocolo libsignal ahora está integrado en KaiOS, lo que facilita mucho la entrega de chats totalmente cifrados.

Uno de los principales problemas con el cifrado de extremo a extremo son los chats grupales que su teléfono esencialmente tiene que crear apretones de manos uno a uno con todos en un grupo antes de enviar un mensaje. Grinstead afirmó que el primer mensaje que envía a un grupo es el más complicado, porque es cuando ocurren muchos de los primeros apretones de manos. Debido a los recursos limitados que se ofrecen, Grinstead y su equipo tuvieron que modificar las notificaciones de entrega para que no fallaran el teléfono. En lugar de enviar toda la información a la vez, el servidor de entrega ahora espera que el teléfono reconozca que hay suficiente RAM para manejar las solicitudes entrantes.

En cuanto a las funciones que aún faltan, Grinstead dijo que las llamadas de voz han sido "particularmente desafiantes". No hay una línea de tiempo sobre cuándo (o si) la función estará disponible en KaiOS. La otra omisión notable es WhatsApp Web y, de manera similar, no hay ninguna actualización sobre cuándo aparecerá en KaiOS.

WhatsApp se lanzó en KaiOS en julio de 2019 y acumuló un millón de descargas en poco menos de 24 horas. Tenía 10 millones de usuarios en dos semanas, y la compañía dice que ahora tiene "decenas de millones" de usuarios en KaiOS. Mozilla está nuevamente involucrado con KaiOS, y eso debería permitir que la plataforma cambie a un nuevo motor con funciones web más modernas incorporadas.

Eso debería darle a WhatsApp más margen de maniobra para introducir nuevas funciones. Como resultado, incluso podemos ver llamadas de voz en la plataforma.

WhatsApp: Todo lo que necesitas saber

Video:

Ir arriba