Activeworlds Chat Visualization Tool Kit Documentation
by Alan Lin, SLIS

Table of Content

1.  Introduction

2.  Activeworlds Log Files

     2.1 Chat Log
     2.2 World Log
     2.3 Chat Category

3.  Applications

     3.1 GraphChat
     3.2 GraphWorldLog
     3.3 ChatTime
 


1.    Chat Visualization Tool Kit

The Chat Visualization Tool Kit is written in Java programming language. It can generate graphs and text based on Activeworlds log files. The tool kit contains three applications:
1)     Graph Chat Program
2)     Graph World Log Program
3)     ChatTime Program


2.    Activeworlds Log Files

2.1    Chat Log File
In the Activeworlds environment, users have the option to save the chat content. If this function is enabled, all the chatting, including whispers, in the pre-set perimeter around the users will be recorded. This file contains participants’ names and utterances. (See figure 1)
Figure 1. Chat Log File
Download Sample File

2.2    World Log File
World log file on the other hand does not have either names or utterances. However, this file holds date, time, IP address, and events. (See figure 2) The world log file is not public accessible. Only the administrator of the world has the right to obtain this file.
Figure 2. World Log File
Download Sample File

2.3    Utterance Category File
The only file that is not generated in Activeworlds environment is the utterance category data file. This file is generate by assigning type, represented by number, to each utterance. For example type 1 utterance is “greeting”, type 5 is “question” etc. (See figure 3)
Figure 3. LSA File
Download Sample File


3.    Applications

3.1    GraphChat Program

Purpose
This application allows user to generate graphic representation on chat log file. This file is the recording of all the chatting activities in the Activeworlds environment. By re-arranging this file and presenting in a graphic way will provide a meaningful way for user to interpret the chatting activity.

Input
This program takes two kinds of input files- chat log and chat category file. Chat log file is required for this program and chat category file is optional. Note that the chat log file in this case is the combination of all the chat log files you received. The combinationof these chat files is done by appending the files to one and other. The program will resolve any redundancy of the utterances resulted by the combination.

Output
The application produces one output files named “ChatLogOUT.txt” and four graphs based on chat log file. These four graphs are: (Detail explanation and sample of each graph is in the section follows)
     1). Graph Chat: Visualizing the Length of Chat&Whisper Utterances
     2). Graph Chat: Visualizing the No of Unique&Duplicate Utterances
     3). Graph Chat: Visualizing the Average Utterance Length
     4). Graph Chat: Visualizing the No of Unique Utterances

 
If chat category file is provided, the application can create one output file name
“TypeOUT.txt” and two graphs base on the file. These two graphs are: (Detail
explanation and sample of each graph is in the section follows)
     1). Graph Chat: Visualizing the No of Utterance Types
     2). Graph Chat: Visualizing the Type of Chat&Whisper Utterances
 

How To Run
In iuniverse directory, go to ../ChatVisToolKit/GraphChat. You will find 12
Java source files for this application.
 
chatlog.java avgFrame.java
chatdata.java dupFrame.java
chatParser.java typeUtterFrame.java
chatSort.java uniFrame.java
FormatWriter.java LSAframe.java
FeneralSorts.java gFrame.java

To start this application, you have to compile the source file by doing: $javac *.java
The main class routine, chatlog.class, takes three parameters. The first parameter is the type of graph you want to generate.
        0 = No Graph
        1 = GraphChat: Visualizing the Length of Chat & Whisper Utterances
        2 = GraphChat: Visualizing the No of Unique & Duplicate Utterances
        3 = GraphChat: Visualizing the Average Utterance Length
        4 = GraphChat: Visualizing the No of Unique Utterances
        5 = GraphChat: Visualizing the No of Utterance Types
        6 = GraphChat: Visualizing the Type of Chat & Whisper Utterances

The second parameter is the chat log file name. The last parameter is the chat category name. This parameter is optional. For example, if I have a chat log file named “chat.txt” and I want to see visualization of average utterance length, this is what I will do:
$ java chatlog.class 3 chat.txt

Examples

