Korat
Funktion

Einzelchats und Anrufe direkt aus dem Browser

Der Messenger von Korat ist bewusst schmal gehalten: zwei Personen, ein Verlauf. Alles andere aus der App — ein Tisch, an den du eingeladen wurdest, ein geteilter Beitrag, ein Match aus dem Dating — kommt als Karte in diesem Verlauf an.

Der Chat ist der Teil, auf den sich der Rest der App stützt. Eine Einladung an den Restauranttisch ist eine Chatkarte. Ein geteilter Beitrag landet als Karte, die den Beitrag öffnet. Ein Dating-Match wird in dem Moment ein echtes Gespräch, in dem beide sich mögen. Weil es nur eine Stelle gibt, an der eine Nachricht ankommt, gibt es auch nur eine Stelle, an der man nachsieht — und der Messenger muss nur eine Sache gut können: einen Verlauf zwischen zwei Personen, mit genug Anhangsarten, dass du dafür nie in eine andere App wechseln musst.

Zwei Personen, ein Verlauf

Der Direktchat von Korat läuft nur zwischen zwei Personen: In einem Verlauf sitzen genau zwei, eine dritte lässt sich nicht hinzufügen. Gespräche zu mehreren laufen an zwei anderen Stellen, und keine davon ist dieser Messenger. Gruppen tragen sie als Beiträge: Ein Beitrag trägt eine Gruppen-ID und erbt Kommentare, Erwähnungen und Benachrichtigungen aus der normalen Feed-Mechanik — verzweigt, durchsuchbar, dauerhaft. Und eine Gruppe oder ein Sportverein kann Räume haben: Textkanäle im Discord-Stil, innerhalb der Gruppe gelistet, auf eigenen Tabellen mit eigenen Rechten — und deutlich ärmer als ein Einzelverlauf. Die Grenzen stehen vollständig weiter unten, denn ein Raum, der wie Chat aussieht und keiner ist, ist schlimmer als gar kein Raum.

Dafür bekommt der Einzelverlauf Tiefe: auf eine bestimmte Nachricht als Zitat antworten, eine Nachricht nachträglich ändern, zurückziehen, die wichtige oben anheften, und mit sechs schnellen Emoji oder einer Leiste aus dreißig reagieren. Schreibhinweis und Lesestatus arbeiten wie erwartet.

Was in eine Nachricht passt

Neben Text: Bilder, beliebige Dateien und Sprachnachrichten, aufgenommen über den MediaRecorder des Geräts als AAC im M4A-Container, abspielbar direkt in der Blase. Du kannst deinen Standort senden. Dazu kommen Systemkarten, die der Rest der App erzeugt: ein geteilter Beitrag, eine Tischeinladung, der Eintrag eines geführten Anrufs.

Die Anrufkarte wiegt schwerer, als sie klingt. Ein Anruf, der klingelte und niemanden erreichte, wäre sonst unsichtbar — du öffnest die App später, und nichts sagt dir, dass überhaupt etwas passiert ist. Steht er als Nachricht im Verlauf, ist die Geschichte einer Beziehung eine einzige Liste zum Scrollen statt Gespräch hier und Anrufliste dort.

Zwei weitere Objekte erreichen diesen Verlauf von anderswo aus Korat: eine digitale Visitenkarte wird als Link verschickt, den die Empfängerin in jedem Browser öffnet, und jeder Sportverein bringt seinen eigenen Textraum mit, getrennt von den hier beschriebenen Einzelverläufen — mit den Grenzen aus dem Kasten unten, nicht mit dem, was ein Einzelverlauf kann.

Anrufe, für die beide die Tür geöffnet haben

Sprach- und Videoanrufe laufen über echtes WebRTC: stummschalten, Kamera aus, Kamera wechseln, ein bildschirmfüllender Anrufeingang und eine Benachrichtigung im Hintergrund. Ungewöhnlich ist das Schloss davor: die Anruffreigabe gilt beidseitig und pro Chat. Die Anrufknöpfe erscheinen erst, wenn beide Seiten sie geöffnet haben.

Das ist die Antwort darauf, dass ein klingelndes Telefon das Aufdringlichste ist, was eine App tun kann. Wer dich über Dating oder eine Ladenseite gefunden hat, kann dir eine Nachricht schicken, die du ignorieren kannst — dein Telefon um zwei Uhr nachts klingeln lassen kann er nicht, solange du es nicht ausdrücklich erlaubt hast. Die Freigabe gilt je Gespräch.

Zwei ehrliche Grenzen. Der Direktchat läuft nur zwischen zwei Personen — ein Verlauf lässt sich nicht in eine Gruppe verwandeln, und eine Mehrpersonen-Fassung des hier beschriebenen Messengers gibt es nicht. Was es gibt, sind die Räume einer Gruppe oder eines Vereins, und die sind ein dünneres System auf anderen Tabellen: reiner Text zum Senden und Löschen, ohne Bearbeiten, ohne Antwort auf eine bestimmte Nachricht, ohne Reaktionen, ohne Fotos, Dateien oder Sprachnachrichten und ohne Anrufe. Nichts auf dieser Seite beschreibt einen Raum.

