In Gruppen findet das Gespräch zwischen mehr als zwei Personen statt, weil der Chat selbst nur zwischen zweien läuft. Das geschieht in zwei Formen. Meist über Beiträge: Ein Gruppenbeitrag ist eine gewöhnliche Zeile in der Beitragstabelle mit einer Community-ID, also funktionieren Kommentare, Erwähnungen, Benachrichtigungen und Suche unverändert, statt parallel nachgebaut zu werden. Daneben kann eine Gruppe Räume haben: Textkanäle im Discord-Stil, innerhalb der Gruppe gelistet, mit eigenen Rechten und eigenem Lesestatus. Die Räume sind mit Absicht dünn, und der Kasten unten sagt genau, wie dünn.
Ein Gruppenbeitrag ist ein Feed-Beitrag mit Adresse
Das ist das Folgenreichste an Korat-Gruppen. Wenn du in eine Gruppe postest, erzeugst du genau dasselbe Objekt wie im eigenen Feed: dieselben Reaktionen, dieselben Kommentare, dieselben @Erwähnungen, die auf echte Konten auflösen, dasselbe Bearbeiten und Löschen, dieselben Benachrichtigungen. Es gibt kein zweitklassiges Gruppen-Kommentarsystem, dem etwas fehlt.
Die Gruppen-ID ändert nur, wo der Beitrag erscheint. Gruppenbeiträge werden an genau einer Stelle im Code aus dem Hauptfeed gefiltert, damit sie in der Gruppe bleiben und nicht in die Zeitleisten aller Freunde eines Mitglieds sickern. Ein Filter an einer Stelle ist auch der Grund, warum das Verhalten einheitlich bleibt: Es gibt keine zweite Ausschlussregel, die davon abdriften könnte.
Praktisch heißt das: Eine Gruppe ist sofort so leistungsfähig wie der Feed, und Verbesserungen landen in beidem zugleich. Der Preis steht unten — die Räume einer Gruppe sind nicht der Messenger.
Die Räume einer Gruppe sind nicht der Messenger. Der Direktchat läuft zwischen zwei Personen und lässt sich nicht in eine Gruppe verwandeln. Die Räume einer Gruppe tragen reinen Text, den du senden und löschen kannst — ohne Bearbeiten, ohne Antwort auf eine bestimmte Nachricht, ohne Reaktionen, ohne Fotos, Dateien oder Sprachnachrichten und ohne Anrufe.
Wenn du ein schnelles Hin und Her zwischen fünf Leuten mit Sprachnachrichten, Reaktionen und einem Anruf obendrauf brauchst, kann Korat das heute nicht. Was es kann, ist eine dauerhafte, durchsuchbare, kommentierbare Pinnwand mit echten Rollen und einem echten Beitrittsverfahren, dazu einfache Textkanäle daneben.
Öffentlich und geschlossen
Beim Anlegen setzt du Namen, Beschreibung, Kategorie, die Einstellung öffentlich oder geschlossen und einen Regeltext. Das Regelfeld ist keine Zierde: Eine Gruppe ohne geschriebene Regeln hat trotzdem Regeln — erfunden von dem, der gerade moderiert, und Mitglieder erfahren davon, indem sie dagegen verstoßen.
Eine geschlossene Gruppe arbeitet mit Beitrittsanfragen. Jemand fragt, Eigentümer oder Admin nimmt an oder lehnt ab; die anfragende Person kann eine offene Anfrage zurückziehen, statt auf eine Entscheidung zu warten, die nicht kommt. Beide Seiten werden benachrichtigt. Eine Anfrage, die im Schweigen verschwindet, ist das häufigste Versagen jedes Gruppensystems.
Der Zustand einer Gruppe steht vor dem Tippen fest, nicht danach: Eine geschlossene Gruppe trägt ein Schloss auf ihrer Karte. Ein Knopf darf nie etwas versprechen, was der nächste Bildschirm verweigert.
Vier Listen statt einer mit Abzeichen
Der Gruppenbildschirm ist in betitelte Abschnitte mit Zählern geteilt statt in eine Liste, in der ein kleines Abzeichen die Beziehung andeuten soll: von mir verwaltet, beigetreten, offene Anfragen und entdecken, dazu eine Suche über alles.
Das begann als eine einzige Liste „meine Gruppen“ und wurde umgebaut, weil die vier Zeilen vier verschiedene Dinge bedeuten. Eine eigene Gruppe hat Einstellungen und eine wartende Warteschlange. Eine, um die du nur gebeten hast, hat noch nichts. Abschnitte mit Zählern beantworten auf einen Blick, ob etwas zu erledigen ist — ein Abzeichen an Position dreißig tut das nicht.
Rollen, und die Gruppe weitergeben
Es gibt drei Rollen — Eigentümer, Admin und Mitglied — als Abzeichen neben dem Namen. Eigentümer und Admins können Rollen ändern, Mitglieder entfernen, Einstellungen bearbeiten oder die Gruppe löschen. Dazu kommt die Übergabe der Eigentümerschaft, wichtiger als es klingt: Eine Gruppe, deren Eigentümer die App nicht mehr nutzt und die Schlüssel nicht weitergeben kann, stirbt langsam hinter einem verschlossenen Einstellungsbildschirm.
Korats Regel lautet: Was das Backend ablehnen wird, wird gar nicht erst angeboten. Ein Eigentümer sieht keinen Punkt „Gruppe verlassen“, weil das die Gruppe verwaisen ließe; der Weg hinaus führt über die Übergabe. Zerstörende Aktionen stehen hinter einer Rückfrage, die auch sagt, was *nicht* passiert — Menschen zögern meist, weil sie das Schlimmste annehmen.
Benachrichtigungen zu echten Entscheidungen
Gruppen senden vier Arten, und jede entspricht einem Moment, in dem jemand etwas wissen muss: ein neuer Beitrag, eine eingehende Beitrittsanfrage, die Annahme deiner Anfrage und eine Rollenänderung.
Die erste fehlte anfangs, und das Ergebnis war eine Gruppe, die verlassen wirkte, weil die Mitglieder schlicht nie erfuhren, dass etwas gepostet worden war. Dasselbe Muster trat später bei Ladenbestellungen auf. Eine Funktion, die Inhalte erzeugt, von denen niemand erfährt, ist nicht leise, sondern kaputt.
Eine Gruppe nach außen teilen
Eine Gruppe lässt sich über dasselbe undurchsichtige Linksystem teilen wie alles andere — eine koratland.com/s/<token>-Adresse mit 14 zufälligen Zeichen, die in der App auflöst. Der Auflöser gibt nur zurück, auf welche Art Objekt das Token zeigt und auf welches; nie, wer geteilt hat, und nie, wie oft geöffnet wurde — eine SECURITY DEFINER-Funktion, wie sie die Sicherheitsseite beschreibt.
Zwei nützliche Nachbarn. Eine Trainingsgruppe, die an genau eine Sportart gebunden ist, hat ein eigenes Modul mit Rangliste und Aktivitäts-Feed: die Sportvereine. Und ein Betrieb, der seine Kundschaft erreichen will, postet nicht in einer Gruppe, sondern von seiner Seite aus, die in der Betriebskonsole gepflegt wird.