Output Files:
ChatLogOUT.txt

Total number of person joined:   32
Total number of utterance:    505

          Name       Number of Utterance 
----------------------------------------------------
      "ChrisSX"              1
        "Diane"               6
      "Jodedor"             11
       "Mctrix"               9
    "Spectator"             3

TypeOUT.txt

TypeNum    Type Name     Type Count
----------------------------------------------------
            1     Greeting               35
            2     Explanation           208
            3      Command            20
            4   Whispering              19
            5     Question               56
            6        Other                 155
            7     Good Bye              9

 

Graphs:
1.    GraphChat: Visualizing the Length of Chat & Whisper Utterances

This graph shows the number of utterance of each person. The number of squares
represents number of utterance. The length and color of each square represents
number of words in each utterance. There are circular shapes as well. This circular shape represents whispers. These also share the same attribute in coloring and length of square shapes.
 
2.    GraphChat: Visualizing the No of Unique & Duplicate Utterances
This graph shows both duplicate and unique utterances of each person.

3.    GraphChat: Visualizing the Average Utterance Length
This graph shows the average utterance per person.

4.    GraphChat: Visualizing the No of Unique Utterances

This graph shows the unique utterance of each person. It is sorted in ascending order.
 
5.    GraphChat: Visualizing the No of Utterance Types
This graph shows the number of utterance of each type.
 
6.    GraphChat: Visualizing the Type of Chat&Whisper Utterances
This graph shows the utterance type represented by coloring.

3.2    GraphWorldLog Program

Purpose

This program is use to produce a graph and to extract useful information from world log file.
Input
This program required Activeworlds world log file. This files can only be obtain by system administrator.

Output
This program produces one graph- GraphWorldLog: Visualizing Chat&Whisper&Web Access over Time and two output files-worldLogOut.txt and worldLogCord.txt. The worldLogOut.txt file contains name, time of the message, and the position of the message. The worldLogCord.txt file holds name, coordinate position of web access, and time.

How to Run
In iuniverse directory, go to ../ChatVisToolKit/GraphWorldLog. You will find 8 Java
source code files for this application.
 
worldLogMain.java worldLogSort.java
worldLogChat.java worldLogFrame.java
worldLogParser.java worldLogData.java
worldLogCord.java GeneralSorts.java

This start this program, you need to compile the source code files by doing: $javac *.java

 
The main Java class of this program, worldLogMain.class, take one parameter.
You have to give the world log file name to this parameter. For example, if your world log file name is “worldLog.txt”. Then you will need to give it to the main routine class such as below:
$ java worldLogMain.class worldLog.txt

Examples

Output Files:
WorldLogOut.txt

Name: "1aGo"
   No     Time
   ------------
Name: "23atestee"
   No     Time
   ------------
   24  11:06:32
   25  11:07:57
   25  11:08:19
   25  11:10:20
Name: "22abird"
   No     Time
   ------------
   25  11:09:45
   25  11:10:32
   25  11:11:18
   25  11:12:32
   25  11:14:01

WorldLogCord.txt

Name: "1aGo"
   Cord          Time
   ------------------
Name: "23atestee"
   Cord          Time
   ------------------
   9N 2E      11:31:36
   6N 6E      11:33:02
   8N 1W      11:34:16
   8N 1W      11:34:47
   8N 0W      11:36:06
   8N 0W      11:36:22
   17N 6E      11:37:16
   5N 7E      11:37:21
   1N 0W      11:41:53
   1N 1E      11:42:06
   10S 10E      11:42:46

 World Log Graph
This program produces one graph base on the world log file.

The circles in the graph represent messaging activities (yellow for message,
blue for whispering, and red for web access) over time.
3.3    ChatTime Program
Purpose
This program is used to merge chat log and world log file, since chat log file does not


contain time and position. By combining these two file, we will be able to tell when and what
chat utterance people in Activeworlds environment involved.
 

Input
This program takes three input files. The first input files is the sorted chat log files.
The second input file is the chat log file. (This chat log file is all the chat log files combined
with * file name separate each files) The third file is the world log file.

