Sommerprojekt: Facebook Gruppen Manager in Dart

Seit einer Woche bin ich in Tirol, zuvor habe ich mich auf die Prüfungen in der Uni konzentriert. Somit ist Dart etwas in den Hintergrund gerückt. Ich habe täglich etwa zwei Stunden, die ich am Computer verbringe. Da sollte ich bloggen, einen Buchbeitrag und einen Magazinartikel schreiben. Daneben das Sommerprojekt. Mehr Effektivität ist gefragt. Aber dazu ein anderes Mal. Heute möchte ich meinen Plan für das Sommerprojekt konkretisieren.

Warum Facebook Gruppen?

Ich möchte etwas machen, das ich auch selbst nutzen werde. Einerseits, weil ich glaube, dass es dadurch besser wird und andererseits, weil ich dadurch auch dann einen Nutzen habe, wenn es sonst niemand verwendet. Es gibt zahlreiche Tools, um Twitter und Facebookzeugs zu verwalten. Meist auf Unternehmen ausgerichtet, weil dort angeblich am meisten Geld zu holen ist. Facebookgruppen haben sich inzwischen für unterschiedliche Themen als zentrale Diskussionsstellen entwickelt. Sie bieten viele Vorteile, am wichtigsten ist wohl die direkte Integration in Facebook, wodurch Menschen viel eher mitmachen und auch bei Diskussionen dranbleiben, statt einen Beitrag reinzuwerfen und dann wieder abzuhauen. Neben den zahlreichen Minigruppen für kleine Projekte wie etwa Uniarbeiten und privates Zeug gibt es eben auch rund um bestimmte Themen große Gruppen mit mehreren tausend Mitgliedern. Für mich am wichtigsten sind da Deutschlands Blogger_innen, Österreichs Blogger_innen und die Gruppe für Studierende der Uni Paderborn. Die letzte moderiere ich alleine.

Probleme bei Facebook Gruppen

Während die Nutzung von Facebook Gruppen sehr einfach gehalten ist, ist die Moderation eher umständlich. Erst seit kurzem gibt es etwa beim Annehmen und Ablehnen von Mitglieder_innen ein paar Zusatzinfos, um nicht jedes Profil einzeln anklicken zu müssen, ob es sich um einen normalen Account handelt.

Spam

Aufgrund der Beliebtheit der Gruppen gibt es ziemlich viel Spam. Dieser kommt in drei Formen. Komplett automatisiert: Meist wird unter jeden Beitrag ein Kommentar mit dem Angebot von total tollen Krediten gesetzt oder ein Beitrag gepostet, wo Turnschuhe oder Sonnenbrillen angepriesen werden. Die Spam-Accounts sind meist nur wenige Tage alt und werden von Facebook recht schnell gelöscht. Durch die Masse der Kommentare und der damit einhergehenden Zerstörung der natürlichen Reihenfolge der Beiträge aber sehr nervig. Affiliatespam: Vor allem Amazon, manchmal aber auch anderes. Einfach zu erkennen über den Link. Allerdings meist von echten Personen gepostet, wodurch sie erst durch den Post selbst erkennbar sind. Außer man sieht sich an in welchen Gruppen sie sonst sind. Wenn es viele Gruppen ohne Verbindungen sind, kann man sich recht sicher sein. Es gibt aber auch Gelegenheitsaffiliatespammer, die normal an der Gruppe teilnehmen und dann irgendwann einen Spambeitrag absetzen, weil sie etwa von Amazon dazu verführt wurden. Blog/Page/Gruppenspam: Blogbeiträge, ähnliche Gruppen oder auch Facebookseiten werden beworben. Manchmal macht es Sinn, oft sind es aber auch Leute, die sonst nicht in der Gruppe mitdiskutieren. Kann man löschen, kann man manchmal aber auch stehen lassen.

Kaputte Suche

Die Suche in Gruppen funktioniert hin und wieder gar nicht und gibt auch sonst nicht immer vollständige Ergebnisse. Es gibt keine Suchoperatoren und somit ist es ziemlich schwierig das richtige Ergebnis zu bekommen.

