{"word_count": 1398, "character_count": 10461}
Nicht ohne gewissen Stolz kann ich verkünden, dass seit ein paar Stunden das Programm #autoChirp als Web-Applikation unter http://autochirp.spinfo.uni-koeln.de zur Verfügung steht. Dieses Programm bietet die Möglichkeit, Tabellen mit Tweet-Texten (und ggfs. Bildern und Geolocations) hochzuladen, die automatisch auf spezifizierte Daten/Uhrzeiten gescheduled werden. #autoChirp ist damit ein Tool, das für Twitter-Projekte nach dem Vorbild von #digitalPast eingesetzt werden kann. Tatsächlich plant Jan Kirschbaum (@talonaut), Historiker an der Uni Düsseldorf, das von ihm geleitete Projekt #NRWHistory mit Hilfe von @auto_Chirp zu bestreiten.IdeeAlles begann mit einem Interview, das Daniel Meßner (@dmeszner) drüben im EDIT-Blog mit Moritz Hoffmann (@moritz_hoffmann) führte. Moritz ist Historiker und einer der Gründer des #digitalPast-Projektes. Im Interview erzählt er, dass er, wenn er selbst des Programmieren mächtig gewesen wäre, er sich die Arbeit für #digitalpast immens hätte vereinfachen können. Damit ging er auf etwas ein, was ich für eine der grundlegenden Herausforderungen der Digital Humanities halte: Auf der einen Seite gibt es fachlich versierte Geisteswissenschaftler, die sehr gute Projektideen haben, die sie aber mit den ihnen zur Verfügung stehenden Mitteln nicht oder nur über Umwege realisieren können. Auf der anderen Seite gibt es Leute, die Fähigkeiten zu anspruchsvollen technischen Umsetzungen haben, denen es aber an Anwendungsfällen fehlt, wo sie diese auch mal einsetzen können. Solche Leute sind z.B. die Studierenden, die wir in unserem Studiengang Informationsverarbeitung ausbilden.Nachdem ich bei Daniel kommentiert hatte, machte ich mir ein paar Gedanken dazu, wie ein Tool aussehen könnte, das man für das automatische Scheduling von Tweets auf bestimmte Daten/Uhrzeiten einsetzen könnte. Eine kurze Recherche ergab, dass es zwar schon mehrere Webseiten gibt, in denen man Tabellendokumente hochladen kann und diese dann zu geschedulten Tweets konvertiert werden. Allerdings sind - soweit ich das gesehen habe - alle diese Angebote kostenpflichtig und nicht Open Source, so dass man sie bei Bedarf nicht durch neue Funktionalitäten erweitern kann. Dabei ist die Umsetzung eines solchen Tools eigentlich nicht allzu schwer - die Twitter-API ist vor allem für die von mir bevorzugte Programmiersprache Java sehr gut dokumentiert und einfach zu nutzen.RealisierungDa zu der Zeit das #histocamp in Bonn anstand, beschloss ich, selbst einen kleinen Prototyp zu bauen, den ich dann dort mit Interessierten besprechen wollte. Da ich aber zum ersten Mal auf einem Historiker|innen-Treff weilte und mich außerdem das WLAN im Veranstaltungsgebäude dauernd im Stich ließ, sah ich erst einmal davon ab, dafür eine eigene Session anzubieten. Trotzdem gelang es, mit ein wenig automatischem Getwitter die Aufmerksamkeit mehrerer Teilnehmer zu erwecken, die sich sehr interessiert an einem solchen Tool zeigten. Das bestärkte mich in dem Beschluss, dass ich mich da mal drum kümmern sollte.[caption id="attachment_1686" align="aligncenter" width="500"] Die Grundidee von #autoChirp: Man kann entweder Wikipedia-Artikel referenzieren oder tsv-Dateien hochladen. Beide werden interpretiert und zu geschedulten Tweets transformiert. Diese werden dann zu den spezifizierten Zeiten getwittert. Bild: jhermes CC-BY-NC (Roboter: Siehe unten, Credits Beitragsbild)[/caption]Glücklicherweise war Alena Geduldig, die als Wissenschaftliche Mitarbeiterin in meinem Kooperationsprojekt mit dem Bundesinstitut für Berufsbildung arbeitet, gerade auf der Suche nach einem Thema für ein Projekt, das sie im Zuge eines Mastermoduls bei uns bearbeiten sollte. Verantwortlich für das Modul ist Øyvind Eide (der auch hier bei Hypotheses bloggt), dem ich den Vorschlag unterbreiten konnte und der ihn mit kleinen Modifikationen gut hieß. Alena fand im Hauptseminar mit Philip Schildkamp einen kongenialen Mitstreiter, so dass das Projekt #autoChirp zügig aufgegleist und inzwischen in der Version 1.0 online gehen konnte.Da Philip parallel den Kurs WebApps von meinen Kollegen Miha Atanassov und Claes Neuefeind besuchte, entschieden sich die beiden, eine auf dem Java-Spring-Framework basierende Web-Application zu bauen, welche folgende grundlegenden Funktionalitäten bieten sollte:Frontend: Barrierefrei über die gängigen Browser zu erreichen (HTML5)Benutzerverwaltung über Twitter - alle Aktionen werden dem jeweils angemeldeten Account zugeordnet.Sekundengenaues Scheduling: Im Gegensatz zur Schedule-Funktion von TweetDeck kann man Tweets geordnet absetzen, indem man sie um Sekunden versetzt anordnet.Manuelles Scheduling: Tweets und Tweetgruppen können direkt in #autoChirp angelegt werden und auf Daten/Uhrzeiten geschedulet werden.Csv2ScheduledTweets: Upload von csv-Dateien, in denen Datum, Uhrzeit, zu twitternder Text und gegebenenfalls Links zu Bildern sowie Geolocation spezifiziert sind, die zu geschedulten Tweets umgewandelt werden. Der Delay in Jahren (etwa +70, wenn Daten von 1946 im Jahr 2016 getwittert werden sollen) kann dabei manuell spezifiziert werden. Dabei hat man nach dem Upload noch die Möglichkeit, die interpretierten Tweets zu kontrollieren und ggfs. zu modifizieren.WikipediaPage2ScheduledTweets: Angabe der URL einer Wikipedia-Seite, Extraktion temporaler Ausdrücke, Scheduling der diese Ausdrücke umgebenen Sätze auf die entsprechenden Daten. (Diese Komponente wurde auf  die Bitte von Øyvind Eide in das Projekt aufgenommen, um auch ein sprachverarbeitendes Modul zu implementieren).Betreut durch Øyvind (und selbstredend auch ein wenig durch mich) fand die Entwicklung während des letzten Wintersemesters statt. Am 22.3. wurde das fertige Projekt von Alena und Philip eingereicht. Eingesetzt wurden neben modernen allgemeinen Softwarelösungen wie dem Java-Spring-Framework auch Komponenten anderer DH-Projekte wie HeidelTime (hier ein dickes Dankeschön für den super Support von Jannik Strötgen und Julian Zell).AnwendungEs kommt - jedenfalls, nachdem, was ich so mitbekomme - nicht allzu oft vor, dass studentische Hauptseminarprojekte auch außerhalb der entwickelnden Uni zur Anwendung kommen. Für #autoChirp sehe ich aber sehr gute Chancen. So konnte ich Anfang März bereits eine Beta-Version des Programms bei einem Workshop von Jan Kirschbaum (#NRWHistory) an der Heinrich-Heine-Uni Düsseldorf (als Kölner!) vorstellen, wo die Teilnehmer bislang fast 1500 zu twitternde Ereignisse zusammengetragen haben, die im Laufe des nächsten halben Jahres die Gründungsgeschichte des Landes Nordrhein Westfalen von April bis September 1946 im Jahr 2016 nachzeichnen sollen. Jan hatte noch zwei Erweiterungswünsche (die Einbettung von Bildern und von Geotags), die Alena und Philip aber tatsächlich noch kurz vor Projektabgabe eingearbeitet haben. Ich bin sehr zuversichtlich, dass #autoChirp das automatische Twittern für dieses Projekt wird übernehmen können. Im April wird auch Moritz Hoffmann einen Gastvortrag zu #digitalPast in unserem DH-Kolloquium halten, wo sich ebenfalls mögliche Anschlussprojekte ergeben könnten.[caption id="attachment_1678" align="aligncenter" width="500"] Screenshot von #autochirp mit der Ansicht der Tweets, die - inkl. Bildern und Geolocations - aus einem csv-File herausgelesen wurden. Bild: jhermes CC-by[/caption]Auch weiteren Interessierten, die ähnliche Projekte planen, steht das Tool auf unserem Server unter https://autochirp.spinfo.uni-koeln.de zur Verfügung - jedenfalls solange es nicht von Bots oder was auch immer besetzt wird und unseren Admin (Oliver Hummel, dem ich hier auch für seinen Einsatz danken will) in die Verzweiflung treibt.[Achtung: Die csv-Dateien, die hochgeladen werden, müssen momentan noch UTF-8 codiert sein, das versuchen wir noch zu erweitern. Manchmal braucht man zwei Versuche, um auf die Twitter-Anmeldeseite zu kommen und wir können derzeit auch keine Garantie geben, dass wirklich auch alle geschedulten Tweets rausgehauen werden. Ihr seid also so etwas wie Beta-Tester (vor allem Jan ist das gerade). Auch andere Bugs können noch auftreten, bitte melden, falls ihr welche findet. So ist das halt mit Software - die Wanzen wird man nie ganz los.]AusblickMomentan kommt das Backend noch ein wenig spartanisch daher - in der Datenbank werden lediglich die von bestimmten Nutzeraccounts abhängigen Tweets in Gruppen gespeichert und wenn das Nutzerprofil gelöscht wird, werden auch alle abhängigen Daten aus der Datenbank  entfernt. Zur Archivierung DigitalPast-ähnlicher Projekte eignet sich #autoChirp daher bisher noch nicht, ein Ausbau des Systems in dieser Richtung wäre aber denkbar als ein mögliches Folgevorhaben (für die nächsten Hauptseminarstudent|inn|en oder sonstwen, der sich dazu berufen fühlt). Eine weiterer möglicher Entwicklungsschritt wäre die Ausweitung der automatisierten Temporal-Expression-Erkennung und -Vertweetung auf Webseiten jenseits des Wikipedia-Formats. Denkbar wäre damit dann ein automatisierter Agent, der zu ausgewählten Themen eigenständig das Netz durchsucht und die Ergebnisse weitgehend selbständig vertwittert - das hätte dann allerdings wohl eher den Umfang einer Masterarbeit oder womöglich sogar einer Dissertation.Wo auch immer die Reise hingehen wird - der komplette, bisher erstellte Code ist jedenfalls jetzt schon unter der GNU General Public Licence (GPL 3.0, also Open Source) veröffentlicht und unter https://github.com/spinfo/autoChirp abrufbar. So kann jede|r noch eigene Modifikationen vornehmen und sich autoChirp auf dem eigenen Server installieren - Voraussetzung dafür ist allerdings, dass man sich bei Twitter eine eigene App registriert (Anleitung hier).Die Entwicklung des Tools ist für mich ein kleines Steinchen des Hauses, das wir momentan für die Digital Humanities bauen. Die Idee ist entstanden über die Kommunikation über Twitter und Blogs, von Fachwissenschaftlern gestellte Anforderungen wurden mit denen von Lehrenden eines DH-Studiengangs abgeglichen, Studierende haben eine Menge lernen können und heraus kommt ein Tool, welches ohne große Hürden nutzbar ist und das in seiner (erweiterbaren!) Funktionalität das Leben von einigen Projektmitarbeitern erleichtern kann. Wenn sie es denn nutzen. Für Fragen, Verbesserungsvorschläge und die Vermittlung möglicher Weiterentwicklungen stehe ich jedenfalls sehr gerne zur Verfügung!_______________________________________________Beitragsbild: FlySi licensed for reuse under CC BY-NC-SA 2.0  under Creative-Commons  license[cite]