Anrufe sind nicht Ende-zu-Ende-verschlüsselt, und es gibt keinen TURN-Server. Die Verbindung läuft direkt zwischen den Geräten, wo die Netze das zulassen; ohne Relais scheitern manche Kombinationen aus Mobilfunknetz und striktem NAT schlicht. Wenn ein Anruf nicht zustande kommt, liegt es meist daran — fehlende Infrastruktur, kein Fehler in der App.

Anwesenheit ist ein Herzschlag, kein Socket

Der grüne Punkt bedeutet genau eines: Dieses Gerät hat in den letzten neunzig Sekunden einen last_seen-Zeitstempel geschrieben. Das ist Polling in einem Intervall, keine dauerhafte Verbindung — sparsam für den Akku und grob. Wer die App vor vierzig Sekunden geschlossen hat, wirkt weiter online; wer in einen Tunnel fährt, verschwindet, ohne fortgegangen zu sein.

Wir nennen es Herzschlag und nicht „online“, weil Anwesenheit die Angabe ist, die am häufigsten als Beweis gelesen wird — Beweis, dass etwas gesehen wurde, Beweis, dass jemand einen ignoriert. Ein Fenster von neunzig Sekunden trägt dieses Gewicht nicht.

Das Gespräch wiederfinden

Zwei Dinge halten eine lange Chatliste brauchbar. Erstens der private Chatname: Benenne ein Gespräch so, wie du diese Person wirklich nennst — sichtbar ist das nur für dich. Es dringt nie in Feed, Gruppen, Kommentare oder Profil. Wer bei dir als „Vermieter“ gespeichert ist, erscheint überall sonst mit dem eigenen Anzeigenamen. Namen werden in Korat live aus dem Profil aufgelöst, genau damit so etwas nicht auseinanderläuft.

Zweitens Labels — farbige Marken, die du selbst anlegst, mit von dir bestimmter Zugehörigkeit, samt Anlegen, Ändern und Löschen. Sie dienen zugleich als Filter der Chatliste, neben ungelesen, offiziell und Dating. Die Suche läuft über Chatnamen und letzte Nachricht, ein halb erinnerter Satz reicht also. Chats lassen sich anheften, als gelesen markieren oder löschen.

Was der Server sieht — und was du tun kannst

Nachrichten liegen im Klartext auf dem Server, geschützt durch RLS-Regeln, die die Zeilen eines Gesprächs auf seine zwei Teilnehmenden begrenzen. Es gibt keine Ende-zu-Ende-Verschlüsselung von Chats, Anrufen oder Dateien und keine anwendungsseitige Verschlüsselung im Ruhezustand über das hinaus, was die verwaltete Datenbank mitbringt. Wenn du das brauchst, nimm ein Werkzeug, das dafür gebaut ist.

Menschlich gesehen: Du kannst jemanden aus dem Verlauf oder vom Profil aus blockieren — das verbirgt Chats und Beiträge und entfernt die Person zugleich aus deinem Dating-Stapel — und du kannst sie melden. Blockieren ist eine Handlung mit Wirkung überall, nicht eine, die du je Bildschirm wiederholen musst.

Häufige Fragen

Gibt es in Korat einen Gruppenchat?

Im Messenger nicht: Ein Direktverlauf hat zwei Beteiligte, eine dritte Person lässt sich nicht hinzufügen. Zu mehreren spricht man in Gruppen — als Beiträge, die Kommentare, @Erwähnungen und Benachrichtigungen tragen, und in den Räumen der Gruppe, also Textkanälen im Discord-Stil, die auch Sportvereine bekommen.

Diese Räume sind bewusst dünn: reiner Text zum Senden und Löschen, ohne Bearbeiten, ohne Antwort auf eine bestimmte Nachricht, ohne Reaktionen, ohne Fotos, Dateien oder Sprachnachrichten und ohne Anrufe.

Sind Nachrichten Ende-zu-Ende-verschlüsselt?

Nein. Weder Nachrichten noch Dateien noch Anrufe. Die Zeilen liegen serverseitig und sind durch Row-Level-Security auf die beiden Beteiligten eines Gesprächs beschränkt.

Eine anwendungsseitige Verschlüsselung im Ruhezustand gibt es nicht.

Warum sehe ich in einem Chat keinen Anrufknopf?

Die Anruffreigabe ist beidseitig und gilt je Gespräch. Sprach- und Videoknopf erscheinen erst, wenn beide Seiten das Schloss in genau diesem Verlauf geöffnet haben.

Für eine Person geöffnet heißt nicht für alle geöffnet.

Mein Videoanruf kommt nicht zustande. Woran liegt das?

Es gibt noch keinen TURN-Relay-Server. Ein Anruf hängt also daran, dass die beiden Geräte einander direkt erreichen — und manche Kombinationen aus Mobilfunknetz und striktem NAT können das nicht, dann scheitert der Verbindungsaufbau.

Sind beide Geräte im selben WLAN oder in Netzen, die direkte Verbindungen zulassen, klappt es in aller Regel.

Sieht die andere Person es, wenn ich einen Chat umbenenne?

Nein. Ein Chatname gehört nur dir. Für alle anderen steht weiter der echte Anzeigename der Person — auch im Feed, in Kommentaren und in Gruppen.

Namen werden in Korat live aus dem Profil aufgelöst, ein privater Chatname kann also nicht in Inhalte durchsickern.

Ein Gespräch öffnen

Korat ist kostenlos, läuft auf Android und im Browser, und der Chat funktioniert in beiden gleich.