Output

The combination of these three files gives you three kinds of output files. One is the time
stamp of messages. The other is the utterance of each person. And the last one is the
time, name, utterance, and frequency of utterance appearance in chat log files. The names
of these files are “timeStamp.txt”, “Utterance.txt”, and “Frequency.txt” respectively.

How to Run
In iuniverse directory, go to ../ChatVisToolKit/ChatTime. You will find 11 Java source code files for this application.
 
ChatTimeMain.java chatdata.java
chatFile.java chatFileSort.java
chatLogData.java chatParser.java
chatSort.java worldLogChat.java
worldLogData.java worldLogParser.java
writeFile.java

To start this application, you need to compile the source codes by doing: $javac *.java
The main class file is named ChatTimeMain.class and it take three parameter.
The first parameter is the sorted chat log file name.
The second parameter is the world log file name.
The last parameter is the chat log file name. (combination of all the chat log files with "*file  name" separation)

For example, if I have a sorted chat log file named “Sortchat.txt”, world log file named “worldLog.txt”, and combination chat log file named “chat.txt”. I will run the program like this:
$ java ChatTimeMain.class  Sortchat.txt worldLog.txt   chat.txt

Examples

Output Files:
timeStamp.txt

Name: "1aGo"
Name: "23atestee"
  Tue 04/03/01 11:06:32
  Tue 04/03/01 11:07:57
  Tue 04/03/01 11:08:19
  Tue 04/03/01 11:10:20
Name: "22abird"
  Tue 04/03/01 11:09:45
  Tue 04/03/01 11:10:32
Name: "21adog"
  Tue 04/03/01 11:05:14
  Tue 04/03/01 11:05:39
Name: "13auser"
  Tue 04/03/01 11:08:03
  Tue 04/03/01 11:08:27
  Tue 04/03/01 11:10:01

Utterance.txt

Name: "10awennie"
  HI,team 3?
  Where are we going to meet, team 3?
  I am coming.
  Hi team 3, I am in Science House
Name: "11aslis"
  Hi, I'm 11. Where are the other guys?
  Hi, team3
  Where are we going to meet? team3
  Are you in science house? 12adid?
  I'm coming


 
Frequency.txt Time       Appears in chat log file        Name         Utterance  -----------------------------------------------------------------------------------11:17:31  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "11aslis" Where is 9 11:17:56  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "11aslis" Hi nice to see you guys 11:18:54  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "11aslis" Where are you now? 9 We are wai11:19:33  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "11aslis" We are supposed to find some 11:21:24  11 12 13 14 15 19 2 20 21 22 23 24 3 6 7 8 9 "11aslis" Let's split the tasks 11:21:58  11 12 13 14 15 16 19 2 20 21 22 23 24 3 6 7 8 9 "11aslis" I'll take question 6 11:36:54  11 12 15 16 2 20 21 22 6 7 8 9 "11aslis" I got the answer for 6  11:58:08  15 2 6 8 "11aslis" Whos is going to collect the answers? 11:06:21  17 2 20 24 7 9 "12adid" who or where is no.9?  11:08:11  11 12 14 15 15-2 17 19 2 20 21 22 23 24 6 7 8 9 "12adid" wher is 9-12 (12 is me)?  11:11:46  11 12 13 14 15 15-2 17 19 2 20 21 22 23 24 24-2 6 7 8 9 "12adid" where is any of team 3?  11:12:45  11 12 13 14 15 15-2 16 17 19 2 20 21 22 23 24 24-2 6 7 8 9 "12adid" yes 11:13:54  11 12 13 14 15 15-2 17 19 2 20 21 22 23 24 24-2 6 7 8 9 "12adid" wher's no 10? 11:15:53  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "12adid" do we go in the sign 11:16:39  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "12adid" how do you "get in" 11:17:51  11 12 13 14 15 17 19 2 20 21 22 23 24 6 7 8 9 "12adid" what now? 

Contact katy@indiana.edu or whazlewo@indiana.edu for source code & details.
Last Modified 12-21-2002