Fast keine Moderationstools

Als Moderator_in kann man Beiträge löschen und Personen entfernen oder bannen. Außerdem kann man einstellen, dass nur Moderator_innen Personen in die Gruppe aufnehmen können und dass jeder Beitrag vorher abgesegnet werden muss. Sonst nichts.

Plan für Facebook Groups Manager

Vorerst gibt es keinen Namen. Wer Vorschläge hat, gerne in die Kommentare.

Ich möchte das Ganze komplett in Dart umsetzen. Frontend und Server. Das wird etwas kompliziert, weil ich noch am Anfang stehe und es für Dart, im Gegensatz zu vielen anderen Sprachen, nur wenige Infos gibt. Außerdem kenne ich mich so gut wie gar nicht mit Serveradministration aus und plane nicht dies zu ändern. Ich hoffe darauf, dass ich das Projekt bald auf einer Google App VM Dingens deployen kann. Bis dahin läuft es einfach lokal.

Authentifizierung mit Facebook wird der erste Schritt sein. Auch hier fehlt ein Informationspool aus dem ich schöpfen könnte. Aber ein Post auf stackoverflow gibt eine erste Anleitung, an die ich mich halten werde. Vielleicht kann ich auch etwas aus dem fb-reporter code etwas lernen.

Das erste Feature wird eine Suche sein. Dafür muss ich alle Beiträge mit soviel Zusatzinfo wie Facebook hergibt in eine eigene Datenbank packen. Und vorher schauen, wie weit das in den TOS erlaubt ist. Die Suche selbst wird vorerst rudimentär sein. Alle Beiträge von User X, mit Begriff Y, im Zeitraum A-B, mit Z Kommentaren, mit V Likes, mit Links, mit Bild und ähnliches. Zu allererst einfach die Darstellung der Beiträge mit der Möglichkeit zu blättern.

Wenn ich die Suche bis September schaffe, bin ich schon zufrieden. Danach würde ich gerne entweder eine Userverwaltung oder ein halbautomatisches Moderationstool bauen. Bei der Verwaltung würden alle User synchronisiert werden und anschließend gibt es unterschiedliche Möglichkeiten die Mitglieder_innen darzustellen und zu sortieren. Nach der Dauer, die sie schon der Gruppe sind, der Anzahl von Beiträgen, Kommentaren und Likes und ähnlichen. Vielleicht auch ein paar allgemeine Statistiken. Altersverteilung, Aktivität der Gruppe, Arten der Beiträge, Aktivität bei Beiträgen, aktivste User (Beiträge/Kommentare/Likes). Beim halbautomatischen Moderationstool ginge es darum, dass man bestimmte Dinge automatisch oder halbautomatisch moderieren lassen kann. Etwa dass Beiträge mit Affiliatelinks sofort gelöscht werden (und die Person entfernt wird). Oder dass man eine Blacklist mit Worten erstellen kann und man eine Übersicht der Beiträge bekommt, die betroffen sind, sodass man sie sofort entfernen kann. Ich könnte mir auch vorstellen, dass man die Liste an gebannten Personen zwischen unterschiedlichen Gruppen synchronisieren kann oder sogar einen toolweiten Pool macht, wodurch man etwa sehen kann, wenn eine Person bereits in x anderen Gruppen geblockt ist. Oder man kann einstellen, dass Personen, die diesen oder jenen Kriterien entsprechen automatisch hinzugefügt werden. Möglichkeiten gibt es viele, aber ich habe die Befürchtung, dass die Facebook API nicht alles hergibt und/oder man Gefahr läuft, dass der eigene Account als Bot geblockt wird. Da muss ich mich noch informieren.

Tipps und Hinweise


wallpaper-1019588
The Great Cleric: Serie wird auf Disc erscheinen
wallpaper-1019588
Why Raeliana Ended Up at the Duke’s Mansion: Disc-Release geplant
wallpaper-1019588
SHY: Anime erscheint als Gesamtausgabe auf Disc
wallpaper-1019588
86: Eighty Six – Anime erscheint auf Disc + Vorbestellung