Korat
Función

Tus publicaciones, historias y álbumes de fotos

Una publicación en Korat es un solo objeto que puede ser pública o solo para amigos, publicarse como tú o como página de negocio, vivir dentro de un grupo y compartirse por un enlace que no revela nada de quien lo compartió.

El feed es donde mejor se ve una publicación de Korat, y casi todo lo que hace Korat — grupos, páginas de negocio, historias, compartir — está construido sobre una única fila de publicación en vez de cuatro sistemas paralelos. Una publicación de grupo es una publicación normal con un id de comunidad. Una de página de negocio es una publicación normal con un id de negocio. Por eso reacciones, comentarios, menciones y notificaciones se comportan igual en todas partes, y por eso un arreglo en una vale para todas a la vez.

Cuatro maneras de escribir una publicación

Una publicación puede ser texto plano; texto sobre un fondo de color, para esa frase corta que se perdería como párrafo gris; o hasta cuatro imágenes en una cuadrícula estilo X que se adapta a cuántas adjuntaste. Puedes publicar como tú o como una página de negocio que gestiones, y puedes publicar dentro de un grupo en lugar de en el feed principal.

Cada publicación lleva su propia visibilidad — público o amigos — y se puede cambiar después de publicar, no queda congelada al pulsar enviar. La gente se equivoca de audiencia constantemente. La única excepción es una publicación hecha como página de negocio, que siempre es pública: una publicación de tienda que solo ven algunos clientes es una incidencia esperando a ocurrir.

Cualquier publicación, comentario e historia se puede denunciar, eligiendo el motivo de una lista fija. La denuncia pasa por una función que se ejecuta con *tus* permisos y no con los del servidor, así que una publicación que no puedes ver y una que no existe responden igual: el botón de denunciar nunca se convierte en una forma de averiguar si existe contenido que no te está permitido ver. El límite de frecuencia se aplica en la base de datos, no en la app. Puedes editar y borrar tus propias publicaciones. Los comentarios admiten menciones que resuelven a usuarios reales, así que una mención es un enlace a una persona y no una cadena que empieza por arroba, y la persona mencionada recibe una notificación.

Seis reacciones, una por persona

Hay seis reacciones — 👍 ❤️ 😄 😮 😢 😡 — y cada persona tiene exactamente una en una publicación dada. Pulsar la misma otra vez la quita; pulsar otra la mueve. No hay contador que puedas inflar pulsando repetido ni una contabilidad aparte de «me gusta más reacción» que cuadrar.

La razón de tener seis y no una es que un solo «me gusta» es ambiguo ante una mala noticia. La razón de no tener treinta es que una cola larga de reacciones raras vuelve ilegibles los recuentos. Seis bastan para distinguir acuerdo, empatía y enfado, que es la distinción que la gente necesita.

El feed está ordenado, y el orden está escrito

El feed principal no es estrictamente lo más nuevo primero. Lo ordena una función de ranking que vive en un archivo del código, data/Ranking.kt, y cada peso que usa está documentado en el documento de algoritmo del proyecto junto a los de sugerencias de amistad, Citas y búsqueda. Cuando un peso cambia, ese documento cambia con él.

Lo mencionamos porque «el algoritmo» suele ser la parte que ningún producto social describe. Un ranking es un conjunto de números que alguien eligió; escribirlos en un sitio es la diferencia entre un orden que puedes discutir y una caja negra. Las publicaciones de grupo se excluyen del feed principal en un único punto de esa tubería: pertenecen a su grupo y se quedan ahí.

Álbumes, y dónde acaban tus fotos

Las fotos se organizan en álbumes con su propia visibilidad — pública, amigos o privada — independiente de las publicaciones que las usaron. Cada álbum tiene portada y se puede renombrar o borrar, y existen tres álbumes por defecto desde el principio: fotos de perfil, portadas e imágenes de publicaciones. Subir una foto a una publicación no crea en silencio una segunda copia de tu fototeca en un sitio que no ves.

