En este artículo te contamos sobre el proceso de desarrollo de aplicaciones móviles de mensajería. Estás a punto de descubrir en qué etapas consta este proceso, qué funciones debes implementar en la aplicación de mensajería, cuánto tiempo (y dinero) requerirá y qué factores influyen en el costo de desarrollo.
Una vez que haya elegido un socio técnico para la creación del mensajero, su proceso de cooperación se desarrollará de acuerdo con el siguiente algoritmo:
Autorización. El proceso de autorización en aplicaciones de mensajería se realiza con la ayuda de un número de teléfono, correo electrónico o una cuenta en Facebook, Apple y Google. La aplicación suele requerir confirmación a través de un enlace o SMS. Por ejemplo, cuando un usuario ingresa sus datos (número de teléfono) en WhatsApp, la aplicación le envía un SMS, que se procesa automáticamente en la aplicación. Esto es muy conveniente.
Perfiles de usuario. Los usuarios pueden agregar allí contactos de sus familiares, amigos, colegas y conocidos. También pueden agregar una imagen de usuario y una breve descripción sobre ellos mismos y/o su trabajo y ver el historial de mensajes. Además, la conexión con atención al cliente y funciones o compras/seguidos en aplicaciones para intercambiar mensajes también suelen implementarse en los perfiles de usuario.
Configuración de la aplicación de mensajería. En esta sección, los usuarios pueden activar o desactivar las notificaciones de lectura de mensajes, cambiar una imagen de usuario o un nombre de perfil, cambiar el número de teléfono, agregar nuevos dispositivos, administrar contactos bloqueados, cambiar el estado, eliminar sus cuentas, configurar los parámetros del perfil, por ejemplo, notificaciones de chat, etc. Además, debe brindar a los usuarios de Messenger la posibilidad de establecer un nivel de confidencialidad de sus mensajes y datos.
Importando contactos. Esta función le permite transferir su lista de contactos desde la aplicación de mensajería WeChat, WhatsApp, Facebook Messenger, Telegram, Skype, tarjetas SIM u otra fuente a su aplicación con unos pocos clics. Además, está ganando popularidad la función de intercambio rápido de contactos seleccionados con personas cercanas a través de chat, SMS o comunicación inalámbrica (Wi-Fi, Bluetooth). Puedes hacerlo con la ayuda de un código QR o una acción especial: agitar simultáneamente los teléfonos cercanos.
También debes crear un mecanismo de comparación de contactos de fuentes externas con los registros de la base de datos de la aplicación. Si se encuentra una coincidencia, la aplicación no transferirá este contacto a su base, lo que permite evitar la duplicación de contactos en el listado de contactos de la aplicación de mensajería (es un problema común e irritante).
Mensajes de texto instantáneos. Esta es la característica principal de la mayoría de las aplicaciones de mensajería, incluso si se consideran aplicaciones para mensajes de audio o video: las personas envían mensajes de texto con más frecuencia.
Puede implementar esta característica de dos maneras. El primero implica que los mensajes de los usuarios pasan a través del servidor y se almacenan allí. En consecuencia, la interacción entre los usuarios y el servidor se realizará a través del protocolo HTTPS con criptografía SSL. La segunda opción implica que los mensajes se enviarán de usuario a usuario. La única autenticación la realiza el servidor central.
Llamadas de audio y vídeo. A pesar de que la idea principal de las aplicaciones de mensajería son los mensajes de texto instantáneos, a la mayoría de los usuarios les gustaría tener la posibilidad de comunicarse de otras formas de vez en cuando. Esta función se puede implementar en las siguientes variaciones: solo llamadas y mensajes de audio, solo videollamadas y mensajes, o llamadas y mensajes grupales de audio y video.
Técnicamente, esta funcionalidad se puede implementar de varias formas. Por ejemplo, WhatsApp está utilizando una biblioteca de comunicación multimedia con un PJSIP de código abierto para implementar la transmisión de voz y audio a través de IP (VoIP). PJSIP está escrito en C y utiliza una API de alto nivel que combina el protocolo de señalización SIP con una estructura multimedia y una función de omisión de NAT. Esta API es adecuada para todo tipo de sistemas, incluidos los móviles.
Pegatinas, máscaras, emojis. Proporcionan mensajes con emociones y pueden hacer que la comunicación sea más viva o reemplazar frases enteras, pero sólo con la condición de que se vean bien. Si el diseño de máscaras o sonrisas no evoca buenas emociones, la gente, en el mejor de los casos, no las usará y, en el peor, eliminará su aplicación de mensajería (un escenario mucho más probable).
Geolocalización. La geolocalización se puede integrar en la aplicación de mensajería a través de la API de Google Maps o en dispositivos con Android o Map Kit para dispositivos con iOS de Apple. Esto brinda la posibilidad de determinar la región del usuario para establecer automáticamente el idioma de interfaz necesario. También puedes permitir que los usuarios compartan su ubicación y proporcionar un filtro geográfico para máscaras y emojis como en Snapchat.
Cifrado de extremo a extremo (E2EE). Si desea crear una aplicación de mensajería, debe brindar seguridad a los datos personales de los usuarios. En la mayoría de las aplicaciones, esto se logra mediante un método llamado cifrado de extremo a extremo (E2EE). Implica que un servidor no conoce las claves secretas (el sistema cifra y descifra los datos con su ayuda) y no participa en el cifrado: pasa por el servidor.
En WhatsApp, dicho cifrado se basa en el protocolo Signal, en cuya implementación se utilizan los algoritmos ECDH Curve25519, AES-256, AES-GCM, HMAC-SHA256 y HDKF. El cifrado de extremo a extremo en WhatsApp se extiende a todo tipo de mensajes: texto, audio, vídeo, archivos multimedia.
Notificación. En las aplicaciones de mensajería modernas, el usuario recibe una notificación de un mensaje personal o de un mensaje grupal a través de notificaciones de una aplicación móvil. Dependiendo de la profundidad del desarrollo de esta característica, puede ser una simple notificación push y el destello de un indicador; una notificación con el texto completo de un nuevo mensaje en la pantalla del teléfono inteligente; una notificación con el texto de un nuevo mensaje en pantalla y la posibilidad de responderlo sin abrir la aplicación de mensajería. Esta función se puede implementar a través de Google Cloud Messaging o Apple Push Notifications.
Monetización. Si tiene la intención de desarrollar una aplicación móvil para ganar dinero con ella, debe determinar de antemano un modelo de monetización. La opción más popular es una combinación de modelo freemium con publicidad.
Freemium implica que la mayor parte de la funcionalidad de la aplicación será gratuita; por tanto, los usuarios podrán enviar y recibir mensajes sin pagar nada. Pero tendrán la posibilidad de ampliar las capacidades de la aplicación comprando stickers exclusivos, aumentando el número de videollamadas, aumentando el número de miembros en llamadas grupales, etc.
Pila tecnológica y API. Es un conjunto de diversas herramientas de desarrollo que se utilizan durante la creación de aplicaciones de mensajería móvil, sitios web y otro software. La pila tecnológica generalmente se divide en frontend, backend y API. Una interfaz es una interfaz de usuario y otros elementos con los que interactúa un usuario final. Se podría decir que es todo lo que sucede en el dispositivo del usuario. A continuación se muestra un ejemplo de una pila tecnológica para el desarrollo de aplicaciones de mensajería móvil:
El backend es una parte de hardware/software del servicio responsable de la implementación de la lógica y la funcionalidad de la aplicación de mensajería fuera del dispositivo del usuario. A continuación se muestra un ejemplo de una pila tecnológica para un mensajero backend:
Ubicación del desarrollador. Es importante porque los salarios promedio de los diseñadores, programadores, analistas de negocios, gerentes de proyectos, ingenieros de control de calidad y otros especialistas de UX/UI pueden variar mucho en diferentes países. Así, el salario medio de un especialista en EE.UU. es de 95 dólares por hora, en Gran Bretaña y Europa Occidental, 67 dólares por hora, en Europa del Este, 37 dólares por hora, en Asia, 25 dólares por hora.
Curiosamente, a pesar de esta diferencia salarial, la calidad del trabajo de un especialista de Estados Unidos y Ucrania es la misma. Por este motivo, Apple, Microsoft, Dell, IBM y otras empresas informáticas estadounidenses destinan constantemente una parte del desarrollo de sus proyectos a la subcontratación a países «más baratos». Aquí está el costo estimado del desarrollo de una aplicación de mensajería móvil dependiendo de su presunta complejidad y la ubicación del desarrollador:
Desarrollar tu propia aplicación de mensajería requiere mucho esfuerzo, lo que tiene un impacto significativo en el coste. El mayor desafío es la velocidad y la escalabilidad de las aplicaciones. Cada usuario escribe de 10 a 200 mensajes cada día, adjuntando fotos, vídeos y archivos de audio. Dado que su aplicación será utilizada por miles, y posiblemente millones, de usuarios, necesita tener una arquitectura que pueda manejar millones de mensajes todos los días. Los servidores deberían escalar automáticamente a medida que aumentan los datos.
Vale la pena prestar especial atención a las funciones de audio y videollamadas. No es una tarea fácil implementar una comunicación estable bajo una carga pesada. Teniendo en cuenta los desafíos que habrá que superar, el coste de desarrollar una aplicación de mensajería oscilará entre $100 000 y $300 000 y llevará aproximadamente 6 meses de desarrollo. Si desea crear una opción más simple, donde habrá una pequeña cantidad de usuarios y capacidades limitadas, entonces el costo de dicha solución puede oscilar entre $40 000 y $80 000 y tomará de 3 a 4 meses de desarrollo.