Interview mit Daniel Gultsch – Entwickler der App Conversations

6
8954
Logo Conversations

Vor einiger Zeit hatte ich Interviews mit diversen Blog-Betreibern rund um die Thematik Open Source geführt. Nun wollte ich auch Entwickler zu Wort kommen lassen, was sie motiviert ihre Projekte als Open Source auf den Markt zu bringen.

Heute steht mir Daniel Gultsch, der Entwickler der App Conversations, Rede und Antwort.

intux: Wie kam es dazu eine App wie Conversations zu programmieren?

Daniel: Ich bin von der Idee getrieben unabhängig von großen Konzernen wie Google zu sein und würde meine wichtigen Daten entweder gerne selber hosten oder einem kleineren Anbieter überlassen. Nicht unbedingt weil ich glaube, dass Google groben Unfug mit meinen Daten betreibt, sondern einfach weil ich längerfristiger denke und mich nicht unbedingt darauf verlassen möchte, dass es Google in 10 Jahren noch gibt. Deshalb ist auch meine E-Mail Adresse auf meiner eigenen Domain. Falls der eine Anbieter seinen Betrieb einstellt, bin ich jeder Zeit in der Lage zu einem anderen zu wechseln, ohne das meine Kontakte davon etwas mitbekommen. Als ich 2012 mein erstes Smartphone gekauft habe, wurde Google Hangouts jedoch zu meinem primären Messenger, da es eines der wenigen Systeme war, dass eine brauchbare UX hatte und einen nahtlosen Wechsel zwischen Desktop und Handy ermöglicht hat. Im Hinterkopf hatte ich aber immer die Frage, ob man so etwas wie Hangouts nicht auch in anbieterunabhängig umsetzen kann. Im Januar 2014 habe ich dann angefangen diese Frage auf ihre Praxistauglichkeit zu überprüfen und daraus ist dann Conversations geworden.

intux: Warum hast Du Dich gerade für Android entschieden?

Daniel: Conversations war und ist immer noch primär ein Tool für mich selbst. Und Android war einfach die Plattform die ich selber genutzt habe. Auf eine gewisse Art und Weise war das aber auch eine glückliche Fügung da Android Apps (damals) in Java programmiert wurden und ich Java zu dem Zeitpunkt schon halbwegs konnte.

intux: Conversations ist als Client für Android in aller Munde. Hast Du mit diesem Erfolg gerechnet?

Daniel: Ist es das? In aller Munde? Ich glaube in der deutschen Free Software Community hat Conversations mittlerweile eine gewisse Bekanntheit erreicht. Außerhalb dieser Bubble und außerhalb des deutsch- und französischsprachigen Raums geht es dann mit dem ‚Erfolg‘ aber auch schnell wieder zurück. Ich denke das ist zum Teil dem Netzwerkeffekt geschuldet der an Sprach- oder Kulturgrenzen immer auf gewissen Widerstand stößt und zum Anderen fällt das Thema Datenschutz im europäischen Raum natürlich auch auf fruchtbareren Boden.

Habe ich mit dem Erfolg gerechnet? Ja, schon irgendwie. Ich glaube einfach, dass Jabber im Allgemeinen und Conversations im Speziellen ein gutes Produkt ist.

intux: Wo lagen die größten Schwierigkeiten?

Daniel: Technisch gesehen bin ich eigentlich nie wirklich gegen eine Wand gelaufen. Nichts in Conversations ist auch nur annähernd Raketenwissenschaft. Vieles ist schlicht relativ nervige Fleißarbeit durch die man einfach durch muss.

Die größten Schwierigkeiten sehe ich darin, die notwendige Aufmerksamkeit der Medien (oder anderer Multiplikatoren) zu bekommen. So habe ich zum Beispiel für das 0.1 Release damals und dann nochmal für das 1.0 Release sämtliche (deutschsprachigen) Nachrichtenseiten angeschrieben. Da ist nie etwas daraus geworden. Das kann richtig frustrierend sein, wenn man sieht welche anderen, wirklich total irrelevanten Messenger, manchmal Newsstories bekommen. Oder noch schlimmer wenn irgendein ‚Celebrity‘ auch nur *ankündigt* eventuell bald mal einen Messenger zu veröffentlichen ist das sofort eine Nachricht wert. Aber Conversations – ein fertiges Produkt – wird komplett ignoriert.

Eine weitere Schwierigkeit, die leider auch nicht direkt in meiner Kontrolle liegt, ist die eher schlechte Qualität der Desktop-Clients. Conversations ist immer nur so gut wie der Rest des Ökosystems. Oder, um es anders auszudrücken – die häufigste Kritik an Jabber die ich höre ist: Conversations ist ja OK aber die anderen Clients sind Mist. Und da haben diese Kritiker auch nicht unrecht. Und aus diesem Problem gibt es auch keinen einfachen Ausweg. Softwareentwicklung kostet vor allem Zeit. Ich glaube, so lang es keinen Desktop-Client gibt der in Vollzeit entwickelt wird – sprich solange es niemand gibt der die Möglichkeit und die Bereitschaft dazu hätte – wird sich daran auch nicht viel ändern.

Das ist einer der Gründe warum ich im Moment Vorträge zum Thema „Wie verdiene ich Geld mit Conversations“ halte. Ich habe die Hoffnung, dass dies vielleicht einen der bestehenden oder einen neuen Entwickler motiviert es mir gleich zu tun.

intux: Unterscheidet sich die App aus dem Playstore von der aus F-Droid?

Daniel: Nicht wirklich. Die Version im Google Play Store kann Google Cloud Messages (Push Notifications) benutzen. Das XMPP ist allerdings nicht darauf angewiesen und funktioniert auch ohne. Der Grund warum das nicht in F-Droid ist, ist nicht damit die kostenpflichtige Variante einen Mehrwert hat, sondern weil die Push Library nur binär vorliegt und F-Droid dies nicht mit in seine Apps einbauen möchte.