Un álbum privado es privado en el sentido de que la interfaz de Korat no se lo muestra a nadie más. No lo es en sentido criptográfico, y eso nos lleva a la parte honesta.

Los archivos subidos son legibles públicamente por URL. Korat no usa URLs firmadas ni buckets privados. Cualquiera que tenga la dirección directa de una imagen puede abrirla, sea cual sea la visibilidad de la publicación o del álbum: la visibilidad controla quién la ve *en la app*, no quién puede descargar el archivo.

Nada en Korat está cifrado de extremo a extremo, y no hay cifrado a nivel de aplicación en reposo. Trata una foto subida como algo que puede alcanzar cualquiera que consiga su dirección, y no subas nada cuyo resultado en ese caso sería grave. La página de seguridad enumera este límite junto a todos los demás.

Compartir, y el enlace que no dice nada

Cualquier cosa compartible puede ir a un chat como tarjeta, a tu propio feed, a una historia o a cualquier otra app del dispositivo mediante el menú de compartir de Android. También puede convertirse en un enlace en koratland.com — una URL con la forma koratland.com/s/<token>, donde el token son 14 caracteres aleatorios. Publicaciones, perfiles, negocios e historias se comparten así.

El token es opaco a propósito. Al abrirlo, el servidor lo resuelve con una función que devuelve solo dos cosas: qué tipo de objeto es y cuál. Nunca devuelve quién creó el enlace ni cuántas veces se ha abierto. El recuento de clics va al revés: una función aparte registra el clic, y deliberadamente no hay permiso de inserción en esa tabla para nadie, así que quien visita puede incrementar un contador sin poder escribir nada más. Un enlace que pegas en un grupo no cuenta nada sobre tu historial.

Historias que caducan, con una lista de espectadores que no

Una historia es una foto o texto sobre color, con una tipografía incrustada a elegir, colocación libre del texto en el lienzo y un color de texto que eliges. La visibilidad es pública o amigos, las mismas dos opciones que una publicación, y caduca sola. Puedes borrar la tuya antes.

Quien publica una historia recibe una lista de espectadores: las personas concretas que la abrieron, no un número. Un contador te dice que la vieron; una lista te dice quién, que es lo que querías saber y lo que además deja claro para todos que ver una historia no es anónimo. Las actividades del módulo de salud también se pueden compartir como historia, con un texto sobre el fondo que elijas.

Preguntas frecuentes

¿Puedo cambiar una publicación de pública a amigos después de publicarla?

Sí. La visibilidad por publicación se puede editar después, no queda fijada al publicar.

La excepción es una publicación hecha como página de negocio, que siempre es pública.

¿Las fotos de un álbum privado son realmente privadas?

Están ocultas para otras personas dentro de la app, pero los archivos subidos son legibles públicamente por URL directa: no hay URLs firmadas ni buckets privados.

Cualquiera que consiga la dirección del archivo puede abrirlo. La visibilidad del álbum controla la interfaz, no el archivo.

¿El feed de Korat está en orden cronológico?

No. Lo ordena una función de ranking que vive en el código de la app, y cada peso que usa está documentado en el documento de algoritmo central del proyecto.

Las publicaciones hechas dentro de un grupo quedan fuera del feed principal y aparecen solo en ese grupo.

¿Qué revela sobre mí un enlace koratland.com/s/?

Nada más allá del objeto en sí. Resolver un token devuelve solo el tipo de objeto y su id, nunca quién lo compartió ni el número de clics.

El token son 14 caracteres aleatorios, así que no se puede adivinar incrementando un número.

¿Puedo ver quién vio mi historia?

Sí. Quien publica la historia recibe la lista de las personas que la abrieron, no solo un contador. Ver una historia no es anónimo.

Las historias caducan solas, y puedes borrar la tuya antes.

Publica algo

Gratis, en Android y en el navegador. Tu primera publicación puede ser solo para amigos y cambiarla después.