Ein Jahr nach dem letzten XMPP-Sprint in Berlin laden wir vom 26.-29. März 2020 wieder zu einem Treffen für Entwickler*innen und Interessierte rund um XMPP ein. Ziel des Treffens ist es, möglichst viele Programmierer*innen und Nutzer*innen zusammenzubringen, um an neuen Funktionen zu arbeiten, bestehende Nutzeroberflächen gemeinsam zu diskutieren und XMPP als offenen Standard voran zu bringen.
Für Entwickler*innen geht’s optional bereits am Donnerstag los, reine XMPP-Nutzer*innen sind ab dem Freitagnachmittag herzlich willkommen. Für Neueinsteigende werden wir je nach Anmeldezahl einen eigenen Einstiegsworkshop anbieten.
Seminarsprachen werden Englisch, Deutsch und alle anderen sein, auf die man sich in kleiner Runde verständigt – also keine Angst!
Die Teilnahme ist kostenlos, Essen und Getränke werden gestellt. Wir bitten allerdings um eine Anmeldung mit kurzer Beschreibung des Vorwissens an digital@dbjr.de. Die Programmierer*innen erhalten auf der Sprint-Seite auf xmpp.org weitere Informationen.
Was ist XMPP?
Bei XMPP/Jabber handelt es sich um einen offenen Standard für Chat und Messaging, bei dem die Nutzer*innen unabhängig von geschlossenen und kommerziellen Systemen (z.B. WhatsApp) sind. Ähnlich wie bei Telefon, Post oder E-Mail spielt es bei XMPP keine Rolle, über welchen Anbieter man teilnimmt. Und man hat die freie Wahl der Werkzeuge, also über welche Apps/Programme man mit Anderen kommunizieren möchte.
Seit dem Frühjahr bieten wir den offenen Chatserver für die Jugendarbeit, yochat.eu, an. Der Server baut dabei auf den offenen Standard Jabber/XMPP auf, der ähnlich wie bei E-Mail den eigenen Serverbetrieb erlaubt und dennoch weltweite Erreichbarkeit gewährleistet.
Fürs Chatten benötigt man ein beliebiges XMPP-fähiges Programm oder App für Desktop oder Smartphone. Die Auswahl ist groß und leider sind nicht alles Anwendungen gut umgesetzt.
Wir bieten nun eine neue Möglichkeit an: Ihr könnt euch spontan auch direkt über eine Web-Oberfläche für das Chatkonto registrieren oder in ein bestehendes Chatkonto einloggen. Euch stehen komfortable Möglichkeiten für Einzelchats und Gruppen zur Verfügung. Je nachdem wie ihr eure Clients und euer Profil einstellt, könnt ihr jederzeit zwischen App und Web-Client wechseln, sie parallel betreiben und trotzdem auf alle Chatverläufe zugreifen.
Unser neuer Web-Client basiert auf der Open-Source-Software Converse.js. Aus Sicherheitsgründen haben wir das Einloggen auf Kontos bei yochat.eu beschränkt.
Vom 1.-7. Mai steht eine der besten XMPP-Apps unter Android, »Conversations«, kostenfrei im Google PlayStore zur Verfügung. Für uns ein guter Anlass, euch die Einrichtung und Nutzung von XMPP/Jabber kurz vorzustellen.
Über die Vorzüge eines freien Internetstandards im Vergleich zu den abgeschotteten Systemen wie WhatsApp etc. haben wir bereits berichtet. Seit wenigen Tagen steht der öffentliche XMPP-Server yochat.eu für Chat und Messaging in der Jugendarbeit bereit. (Eine Vorstellung findet ihr hier.). Damit ihr unser Angebot gut nutzen könnt, findet ihr im Folgenden eine bebilderte Anleitung und Tipps für den Fall wenn etwas schiefläuft.
So legt ihr los:
App installieren Ladet euch eine Jabber/XMPP-App herunter und installiert sie. Unter Android empfehlen wir euch »Conversations«. Ihr erhaltet sie über den Google PlayStore (bis 7. Mai kostenlos, sonst € 2,39) oder über den freien App-Store F-Droid. Links zu Clients für alle anderen Betriebssysteme findet ihr im Artikel zu Yochat.eu.
Nutzerkonto und Chatname registrieren XMPP-Clients können mehrere Nutzeraccounts verwalten, ähnlich wie es auch bei E-Mail-Programmen der Fall ist. Die Registrierung eines neuen Accounts kann bei XMPP allerdings bereits direkt aus der App heraus erfolgen. (Bei Yochat.eu bieten wir derzeit ausschließlich diesen Weg an; wir haben noch keine Website hierzu freigeschaltet.)
Eine XMPP-/Jabber-ID besteht aus eurem Chatnamen (das kann der echte Name sein oder auch ein ausgedachter), ein @ um zu kennzeichnen bei welchem Server ihr euer Konto angelegt habt, und dann den Servernamen. Neben yochat.eu existieren weitere öffentliche Server, die euch Conversations zum Teil auch vorschlägt.
Hinweis: Manche Apps bieten zusätzlich die Möglichkeit eine „Ressource“ einzutragen. Dabei handelt es sich um eine frei gewählte Beschreibung, z.B. „Handy” oder „Gerät 1“. Da ihr bei einem XMPP-Konto mit mehreren Geräten gleichzeitig angemeldet sein könnt, soll euch das zur späteren Unterscheidung helfen. In der Regel werdet ihr davon aber sehr selten einen Mehrwert haben.
Euer Profilbild (Avatar) festlegen Das ist optional: Dieses Bild sehen Chatpartner*innen von euch.
Kontakte hinzufügen Am Anfang ist eure Kontaktliste noch leer. Über das Sprechblasen- bzw. das Plus-Symbol unten rechts könnt ihr neue Kontakte, Gruppenchats und öffentliche Channels (Chaträume) hinzufügen. Selbstverständlich könnt ihr selbst auch Gruppenchats und Channels erstellen. Je nach Bedarf können sie dauerhaft oder temporär sein (also bis die letzte Person den Chat verlässt). Etwas angenehmer geht’s übrigens über das Einlesen eines QR-Codes. Diesen kann euch euer Kontakt entweder auf seinem/ihrem Display zum Abscannen zeigen oder ihr findet einen QR-Code für einen Channel irgendwo veröffentlicht.
Wenn ihr noch niemanden kennt, der ebenfalls XMPP nutzt, dann kontaktiert doch einfach uns: tim@yochat.eu, tim.schrock@chat.dbjr.org, michael.scholl@chat.dbjr.org !
[UPDATE 14.05.2019: Conversations behindert im Augenblick das erstmalige Hinzufügen von Einzelkontakten mit der Endung @chat.domain, weil es diese immer als Gruppe interpretiert. Das betrifft auch die @chat.dbjr.org. Der Entwickler ist bereits informiert. Die Abhilfe ist im Augenblick, dass die erste Kontaktaufnahme von Seiten der @chat.domain-Nutzer*in geschieht, dann ist es kein Problem.]
Optional: Mehrere Nutzerkonten verwalten Wie fast alle XMPP-Apps kann Conversations mehrere Nutzerkonten verwalten, auch wenn sie bei unterschiedlichen Servern registriert sind. Zweck mehrerer Konten könnte beispielsweise sein, dass ihr eines privat und eines beruflich oder ehrenamtlich nutzen wollt. Die Konten können jeweils einzeln aktiviert und deaktiviert werden, z.B. wenn ihr abends das Büro verlasst oder ein paar Tage in Urlaub geht.
Was kann schieflaufen?
XMPP und die Chat-Clients werden ständig weiter entwickelt. Das ist im Kern etwas Gutes, führt aber dazu, dass manche Programme neue Funktionen (noch) nicht unterstützen. Gerade bei der Ende-zu-Ende-Verschlüsselung wie OMEMO kann das ein Problem darstellen, wenn ihr mehrere Clients parallel verwendet: Auf einem Client kommen dann die Nachrichten korrekt entschlüsselt an, während ihr auf dem anderen möglicherweise nur einen Buchstabensalat oder einen Fehlerhinweis erhaltet. Ihr klickt dann am besten auf das Schloss-Symbol des laufenden Chats (das Symbol ist in nahezu jedem Client vorhanden) und schaltet die Verschlüsselung um oder aus. Die Verbindung wird dann dennoch verschlüsselt sein, jedoch kann sie der Chat-Server theoretisch mitlesen.
Ihr könnt jederzeit mit neuen Clients euer Konto nutzen. Ebenso seid ihr frei darin, jederzeit alte XMPP-Apps oder Geräte in Rente zu schicken. Leider „weiß“ ein XMPP-Server im Vornherein nicht, ob ein Chat-Client jemals wieder online kommt. Daher gibt es auf den Servern verschiedene Mechanismen, wie die Warteschlangen von nicht zugestellten Nachrichten gemanagt werden. Gerade bei der Verwendung von iOS-Apps haben wir die Erfahrung gemacht, dass Nachrichten dann manchmal nicht mehr bei allen parallel genutzten Geräten ankommt.
Zur Registrierung von XMPP-Accounts müsst ihr keinerlei private Daten preisgeben, weder eure Telefonnummer noch eine E-Mail-Adresse. Das ist zwar erfreulich für Privatsphäre und Datenschutz, aber unpraktisch wenn ihr euer Passwort vergesst. Tatsächlich gibt es meist keinen Weg mehr, dann noch auf euer Konto zuzugreifen. Ihr könnt allerdings mit eurem Serverbetreiber sprechen, dann könnte das Konto immerhin zurückgesetzt werden – und ihr verliert wenigstens nicht die XMPP-ID.
[UPDATE 14.05.2019: Conversations behindert im Augenblick das erstmalige Hinzufügen von Einzelkontakten mit der Endung @chat.domain, weil es diese immer als Gruppe interpretiert. Der Entwickler ist bereits informiert. Die Abhilfe ist im Augenblick, dass die erste Kontaktaufnahme von Seiten der @chat.domain-Nutzer*in geschieht, dann ist es kein Problem.]
Warum kostet Conversations Geld, ist doch Open Source?
Wir machen hier Werbung für eine (normalerweise) kostenpflichtige App. Es gibt aber auch dauerhaft kostenfrei beziehbare Apps. Conversations ist beispielsweise über den freien App-Store F-Droid auch ohne Bezahlung erhältlich. Trotzdem muss man sich als Nutzer*in vergegenwärtigen, dass hinter der Konzeptionierung, Programmierung und Pflege von Apps sehr viel Arbeit steckt. Entwickler*innen von Open-Source-Software sind daher oft eine Stiftung, Träger mit öffentlicher Förderung (wie bei DBJR-Tools / jugend.beteiligen.jetzt) oder Privatpersonen, die ihren Lebensunterhalt nebenbei bestreiten müssen.
Vielen Dank an Daniel Gultsch von Conversations für die kostenlose Zurverfügungstellung seiner App!
Wie auf diesem Blog schon gelegentlich berichtet, unterstützt der DBJR die Verbreitung von offenen Standards und möchte deren Nutzungsmöglichkeiten für die Jugendarbeit verbessern. Einer der Bereiche ist das Thema Chat & Messaging, also das Kommunizieren zwischen zwei oder mehreren Empfänger*innen. Hierfür gibt es den offenen Standard Jabber/XMPP, der nicht an einen Anbieter gebunden ist. Nutzer*innen haben freie Auswahl bei den hierfür genutzten Apps und dem Serverbetreiber (ähnlich wie bei E-Mail). Eine etwas ausführlichere Beschreibung zu XMPP haben wir hier zusammengestellt.
Ohne Infrastruktur geht es (leider) nicht
Grundsätzlich können alle XMPP-Nutzer*innen weltweit miteinander kommunizieren, egal über welchen Anbieter/Server sie den Dienst nutzen. Die Zahl der frei nutzbaren Anbieter ist allerdings noch rar gesät; und selbst einen Server aufzusetzen ist für kleinere Gruppen kaum möglich. Der DBJR hat vorgearbeitet: Seit mehreren Monaten betreiben wir einen solchen Server vor allem für den internen Gebrauch, um die E-Mail-Postfächer der Kolleg*innen zu entlasten und die Kommunikation zu vereinfachen.
Nun können wir diesen Dienst aber auch für alle Interessierten kostenfrei anbieten: Seit wenigen Tagen könnt ihr euch mit einem persönlich gewählten Spitznamen oder eurem echten Namen eine Chat-ID @yochat.eu anlegen. Die Registrierung geschieht dabei nicht über eine Web-Oberfläche, sondern kann von jedem XMPP-kompatiblen Chat-Client aus erfolgen.
JSXC (browserbasiert, selbst eingebunden in Nextcloud und OwnCloud)
ConverseJS (browserbasiert, auch in eigene Websites einbinden)
Diese Liste ist bei Weitem nicht abschließend. Auch ChatSecure (iOS) oder Mozilla Thunderbird (Windows, macOS, Linux), MirandaNG (Windows), Pidgin (Windows, Linux) und viele Anwendungen mehr unterstützen den Jabber/XMPP-Standard. Die letzteren drei gibt es für Windows ebenfalls als PortableApp, d.h. sie können auch ohne Installation z.B. von einem USB-Stick aus genutzt werden.
XMPP unterstützt auch die Parallelnutzung einer ID von mehreren Geräten aus, also z.B. vom Smartphone und vom PC aus. Generell sind die Apps auf iOS-Geräten noch etwas weniger gut ausgebaut als auf anderen Betriebssystemen. Das liegt daran, dass Apple recht strikte Vorgaben macht, wie Anwendungen in den AppStore aufgenommen werden können. Der Veröffentlichungsprozess ist daher gerade für Open-Source-Projekte aufwändiger und etwas teurer.
Buchstabensalat – was ist da passiert?
Der reine Nachrichtenaustausch ist bei allen Clients transportverschlüsselt. Allerdings hat sich in den letzten Jahren gerade im Bereich der Ende-zu-Ende-Verschlüsselung viel getan (also auf den Endgeräten und im Speicher der übermittelnden Server); nicht alle Anwendungen unterstützen daher die Möglichkeiten wie OMEMO, OpenPGP oder OTR. Daher kann es manchmal zu Buchstabensalat kommen, wenn man seinen Client öfters wechselt und nicht den richtigen Modus aktiviert hat. Per Klick lässt sich das aber in der Regel beheben.
Für technisch Interessierte: Innenleben unseres Servers und Speicherlimits
Yochat.eu läuft auf ejabberd, einem der verbreitetsten Open-Source-Server für XMPP. Das Ganze ist installiert auf einem Debian-Linux-Server, der im Nürnberger Rechenzentrum des Providers Hetzner steht. Welche XMPP-Module wir unterstützen, lässt sich jederzeit einsehen über den Compliance-Tester von Conversations: https://compliance.conversations.im/server/yochat.eu/.
Pro Nutzer*in ist ein Zwischenspeicher für (alte und neue) Nachrichten von 200 MB vorgesehen. Nachrichten werden für 90 Tage gespeichert. Bei Erreichen der Speicherdauer oder -grenze werden die ältesten Nachrichten automatisch gelöscht. Dateiübertragungen sind derzeit auf 50 MB begrenzt. Derzeit sammeln wir noch Erfahrungen mit den Speicherkapazitäten und der -dauer, so dass sich diese noch verändern könnten.
Gut zu wissen – Feedback herzlich willkommen!
Wir stellen den XMPP-Dienst im Rahmen unserer Möglichkeiten aus dem Projekt jugend.beteiligen.jetzt – für die Praxis digitaler Partizipation für euch kostenfrei zur Verfügung. Auch wenn wir natürlich unser Bestes geben, können wir keine vollständige Verfügbarkeit garantieren. Über Neuigkeiten werden wir euch hier im Blog informieren.
Das Angebot richtet sich in erster Linie an Jugendliche, junge Erwachsene und Multiplikator*innen in der Jugendarbeit, darf aber natürlich auch von euren Freunden, Familienmitgliedern und anderen Interessierten genutzt werden. Bei missbräuchlicher Nutzung (z.B. Spam, Belästigung Anderer) behalten wir uns vor Accounts zu deaktivieren.
Wenn ihr Fragen zu yochat.eu oder zu XMPP habt, meldet euch gerne bei uns oder chattet uns an: tim@yochat.eu oder tim.schrock@chat.dbjr.org (das ist keine E-Mail-Adresse!)
UPDATE 14.05.2019: Die Android-App Conversations behindert im Augenblick das erstmalige Hinzufügen von Einzelkontakten mit der Endung @chat.domain (also auch @chat.dbjr.org), weil es diese immer als Gruppe interpretiert. Der Entwickler ist bereits informiert. Die Abhilfe ist im Augenblick, dass die erste Kontaktaufnahme von Seiten der @chat.domain-Nutzer*in geschieht, dann ist es kein Problem.
Vergangenes Wochenende trafen sich 25 Entwickler*innen und Interessierte zu einem europäischen »XMPP-Sprint« in Berlin. Der DBJR fungierte als Gastgeber, weil wir offene Standards unterstützen und sie für die Jugendarbeit besser nutzbar machen möchten.
Was bitte ist XMPP?
Bei XMPP handelt es sich um einen offenen Standard für Chat und Messaging, bei dem die Nutzer*innen unabhängig von geschlossenen und kommerziellen Systemen (z.B. WhatsApp) sind. Ähnlich wie bei Telefon, Post oder E-Mail spielt es bei XMPP keine Rolle, über welchen Anbieter man teilnimmt. Und man hat die freie Wahl der Werkzeuge, also über welche Apps/Programme man mit Anderen kommunizieren möchte.
XMPP besteht schon eine ganze Weile: Vor zwanzig Jahren als »Jabber« gestartet, ist XMPP dann 2004 als Internetstandard verabschiedet worden. In den ersten Jahren stellte Jabber/XMPP allerdings nicht viel mehr dar als eine weitere Möglichkeit von Rechner zu Rechner zu chatten – mobiles Internet und Smartphones gab es ja noch nicht. Zu Beginn unterstützten auch Google und Facebook den offenen XMPP-Standard, riegelten ihre Dienste dann jedoch immer mehr nach außen ab: Am Ende landeten wir da, wo wir heute sind: Google Hangouts, Apple Facetime, Microsoft Skype, Facebook Messenger, Snapchat – alles geschlossene Systeme, die sich untereinander nicht verstehen (wollen). Besonders nach den Datenskandalen der großen Konzerne und der Geheimdienste wurde XMPP als einer freien Alternative neue Aufmerksamkeit zuteil.
Gerade für datenschutzsensitive Themen wie persönliche Beratung oder privatsphären-freundliches Ausschalten-Können einzelner Accounts (z.B. am Abend oder im Urlaub) eignet sich XMPP sehr gut. Zudem bleibt die persönliche Telefonnummer geheim und auch das eigene Adressbuch wird nicht von irgendeinem Anbieter ausgelesen.
Allerdings muss man sich auch ein wenig an neue Konzepte oder Abkürzungen gewöhnen: Auf die reine Übertragungsverschlüsselung können noch zusätzliche Sicherheitslevel wie OMEMO, OpenPGP oder OTR (Off-The-Record) draufgepackt werden, die sich aber nicht immer untereinander verstehen. Auch werden Chats mit mehreren Mitgliedern nicht unbedingt einheitlich benannt: Ist das jetzt ein Gruppenchat, ein Multi-User-Chat, ein Chatraum oder gar ein Channel?
Auch wenn die Möglichkeiten von XMPP am Anfang etwas erschlagend wirken können: Die Nutzung ist nach kurzer Zeit ganz einfach verständlich und unterscheidet sich im Alltag kaum von anderen Messenger-Diensten.
Auf zum Sprint! Vielfalt ist Stärke!
Jabber/XMPP wird von zahlreichen Programmen unterstützt, darunter so bekannte wie Mozilla Thunderbird oder der Pidgin-Multimessenger. Die Kehrseite eines offenen Standards ist, dass die Umsetzung des Standards recht unterschiedlich voranschreiten kann. Die Open-Source-Community rund um XMPP hat aber verstanden, dass man nur gemeinsam stark ist: Auf dem Sprint in Berlin kamen Programmierer*innen von einigen der bekanntesten Apps zusammen, wie z.B. Conversations, ConverseJS, Dino, Gajim, Salut à Toi und UWPX. Aber auch junge Projekte wie Kaidan oder solche mit besonderen Einsatzzwecken wie Poezio und Smack waren vor Ort. Und die Entwickler von Monal und des u.a. in Nextcloud eingebetteten JSXC brachten sich aus der Ferne ein.
Einige Teilnehmende des XMPP-Sprints in Berlin – der Rest war ins Coding vertieft oder wollte nicht mit aufs Foto. Der Anteil weiblicher Entwicklerinnen war leider niedrig, wenn auch nicht ganz so niedrig wie hier auf dem Bild.
Gemeinsam mit Interessierten diskutierten die Teilnehmenden über die Herangehensweisen an ihre Programme, über schöne und nützliche Bedienoberflächen und natürlich auch über die Weiterentwicklung des offenen Standards.
Neue Funktionen: Gruppenentscheidungen leicht(er) gemacht. Und: Vorsicht, Spoiler!
Vor Ort wurden daher auch neue Funktionen in die diversen Anwendungen integriert oder deren Umsetzung diskutiert. Spannend für Gruppenchats und spontane Meinungsbilder ist dabei z.B. ein Voting-Button, mit der man Fragen oder Vorschläge von Freund*innen in den Nachrichten unterstützen oder „downvoten“ kann. Moderne Chat-Apps könnten die Stimmen automatisch zählen und akkumuliert anzeigen, in älteren Apps würden Abstimmungen dann eher wie eine Liste von Emojis mit Daumen hoch/runter oder glücklichen/unglücklichen Smilies aussehen. Neu ist auch eine „Spoiler“-Funktion. Darunter verstehen die Programmierer*innen die Möglichkeit, dass man Bestandteile einer Nachricht am Anfang verbirgt und sie erst auf Klick angezeigt werden. Damit könnten einerseits Spoiler aus Film & Serien nur denjenigen gezeigt werden, die sie wirklich lesen wollen, andererseits eignet sich die Funktion auch für kleine Quizzes oder Fragen-und Antwortspiele (oder Prüfungsvorbereitung).
Wie es mit XMPP in der Jugendarbeit weitergeht
Dank zahlreicher Jabber/XMPP-Clients für die diversen Betriebssysteme hat man eine reichliche Auswahl an Optionen. Etwas schwieriger wird es, wenn man sich auf die Suche nach einem freien XMPP-Server macht, denn ähnlich wie bei einem Mailserver muss dieser von jemanden eingerichtet und betrieben werden. Hier hat der DBJR schon vorgearbeitet: Wir betreiben seit einigen Monaten einen vor allem intern genutzten XMPP-Chatserver. Wir prüfen gerade, wann und wie dieser für andere Nutzer*innen geöffnet werden kann. Voraussichtlich wird dies bereits in den kommenden Wochen der Fall sein.
Die SMS hat ausgedient. Abgelöst wurde sie von WhatsApp, Threema, Telegram oder dem Facebook Messenger. Diese Dienste verbindet jedoch dasselbe Problem: Man ist jeweils komplett von einem Anbieter abhängig, vertraut ihm alle Chats und manchmal sogar das Adressbuch an. Dass es auch anders geht, zeigt der offene Jabber/XMPP-Standard: Ähnlich wie bei E-Mail ist man frei in der Wahl des Servers und der verwendeten Chat-App. Vom 29.-31. März treffen sich Entwickler*innen aus mehreren Ländern Europas beim DBJR, um gemeinsam an Konzepten zu diskutieren, an konkreten Anwendungen weiter zu arbeiten und XMPP nutzerfreundlicher zu machen. Der »XMPP-Sprint« richtet sich an alle, die tiefer in XMPP einsteigen möchten und im besten Fall auch Programmiererfahrung mitbringen. Für Neuinteressierte bieten wir am Samstagvormittag einen Workshop zum Einstieg in XMPP und dessen Nutzung. Mitbringen: Smartphone, Tablet oder Notebook.
Für weitere Informationen und Anmeldung wendet euch an: digital@dbjr.de