Global Illumination for Fun and Profit

Transcription

Global Illumination for Fun and Profit
Wikistreams
Timo Hanisch , Lars Baumelt , Felix Spielmann
FU Berlin Informatik
ABSTRAKT
Wikistreams
verarbeitet
Änderungsprotokolleinträge
der
Wikipedia zu einer Visualisierung. Dabei Interessiert uns wann,
wer, was und wie stark editiert.
STICHWORTE: Wikipedia, Processing, IRC, Bot
INHALT:
1. Einführung
2. Visualisierung
2.1. Erste Entwürfe
2.2. Entwicklung
2.3. Aktuelle Version
1
3.
Erkenntnisse
3.1. Wochenansicht
3.2. Tagesansicht
4.
Technische Umsetzung
5.
Abschluss
5.1. Was es nicht in diese Version geschafft hat
5.2. Installationsanweisungen
Diese Einträge haben wir für jede Sprache und jeden Tag in eine
eigene Datenbank zusammengefasst.
2
VISUALISIERUNG
Durch den Charakter der nacheinander hineinströmenden
Nachrichten sollte unsere Visualisierung einem Fluss
nachempfunden sein. Detailiertere Informationen über jeden
einzelnen Eintrag sollen erst auf Anfrage erscheinen. Im
Vordergrund soll die Übersicht über die Aufzeichnungen stehen.
2.1
Erste Entwürfe
Das erste Entwurfsdesign sollte auf Kreisen basieren. Die Größe
des Kreises beschreibt die Anzahl der Einträge an dem jeweiligen
Tag, von allen aufgezeichneten Sprachen. Einzel und
Gruppenauswahlen sind möglich.
EINFÜHRUNG
Wikipedia ist eine frei zugängliche Wissensdatenbank. Die Artikel
können von registrierten, wie auch anonymen Nutzern erstellt,
editiert und gelöscht werden. Jeder Artikel kann in verschiedenen
Sprachen gleichzeitig existieren.
Zum verwalten der Artikel werden häufig Bots ( automatische
Scripte ) genutzt, welche z.B. den Inhalt gleichnamiger Artikel
zusammenführen, oder Tippfehler und unerwünschte Ausdrücke
in den Artikeln entfernen.
Damit diese Bots ihre Arbeit erledigen können, wird jede
Artikeländerung als Nachricht in einem Internet-Relay-Chat (IRC)
ausgegeben. Für jede Sprache existiert jeweils ein Chat-Raum.
Diese IRC-Nachrichten enthalten:
•
Uhrzeit
•
Artikelname
•
Aktion
•
URL zum Artikel
•
Anzahl der geänderten Zeichen
•
Kommentare der Authoren
Wärend der Arbeit an diesem Projekt haben wir 2 Wochen lang
die Aktualisierungen der Sprachen “Deutsch”, “Englisch”,
“Italienisch”, “Französisch” und “Spanisch” aufgezeichnet.
Je nach IRC-Programm (und damit Aufzeichnungsmöglichkeit)
mussten wir störende Zeichen und Systemeinträge entfernen.
Dabei haben wir uns bei der Auswahl der Einträge auch auf den
Namensraum der “normalen” Artikel beschränkt. Somit sind alle
Artikel mit dem Thema “System”, “Diskussion”, “Benutzer” und
“Datei” herausgefallen.
Figure 1. Erste Entwurfsansicht der Woche
Nach Auswahl eines oder mehrerer Tage gelangt man in die
Tagesübersicht mit dem eigentlichen Strom an Einträgen.
Einträge in einem bestimmten Zeitbereich (5 Sekunden) werden
zusammengefasst. Auch hier bestimmt die Größe des Kreises,
wieviele Einträge in 5 Sekunden aufgezeichnet worden sind.
Die Farben markieren, ob ein Eintrag gelöscht, erstellt oder
verschoben wurde.
Eine Zeitleiste markiert den aktuellen angezeigten Ausschnitt,
Filtermöglichkeiten sind die Sprachen und die Aktionen (Delete,
Add, Moves). Bei der Auswahl einer Eintrags-”Blase” werden die
gesammten Daten angezeigt.
Kontakt: Felix Spielmann | [email protected]
Figure 2. Erste Entwurfsansicht der Tagesübersicht
2.2
Entwicklung
Wärend der programmierung des ersten Entwurfes stellte sich
herraus, dass die Darstellung der Einträge in der Tagesübersicht
eine schlechte Wahl war. Da wir viele tausende Einträge darstellen
müssen, war die Form der Kreise zu Leistungsintensiv.
Verzögerungen und unerwünschtes Ruckeln waren die Folge.
Eine gute Lösung waren Rechtecke (Balken).
Figure
4.
Aktuelle Wochenübersicht
Bei Auswahl eines Tages wird dieser in einem kräftigeren rot
markiert.
Figure 5. Tagesansicht
Figure 3. Neuentwicklung der Tagesübersicht
Jede Unterteilung eines Balkens steht für einen Eintrag. Die größe
der Unterteilung zeigt die Menge der geänderten Zeichen, die
Farbe ob Zeichen hinzugekommen (grün) sind oder entfernt (rot)
worden sind.
An diesem Punkt war zwar die Funktionalität gewährleistet,
allerdings hatten wir uns mit den Balken zuweit von der
ursprünglichen Idee der Visualisierung eines Flusses entfernt.
Dieses Problem lösten wir mit der processing-eigenen ShapeKlasse Curved-Vertex.
2.3
Aktuelle Version
In unserer aktuellen Form der Visualisierung haben wir die
Wochenansicht von Kreisen zu ineinander übergehende Wellen
umgestaltet. Aus komplexitätsgründen ist aktuell nur ein Tag
auswählbar. Auch werden nur 3 von 7 Tagen gezeigt, um den
Betrachter nicht zu sehr abzulenken.
Die Balken in der Tagesansicht sind mit hilfe der Curved-Vertexe
zu Wassertropfen geworden, die über das Fenster fließen. Die
Farbe der Balken hat nun einen dynamischen Verlauf von Rot
(Zeichen entfernt) über Grau nach Grün (Zeichen hinzugefügt).
Beim Auswählen eines Eintrages werden die detailierten
Informationen am rechten oberen Fensterrand ausgegeben.
3
DISKUSSION
Wir beziehen uns in diesem Projektbericht auf einen Zeitraum
vom 20.07.2011 bis zum 24.07. 2011 den wir zur ersten
Visualisierung verwenden. Aufgezeichnet haben wir vom 20.07.
bis zum 03.08.2011. Es ist jederzeit möglich weitere
aufgezeichnete Tage (egal welcher Sprache) hinzu zu laden.
Aufgezeichnete Sprachen waren in unserem Fall:
•
deutsch
•
englisch
•
spanisch
•
französisch
•
italienisch
3.1
Wochenansicht
Wie schon in Figure 4 auffällt, existieren fast keine
größenunterschiede zwischen den einzelnen Tagen. Das bedeutet,
das an jedem Tag praktisch gleich viele Artikel der Wikipedia
bearbeitet wurden.
Eine mögliche Verbesserung wäre die Markierung eines
Maximums
und
die
Einfärbung/Kennzeichnung
nach
Wochentagen.
3.2
Tagesansicht
Wärend dieser Bericht geschrieben worden ist, mussten wir noch
stark mit Performanceproblemen der Tagesansicht kämpfen,
weswegen einige geplante Features nicht implementiert werden
konnten. (Siehe 5.1 Was es nicht in diese Version geschafft hat)
•
5.2
Die Zeitleiste zum verfolgen und bestimmen des
Zeitbereiches hat es aus Zeitgründen nicht in diese
Version geschafft
Installationsanweisungen
Die Library muss in die Processing-IDE importiert werden
Ordner einfach
kopieren
in
"...\processing-1.5.1\modes\java\libraries\"
Außerdem:
Um die Anwendung nutzen zu kühnen müssen folgende Dinge
beachtet werden (leider):
Beim bearbeiten der Datensätze und der Tagesansicht viel uns auf,
dass um die Mittagszeit (MEZ) die anzahl der Einträge stark
ansteigt, dies jedoch unabhängig von den einzelnen Zeitzonen.
Die Datei connections.txt im Pfad /data/ muss angepasst werden:
Auch Datenbankinterne suche nach bestimmten Schlagwörtern
ergibt interessante Erkenntnisse. So ist beispielsweise der
Wikipedia-Artikel über die Anschläge von Oslo eine halbe Stunde
nach dem tatsächlichen Ereignis erstellt worden. Ab diesem
Zeitpunkt entsteht in fast jeder aufgezeichneten Sprache ein
Feuerwerk an Editierungen und Änderungen an diesem Artikel.
Außerdem muss in der Processor-IDE gegebenenfalls die größe
des Virtuellen Speichers erhöht werden.
4
TECHNISCHE UMSETZUNG
Den größten Teil dieses Programmes, die Visualisierung, haben
wir
mit
Processing,
und
der
damit
verbundenen
Entwicklungsumgebung realisiert.
Die Aktualisierungs-Einträge wurden mittels Mirc aufgezeichnet.
Mit einem selbst geschriebenem Java-Programm haben wir die
Aufzeichnungen von störenden Zeichen gefiltert und in eine
HSQL-DatenBank gebündelt. Da wir ca 1GB an Daten
aufgezeichnet haben, haben wir uns für das Lagern als Datenbank
entschieden, da so die Größe der Dateien sehr stark komprimiert
werden kann.
5
ABSCHLUSS
Processing eignet sich sehr gut, um schnelle und kleine
Prototypen zu entwerfen, jedoch ist die Verwendung der
processing-eigenen Entwicklungsumgebung bei einem großen
Projekt absolut nicht zu empfehlen.
5.1
Was es nicht in diese Version geschafft hat
Datum: 12.08.2011:
•
Eine Mehrfachauswahl der Tage war zwar geplant,
konnte aber zu diesem Zeitpunkt noch nicht
implementiert werden.
•
Eine Volltextsuche existiert zwar schon für die
Datenbank, allerdings ist es derzeit nicht möglich, diese
in der Visualisierung zu verwenden.
•
Sprachfilter sind noch nicht implementiert
•
Das Importieren von Aufzeichnungen passiert aktuell
noch von Hand, da das Format der einzelnen Einträge
sehr stark variiert. Auch hier wäre eine Automatisierung
zu realisieren.
Die Absoluten-Pfade müssen auf Ihr System eingerichtet werden.

Documents pareils