intux: Denkst Du XMPP kann in Zukunft gegen Modelle wie Matrix bestehen?

Daniel: Was ist denn das Matrix Modell? Ich glaube die technischen Unterschiede zwischen Matrix und XMPP kann man ignorieren. Klar ist Matrix noch ein recht junges Protokoll und noch finden das alle toll. Aber jeder der schon mal Softwareentwicklung betrieben hat weiß, dass APIs wenn sie noch jung sind immer total super wirken; im Laufe der Zeit ändert sich das dann zu ‚OK‘ und irgendwann wird es dann ein ‚Meine Fresse was haben wir denn da für ein Mist gebaut‘. Der Trick ist dann, sich irgendwie damit zu arrangieren und das Beste daraus zu machen. Der Vorteil den Matrix im Moment hat ist, dass sie 12 Entwickler in Vollzeit beschäftigen können. Klar, dass da zumindest kurzfristig Produkte raus kommen die an der Oberfläche vielleicht etwas schicker aussehen. Wie beständig das langfristig wird, muss sich zeigen. Ob sie es hinbekommen auch langfristig das Protokoll zu pflegen und die Community auch in der Weiterentwicklung mit einbeziehen können wissen wir dann in 10 Jahren. Sollte dem so sein, dass Matrix ein Standard für anbieterunabhängige Kommunikation wird, der auch zukunftssicher ist, dann ist ja auch alles super. Also dann wäre mein persönliches Ziel – anbieterunabhängige Kommunikation zu haben – ja erreicht. 

intux: Lange Zeit habe ich meine Unterhaltungen mit OTR verschlüsselt. OMEMO setzte sich jedoch nach und nach immer mehr durch. Nun wurde OTR aus Conversations verbannt. Was hat Dich dazu bewogen?

Daniel: Da gibt es eine Reihen von Gründen die für sich alleine genommen vielleicht nicht diesen Schritt ausgelöst hätten, in der Summe jedoch ziemlich schwerwiegend sind. Ohne bestimmte Reihenfolge:

  • OTR kann Nachrichten nicht zwischen mehreren Geräten synchronisieren. Die Möglichkeit zwischen Desktop und Handy zu wechseln ist einer der selling Points von Jabber
  • OTR war für Jabber ziemlich schlecht spezifiziert. So haben manche Clients zum Beispiel HTML verschickt ohne irgendwie zu signalisieren das dort gerade HTML verschickt wurde. Conversations weiß dann nicht ob der andere Nutzer gerade <b>fett</b> geschrieben hat oder nur das Wort ‚fett‘ in dicker Schrift. Außerdem war nie ganz klar, wann und unter welchen Umständen denn Sitzungen auf und wieder abgebaut werden, was das Protokoll extrem unzuverlässig gemacht hat.
  • Die Verifikation war nicht blockierend umgesetzt. Wenn ich eine Nachricht schreibe und der Schlüssel des Gesprächspartners sich geändert hat, hat Conversations dies zwar angemerkt aber die Nachricht trotzdem verschickt. Ähnlich wie WhatsApp das tut. Dies erschien mir allerdings nicht mehr zeitgemäß
  • OTR war ziemlich bekannt. OTR war ein Name der vielen Benutzern etwas gesagt hat. Deswegen gab es Nutzer die OTR OMEMO vorgezogen haben, dann über die oben genannten Nachteile gestolpert sind und dann Jabber als Ganzes als ‚unzuverlässig‘ abgeschrieben haben.

Die Idee OTR aus Conversations 2.0 zu entfernen und OMEMO standardmäßig zu aktiveren, gab es schon sehr lange und war lange geplant. Ich hab nur auf den richtigen Zeitpunkt gewartet. Dies war erreicht, nach dem OMEMO eine gewisse Durchsetzung erfahren hat.

intux: Du hast dieses Jahr einen Vortrag auf den Chemnitzer Linux-Tagen gehalten. War das eine Eintagsfliege oder kommst Du wieder?

Daniel: Ich hab auch 2009 schon einen Vortrag auf den Linux Tagen gehalten. 2016 hatten wir einen Stand. Eine Eintagsfliege war das also nicht. Ich muss natürlich eine gute Idee für einen Vortrag haben, die Zeit dafür haben und der Vortrag muss angenommen werden. Aber prinzipiell auf jeden Fall.

intux: Wird es irgendwann Conversations für iOS geben?

Daniel: Wahrscheinlich nicht. Einen Client zu schreiben ist ein Vollzeitjob. Ich müsste also Conversations für Android aufgeben, um Conversations für iOS zu entwickeln. Zudem sind die Einstiegshürden für iOS Entwicklung relativ hoch, da man sowohl ein teures iPhone als auch ein teures MacBook braucht. Und ich kann mir gerade nicht vorstellen einen Mac benutzen zu müssen oder dafür sogar Geld auszugeben.

intux: Ist ein Desktop-Client geplant?

Daniel: Ähnliche Antwort wie zum Thema iOS. Einen Client zu entwickeln ist ein Vollzeitjob und ich kann nicht zwei Vollzeitjobs haben. Im Moment ist wie auch vorher schon erwähnt meine Strategie eher anderer Entwickler dazu zu motivieren Geschäftsmodelle zu finden und selber die Zeit in einen Desktop Client zu stecken.

intux: Vielen Dank für das Interview, Daniel.

6 Kommentare

  1. „Ich hab auch 2005 schon einen Vortrag auf den Linux Tagen gehalten. 2016 hatten wir einen Stand.“

    Sollte das 2005 ein 2015 sein?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein