Korat
Función

Mensajes uno a uno y llamadas desde el navegador

El mensajero de Korat es estrecho a propósito: dos personas, un hilo. Todo lo demás de la app — una mesa a la que te invitaron, una publicación que alguien compartió, un match de Citas — llega dentro de ese hilo como una tarjeta con la que puedes actuar.

El chat es la pieza en la que se apoya el resto de Korat. Un amigo te invita a su mesa y la invitación es una tarjeta en el chat. Alguien comparte una publicación y aterriza como una tarjeta que la abre. Un match de Citas se convierte en una conversación real en cuanto ambas personas se dan like. Como hay un único sitio al que puede llegar un mensaje, hay un único sitio donde mirar.

Dos personas, un hilo

El chat directo de Korat es solo entre dos personas: un hilo tiene exactamente dos participantes y no hay forma de meter a un tercero. La conversación entre más gente ocurre en otros dos sitios, y ninguno de ellos es este mensajero. Los grupos la llevan como publicaciones: una publicación lleva un id de grupo y hereda comentarios, menciones y notificaciones del feed, así que es enhebrada, buscable y permanente. Y un grupo o un club deportivo puede tener salas: canales de texto al estilo Discord listados dentro del grupo, construidos sobre sus propias tablas y con sus propios permisos, y bastante más pobres que un hilo directo. Los límites están escritos enteros más abajo, porque una sala que parece chat y no lo es sale peor que no tener sala.

Lo que gana un hilo de dos es profundidad: responder citando un mensaje concreto, editar después de enviar, deshacer el envío, fijar el mensaje importante arriba y reaccionar con seis emojis rápidos o abrir una barra de treinta. El indicador de escritura y el estado de leído funcionan como esperas.

Qué cabe en un mensaje

Además de texto: imágenes, archivos de cualquier tipo y notas de voz grabadas con el MediaRecorder del propio dispositivo en AAC dentro de un contenedor M4A, con reproducción en la burbuja. Puedes enviar tu ubicación. Y hay tarjetas de sistema que acuña el resto de la app: una publicación compartida, una invitación a una mesa, el registro de una llamada.

Un mensaje nuevo genera una notificación push en el dispositivo de la otra persona, tanto en los mensajes uno a uno como en la bandeja del negocio. Solo llega a dispositivos que no han sido revocados, y abrir la conversación borra su notificación. Un chat que produce mensajes de los que nadie se entera no es un chat silencioso: está roto. La limitación que hay que decir al lado: la app web no tiene push. Si hablas desde el navegador, ves el mensaje al abrir la pestaña, no cuando llega.

Esa última importa más de lo que parece. Una llamada que sonó y se perdió es invisible de otro modo. Escribirla en el hilo hace que la historia de una relación sea una sola lista que se recorre, y no una conversación en un sitio y un registro de llamadas en otro.

Otros dos objetos llegan a este hilo desde otras partes de Korat: una tarjeta de presentación digital se pasa como un enlace que quien la recibe abre en cualquier navegador, y cada club deportivo trae su propia sala de texto, aparte de los hilos de dos que describe esta página — con los límites del recuadro de arriba, no con lo que hace un hilo directo.

Llamadas que ambas partes han abierto

Las llamadas de voz y vídeo van sobre WebRTC real, con silencio, cámara apagada, cambio de cámara, pantalla completa de llamada entrante y notificación en segundo plano. Lo llamativo es la puerta que hay delante: el consentimiento de llamada es de las dos partes y por conversación. Los botones de llamada no aparecen hasta que ambas personas han abierto el candado por su lado.

Es una respuesta deliberada al hecho de que un teléfono sonando es lo más intrusivo que puede hacer una app. Alguien que te encontró en Citas o en la página de un negocio puede escribirte y tú puedes ignorarlo; no puede hacer sonar tu teléfono a las dos de la madrugada salvo que hayas aceptado expresamente que pueda.

Dos límites honestos. El chat directo es solo entre dos personas: un hilo no se puede convertir en grupo, y no existe una versión para varias personas del mensajero que describe esta página. Lo que sí existe son las salas que traen un grupo o un club, y son un sistema más delgado, sobre otras tablas: texto plano que puedes enviar y borrar, sin edición, sin responder a un mensaje concreto, sin reacciones, sin fotos, archivos ni notas de voz, y sin llamadas. Nada de esta página describe una sala.

Las llamadas no están cifradas de extremo a extremo y no hay servidor TURN. El audio y el vídeo van directos entre los dos dispositivos cuando sus redes pueden alcanzarse; sin relé, ciertas combinaciones de operador móvil y NAT restrictivo simplemente no conectan. Si una llamada no se establece, esa suele ser la razón: es infraestructura que aún no hemos levantado, no un fallo de la app.

La presencia es un latido, no un socket

El punto verde significa una cosa concreta: el cliente de esa persona escribió una marca last_seen en los últimos noventa segundos. Es sondeo por intervalos, no una conexión persistente, así que es barato en batería y es grueso. Quien cerró la app hace cuarenta segundos sigue apareciendo en línea; quien entra en un túnel se apaga sin haberse ido a ninguna parte.

Lo llamamos latido y no «en línea» porque la presencia es lo que más gente lee como prueba: prueba de que un mensaje se vio, prueba de que alguien la está ignorando. Una ventana de noventa segundos no puede cargar con ese peso.

Encontrar la conversación que buscas

Dos cosas mantienen usable una lista larga. La primera es el alias de chat: renombra cualquier conversación como tú llames de verdad a esa persona, y el nombre nuevo solo lo ves tú. Nunca se filtra al feed, a los grupos, a los comentarios ni a su perfil. Los nombres en Korat se resuelven en vivo desde el perfil precisamente para que un cambio en un sitio no se desincronice de otro.

La segunda son las etiquetas de color que creas tú, con pertenencia que controlas y creación, edición y borrado completos. Sirven además de filtro en la lista, junto a los filtros de no leídos, cuentas oficiales e hilos que vienen de Citas. La búsqueda recorre el nombre del chat y el último mensaje. Los chats se fijan arriba, se marcan como leídos o se borran.

Qué ve el servidor, y qué puedes hacer con alguien

Los mensajes se guardan en el servidor en texto plano, protegidos por políticas de seguridad a nivel de fila que limitan las filas de una conversación a sus dos participantes. No hay cifrado de extremo a extremo de chats, llamadas ni archivos en ninguna parte de Korat, ni cifrado a nivel de aplicación en reposo más allá del que da la base de datos gestionada. Si eso es un requisito para lo que vas a hablar, usa una herramienta hecha para ello.

En el lado humano: puedes bloquear a alguien desde el hilo o desde su perfil, lo que oculta sus chats y publicaciones y lo retira de tu mazo de Citas a la vez, y puedes denunciar a una persona. Bloquear es una acción con efecto en toda la app, no algo que haya que repetir en cada pantalla.

Preguntas frecuentes

¿Korat tiene chat de grupo?

En el mensajero, no: un hilo directo es de dos personas y no se le puede añadir a una tercera. Varias personas hablan en Grupos — como publicaciones, que llevan comentarios, menciones y notificaciones, y en las salas del propio grupo, canales de texto al estilo Discord listados dentro de él, que los clubes deportivos también tienen.

Esas salas son delgadas a propósito: texto plano que envías y borras, sin edición, sin responder a un mensaje concreto, sin reacciones, sin fotos, archivos ni notas de voz y sin llamadas.

¿Los mensajes de Korat están cifrados de extremo a extremo?

No. Ni los mensajes, ni los archivos, ni las llamadas. Las filas del chat se guardan en el servidor y las protegen políticas a nivel de fila que limitan cada conversación a sus dos participantes.

No hay cifrado a nivel de aplicación en reposo más allá del que aporta la base de datos gestionada.

¿Por qué no veo el botón de llamada en un chat?

El consentimiento de llamada es de las dos partes y por conversación. Los botones de voz y vídeo solo aparecen cuando ambas personas han abierto el candado en ese hilo concreto.

Abrirlo con una persona no lo abre con nadie más.

Mi videollamada no conecta. ¿Qué pasa?

Todavía no hay servidor de relé TURN, así que las llamadas dependen de que los dos dispositivos puedan alcanzarse directamente. Ciertas combinaciones de red móvil y NAT restrictivo no pueden, y la llamada no llega a establecerse.

Si ambos dispositivos están en la misma red Wi-Fi, o en redes que permiten conexiones directas entre pares, normalmente funciona.

Si le cambio el nombre a un chat, ¿la otra persona ve el nombre nuevo?

No. El alias de chat es privado y solo lo ves tú. El nombre real que esa persona eligió sigue apareciendo para todo el mundo, incluidos el feed, los comentarios y los grupos.

Los nombres en Korat se resuelven en vivo desde el perfil, así que un alias no puede filtrarse al contenido.

Abre una conversación

Korat es gratis, funciona en Android y en el navegador, y el chat es igual en los dos.