Project - Usenet Visualization Tool
Problem Statement
The objective of the project is to visualize the threads in a given newsgroup, visually.
The project is based on the Usenet Visualization tool , Loom available
here .
Screenshots
Normal View
The project uses OpenGL for rendering the threads.
All the screenshots denote the visualization of the newsgroup netscape.public.general
available at the newsgroup server news.mozilla.org .
Figure 1: Normal Display of messages (keyboard shortcut: n)
The X-Axis represents the timeline whereas the Y-axis represents the identification of posters
(name and email id) sorted alphabetically.
The message body is available on the right side, with the timestamp and the body of the message
available in the toolbox. They become available as and when we select a given message.
The messages can also sorted by the number of posts made by posters.
The same newsgroup is visualized as follows.
Figure 2: Messages displayed by sorting of number of posts made by people(keyboard shortcut: a)
Time And Date
On hovering over a given point, the message details (Date. Time, Sender, Subject) are
displayed using the GLUT library on the top of the message.
Color
Every message is denoted by a single point. And the threads from a given message to its children are treated by
different colors.
A link from a message to its parent message in a given thread is represented by
a *cyan* color, whereas a link from a parent message to a child message is represented by
a *green* color. The following screenshots show the same.
Figure 3: Link from a message to its child message(Click on a message to view children)
Figure 4: Link from a message to its child message(Click on a message to view children)
Thread View
Sometimes it might be interesting to segregate those conversations that initiate the threads
and those that are replies to messages.
Figure 5: White points represent new threads and red points represent replies<(keyboard shortcut: t)
Having segregated the visualization, the user might want to suppress the display of replies altogether.
Figure 6: Thread messages with replies suppressed(keyboard shortcut: s)
Navigation
Hover over a dot, that represents a message to know more details about the same (date . time , suject )
Click on a dot, a message that represents a message to display the message body on the r.h.s panel.
Keyboard shortcut : u, to be pressed to navigate to the parent of the current message selected.
Implementation
The project is implemented in Python.
In addition to Python, PyOpenGL and PyFLTK also needs to be installed on the system
to see the results.
OpenGL is used for rendering the threads. FLTK is used as the windowing toolkit.
PyOpenGL is available here .
PyFLTK is available here .
The sources are available here.