Hermeia

Un mensajero de equipo que funciona en Android e iOS desde un solo código. Servidores, canales, hilos, roles, MD y grupos - el conjunto completo, fluido como Telegram. Distribución fuera de las tiendas, bajo el control del propietario.

Hermeia
TL;DR

Hermeia es un mensajero pensado para reemplazar a Discord en un equipo: servidores, canales, hilos, roles, MD y grupos. En el teléfono tiene que ser tan fluido como la competencia, porque si no nadie se cambia. Android e iOS desde una sola base de código, y distribución fuera de las tiendas - así que también tuvimos que construir nuestro propio mecanismo de actualización.

Introducción

Hermeia es un mensajero pensado para reemplazar a Discord en un equipo: servidores con canales, hilos, roles con permisos, mensajes privados y de grupo. Un mensajero no es nada nuevo en sí mismo - y precisamente por eso es difícil.

La gente no lo compara con un ideal abstracto sino con el Discord y el Telegram que usa a diario y tiene en los dedos. Si la lista de conversaciones se desplaza con tirones o abrir un canal tarda un instante de más, el cambio se acaba en la primera semana, antes de que nadie aprecie ninguna otra cosa.

La aplicación para Android e iOS nace de una sola base de código, para que un equipo mantenga una sola fuente de verdad y no dos aplicaciones que divergen. Y como Hermeia se difunde fuera de las tiendas, a todo esto se sumó una tarea más: nuestro propio mecanismo de actualización.

La vara la pone Telegram

El primero de los dos problemas difíciles es la fluidez. Aquí no hay descuento: un usuario que a diario desplaza miles de mensajes en Telegram sentirá cada tirón en una fracción de segundo. La lista de mensajes tiene que desplazarse limpiamente con un historial largo, y las transiciones entre pantallas tienen que ser instantáneas.

Fluidez del desplazamiento con historial largo (ilustrativo, fps)

Una página en una WebView
34
Nativo, una base de código
60

No es cosmética que estaría "bien tener". Para un mensajero la fluidez es una función básica - tan importante como que un mensaje llegue siquiera. Una aplicación que da tirones se percibe como rota, aunque haga todo lo demás bien.

Una base de código y distribución sin tienda

El segundo problema es la distribución. Hermeia se difunde fuera de las tiendas oficiales, así que no tenemos el cómodo canal de actualización que una tienda da gratis. Como nadie enviará una nueva versión al usuario por nosotros, tenemos que hacerlo nosotros mismos - y de modo que actualizar no sea doloroso.

A esto se suma la decisión de una sola base de código para ambas plataformas. Mantener dos aplicaciones separadas para Android e iOS es el doble de trabajo y el doble de espacio para una divergencia - un arreglo en una plataforma que nunca llegó a la otra. Una única base de código con lógica y modelo de datos comunes quita ese peso, mientras que el acabado nativo se queda donde la diferencia de plataforma de verdad se ve.

Dos aplicaciones frente a una base de código

AspectoDos aplicaciones separadasUna base de código (Hermeia)
Mantenimientoel doble de trabajoun equipo, una fuente
Riesgo de divergenciaun arreglo se pierde en una plataformala misma lógica en ambas
Modelo de datosdos veces el mismocomún
Acabado nativopor separadonativo donde la diferencia se ve
!
Atención

La distribución fuera de las tiendas es una elección deliberada con un precio: no hay actualizaciones automáticas de la tienda, así que una versión vieja puede quedarse mucho tiempo en el teléfono de alguien. Por eso la comprobación de versión y un aviso de actualización claro no son un añadido - son parte de cómo funciona la aplicación.

El modelo completo de Discord, no un subconjunto recortado

Sería fácil sacar un mensajero con la mitad de las funciones y añadir el resto "después". Pero un equipo que debe cambiarse desde Discord compara uno a uno: si faltan los hilos o los roles con permisos, lo ve al instante y vuelve a la herramienta vieja. Por eso desde el principio reprodujimos el modelo completo que el equipo usa de verdad.

Servidores con canales, hilos, roles y permisos, mensajes privados y de grupo - no es un fragmento elegido de Discord, sino todo el esqueleto sobre el que se apoya la comunicación diaria. Sin él, un "reemplazo" es un reemplazo solo de nombre.

1
Una base de código, dos plataformas

Android e iOS desde una sola base, lógica y modelo de datos comunes, acabado nativo donde la diferencia de plataforma de verdad se ve.

2
El modelo completo de Discord

servidores, canales, hilos, roles con permisos, MD y grupos; no un subconjunto recortado, sino lo que un equipo usa de verdad.

3
La fluidez como requisito, no como deseo

listas de mensajes y canales diseñadas para un desplazamiento constantemente fluido, sin tirones con historial largo.

4
Nuestro propio mecanismo de actualización

como la distribución va fuera de las tiendas, la aplicación comprueba si existe una versión más reciente y guía al usuario por la actualización.

La actualización que nadie enviará por nosotros

Al arrancar, el cliente compara su versión con lo que anuncia el servidor y sabe si la actualización es opcional o requerida. El manifiesto tiene una forma simple: la última versión, la más baja aún soportada, las direcciones de los paquetes y una bandera de si la actualización es obligatoria.

La distinción entre opcional y requerida es aquí la clave. Un arreglo pequeño puede esperar a que el usuario decida por sí mismo. Pero un cambio que rompe la compatibilidad con el protocolo viejo tiene que forzarse - si no, parte del equipo se queda atascada en una versión que dejó de entenderse con el resto.

update-manifest.json · json
{
  "latest": "1.8.0",
  "minSupported": "1.6.0",
  "android": "https://dl.hermeia.app/android/1.8.0.apk",
  "ios": "https://dl.hermeia.app/ios/1.8.0.ipa",
  "mandatory": false
}
1
base de código para Android e iOS
60 fps
objetivo de desplazamiento fluido de listas
2
canales de publicación: opcional y requerido

Gana por no quedarse atrás

Hermeia no gana con una nueva idea de mensajero - gana por no quedarse atrás de lo que la gente ya conoce en el teléfono, y por quedar bajo el control del dueño en lugar de depender de una tienda. Es la forma silenciosa de la calidad: no llama la atención mientras funciona, y la llamaría al instante si no lo hiciera.

La fluidez y un camino de actualización propio son dos cosas que se posponen con más facilidad "para después", y que luego pasan factura en el primer cambio serio. Las construimos desde el principio, porque en un mensajero no son añadidos - son el cimiento sobre el que se apoya todo lo demás.

Nadie se cambia a un mensajero porque tenga un menú bonito. Se cambia cuando durante una semana no piensa ni una sola vez en que está usando algo nuevo.

Más proyectos

Más trabajos de la misma categoría - mira cómo abordamos retos parecidos.

¿Tiene un proyecto similar?

Escríbenos - el presupuesto es gratuito y llega en una hora.