In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
Dies ist die Dokumentation über meine Arbeitsergebnisse aus dem Kurs „Programme entwerfen“ - begleitet und betreut von Martin Guder.
Aufgabe des Kurses war die Auseinandersetzung mit dem Thema „Recycling“ in Form einer mit Processing gesteuerten Visualisierung.
Wie man dieses Stichwort nun verstand, war dabei völlig frei. Es konnten Daten verschiedenster Quellen wiederverwendet werden. Oder man entschied sich für das Thema „Cycling“ oder „Recycling“ im eigentlichen Sinne.
Der TwitterGraph ist der Versuch einer Live-Visualisierung der von Twitter empfangenen und vom Autor geolokalisierten Statusnachrichten. Dabei werden entsprechend der Längen- und Breitengrade eines Twitterdatensatzes Punkte, Linien und Kreise gezeichnet. Er visualisierte auf diesem Wege Statusnachrichten, Orte, Hashtags und Unterhaltungen in einem bestimmten Zeitfenster.
Mit Hilfe einer Timeline und abrufbarer Informationen kann der Betrachter live Aktivitäten der Nutzer auf Twitter mitverfolgen.
Der TwitterGraph ist in drei wesentliche Bereiche unterteilt.
Der erste Bereich, der Datensammler, ist für das Empfangen und Sammeln der Twitterdaten zuständig. Mit Hilfe der [Twitter4J-Bibliothek](http://twitter4j.org/ „Twitter4J-Bibliothek“) werden einzelne Anfragen an die Twitter-API gestellt und eine dauerhafte Verbindung zur API aufgebaut. Auf dieser dauerhaften Verbindung werden nun im ersten Schritt Statusnachrichten empfangen, die neben der eigentlichen Nachricht noch Informationen über den Autor, verwendete Hashtags, andere vermerkte Nutzer, etc. enthalten. Zu jeden dieser Datensätze wird eine neue Anfrage generiert, zu der wieder Twitter-Nachrichten empfangen werden können. Auf diesem Wege entsteht ein exponentiell wachsender Baum an unter sich abhängigen Datensätzen, die in den nächsten Bereichen zur eine Visualisierung vermengt werden.
Exponentiell wachsender Anfrage-Baum
Der nächste Bereich, der eigentliche Speicher, überprüft nun, ob die an ihn übergebenden Daten geolokalisert wurden, also ob Längen- und Breitengrade verfügbar sind, um sie im letzten Bereich darstellen zu können. Er überprüft und sichert außerdem Abhängigkeiten und wandelt die Daten in performante und ressourcenschonende Portionen um, um Speicherüberlauf und Lags während der Visualisierung zu vermeiden.
Im letzten Schritt ist er dann für die Speicherung der Daten zuständig, die er auf ihr Alter überprüft und ggf. wieder löscht. Die Berechnung der Farben erfolgt auf Basis der Länge einer oder mehrerer mit dem Objekt verbundenen Statusnachrichten.
Daten im TwitterGraph
Im letzten Bereich, dem Sketch, werden diese Portionen nun gezeichnet und animiert. Er übernimmt außerdem die Darstellung der Informationen, wenn sich die Cursor über den Objekten befindet, und der sich stets an die aktuelle Uhrzeit anpassende Zeitleiste.
Die sehr handliche Bibliothek [Ani](http://www.looksgood.de/libraries/Ani/ „Ani“) hilft bei der visuellen Entstehung, Bewegung und Löschung der Objekte.
Entstehung der Farben im TwitterGraph
Formsprache des TwitterGraphs
Natürlich ist die Visualisierung in ihrem aktuellen Stand noch nicht perfekt und komplett. Informationen über Anzahl an dargestellten Statusnachrichten und Orten oder eine Karten ähnliche Zoom- und Navigations-Funktion wären bestimmt noch sinnvolle Weiterentwicklungen. Weiterentwicklungen, die mich sicherlich auch über den Kurs hinaus noch vor meine Entwicklungsumgebung ziehen werden.
Der Kurs war für mich eine gute Gelegenheit tiefer in die Programmierung mit Processing und Java einzusteigen. Denn obwohl ich schon Erfahrung in anderen Programmiersprachen besitze, war die Umsetzung der notwendigerweise sehr komplexen Struktur des TwitterGraphs eine große Herausforderung.
Im Großen und Ganzen bin ich mit der Visualisierung sehr zufrieden. Freunde und Bekannte, die den TwitterGraph verwendeten, hatten Spaß daran, die Visualisierung wachsen zu sehen und zu erkunden.
Gerne hätte ich jedoch ohne die von Twitter limitierten Anfragefenster gearbeitet, um noch zahlreichere Daten und eine noch belebtere Visualisierung zu generieren.