Although the archive of text generated by a persistent conversation (i.e. newsgroup, mailing list, recorded chat, etc.) is searchable, it is not very expressive of the underlying social patterns. In this paper we will discuss the design of graphical interfaces that reveal the social structure of the conversation by visualizing patterns such as bursts of activity, the arrival of new members, or the evolution of conversational topics. Our focus is on two projects: Chat Circles, a graphical interface for synchronous conversation and Loom, a visualization of threaded discussion. Through these examples we will explore key issues in the generation, design and use of graphical interfaces for persistent conversations.
Most on-line conversation is text. This is partly due to the history of the technology: textual interfaces were the norm when email, newsgroups and chat-rooms were developed. As a medium for exchanging ideas, text has a number of excellent qualities. It is highly adaptable - given the basic alphanumeric keyboard, people can assemble discourses on any topic. With skill, it can be quite expressive. Yet as a conversational medium, the austerity of text can be detrimental. In particular, it is difficult to convey many kinds of social information, such as conversational tone, patterns of activity - even the size of the conversational group is opaque in most text-based foums.
One of the key features of on-line conversations is their persistence. Asynchronous discussions such as newsgroups or mailing lists are inherently persistent, and recorded logs bring persistence to the more ephemeral synchronous chats. Yet the drawbacks of the text-only interface are exacerbated when perusing the archives of a discussion. The rhythms of the conversation's exchanges are obliterated and the reader is likely to approach the mass of accumulated archival material by searching or another non-linear approach, often losing in the process much of the conversation's context. To help the reader apprehend the discussion's structure and history and become familiar with its community, new interfaces for viewing, searching and annotating the amassed material are needed.
Graphical interfaces can provide a way to see information that is hidden or unavailable in a textual representation. One can show the size of the audience in an on-line chat or highlight key moments in the mass of an archive; the graphics can be added ex post facto or they can be integrated into the design of the conversational interface. Indeed, there are an infinite number of ways that a conversation can be visualized. The essential problem is to identify the salient data and to represent it accurately and intuitively.
This paper is about designing graphical representations for persistent conversations. In it, we present two very different projects - Chat Circles, a graphical interface for synchronous conversation and Loom, a visualization of threaded discussion - and use them as a springboard for discussing a number of fundamental design issues.
Our focus is on creating representations that highlight social information and help people make sense of the virtual social world. We call our approach social visualization, which we define as the visualization of social information for social purposes. In some ways, social visualization is similar to data visualization; we are taking a mass of information and finding ways to represent it visually so that salient information becomes apparent. Yet there are key differences. As we shall see in the discussion of Loom, social visualization often deals with very inexact or subjective material. And, as will be discussed in the context of Chat Circles, the visualizations must take into account the fact that we are highly attuned to social cues; it is easy to introduce spurious and misleading impressions via poorly chosen graphical representations.
Chat systems have become a popular means of communication. These are synchronous on-line discussion, in which a number of people can simultaneously communicate with each other by typing; the messages each person types appear on the screen of all the participants. The first multi-user chat system, Internet Relay Chat (IRC), was developed in 1988; previously, synchronous on-line communication had been limited to two participants [Reid 1991]. Since then, chat systems have become the backbone of popular services such as AOL and, most recently, are appearing as featured attractions on web-sites [Donath & Robertson 1994].
Most chat systems are purely text-based: the participants type messages which are then displayed sequentially on each person's screen (figure 1). These messages convey two types of information. One is the content of the message, the other is fact of the participant's presence. In an text-based chat, presence is manifest only when one is actively messaging: silence is indistinguishable from absence. This has a strong impact on the style of discourse, for participants often feel compelled to constantly post messages so that they will not be forgotten by the others. Chat systems are often criticized for the inanity of the conversations, one cause of which is this need to maintain presence by constant speech, even when one has nothing to say.
In graphical chat systems the participants, each represented by a figure of some sort, are all displayed in a single pictorial space (figure 2). These figures or avatars 1 range from simple smiley faces to elaborate (often Medieval or sci-fi themed) animated drawings. Text is still used for conversation but it no longer has the burden of also maintaining presence; this is done by one's graphical representation which remains visible so long as one is connected to the system. Although the use of avatars solves the problem of presence, it introduces new difficulties. Avatars are touted as providing a more expressive interface, yet they can actually limit or distort expression by providing a single expression that overlays all of a user's communications. Even if an avatar has several expressions, and many do, it is still a far cry from the subtlety of verbal expression, let alone our physical gestures 2 .
Chat Circles 3 is a graphical interface for synchronous communication that does not make use of representational graphics. Here, each participant is represented by a colored circle on the screen in which his or her words appear. The circles grow and brighten with each message, and they fade and diminish in periods of silence, though they do not disappear completely so long as the participant is connected to the chat. Participants are free to move their circles around the screen and are motivated to do so by the system's auditory metaphor: while one can see all the participant's at once, one can only "hear" (that is, read the words) of those one is sufficiently close to. Viewed over time Chat Circles creates a visual record of conversational patterns: one sees who are the active, animated participants and one can watch the emergence and dissolution of conversational groups.
Figure 3 shows two screen shots from a Chat Circles session 4 . Each person who is connected to the chat's server appear as a circle. When the user posts a message, their circle grows and accommodates the text inside it. Postings are displayed for a few seconds (the exact time varies depending on the length of each posting) after which they gradually fade into the background. This approach mimics real life conversations where at any given time the focus is on the words said by the person who spoke last. Over time, those words dissipates the conversation evolves. The sequence of growing and shrinking circles creates a pulsating rhythm on the screen that reflects the turn taking of regular conversations.
Upon entering the system each user chooses a unique color, which is used as a marker of identity. Although it is well known that color is quite limited in its ability to serve as an identifier (people can discriminate among only limited number of non-adjacent colors and once the number of participants rises above that number, color identification becomes ambiguous) in the context of this interface color-based identification is quite useful. We can discriminate among a much higher number of colors when they are adjacent. Chat Circles is designed so that participants in a particular discussion must be near each other on the screen; within one's proximate group the ability to distinguish between say, two shades of blue will be higher than for the screen as a whole. Furthermore, the multiple colors, along with the round shapes and animated motions, contribute to the lively aura of the interface.
Identity is also marked by location, for participants will tend to remain in the same spot for extended periods of time. Finally, participants are also identified by name written as a small label on the side of each circle.
One's overall level of activity is conveyed through the brightness of one's circle, the recently active being brightest and the idle ones dimmest. As we mentioned earlier, one of the benefits of graphical chats is that participants can see the size of the conversational group, unlike in text-based ones, where the lurkers are invisible. Yet the appearance of a crowded, avatar-filled room is misleading if most of those depicted are not contributing - and may, in reality, be far from their computers. By fading the circles of non-participants, Chat Circles can indicate both the overall number of connected users and the actual level of presence and activity.
Chats often have numerous conversations occurring at once, a phenomenon that makes following any discussion an exercise in winnowing through non-sequitors. Simply having a graphical interface does not solve the problem - people can still respond to statements scattered across the screen without indicating which remarks they are addressing. We have implemented an auditory metaphor that we believe will encourage conversational threads to become spatially localized. Each circle has a "zone of hearing" around it: while one can see all the circles on the screen, only for those within one's zone can the words been seen. This is illustrated in Figure 3 ; the two images show how a user's view varies as she moves from one part of the screen to another. Thus, to follow a conversation one must move close to it. Activity (but no words) is still visible elsewhere in the space; if sufficiently intrigued, one can move to a new spot and follow another discussion. This not only serves to separate threads, but also gives people a greater awareness of the ebb and flow of particular discussions.
On-line chats, although ephemeral by nature, are also intrinsically recordable. Recordable, but not necessarily readable: logs of chats read much like unedited transcripts of speech. Furthermore, non-textual components of the "speech" [Cherny 1995], such as pauses and turn-taking behavior, which can be quite key to fully understanding the nature of a discussion [Saville-Troike 1982], are lost in regular log files.
The abstract graphics of Chat Circles lends itself to creating a visual archive, one that is self-documenting in its highlighting of salient events. We have developed Conversation Landscape, an interface to visualize the conversational archive of Chat Circles.
Conversation Landscape (Figure 4) is a two-dimensional. model of the conversation, in which the participants (again identified by color) are arrayed along the x axis and the y axis represents time. Postings are shown as horizontal lines; the wider the line, the longer the message. The comings and goings of the participants and the rhythm of the discussions are revealed in the visual pattern
The viewer can interact with this visualization to see individual conversations and read the postings (Figure 5). One can focus on an individual interaction history by selecting one person's thread (a vertical line). That thread is highlighted, along with the portions of other threads that were within hearing range of the selected one. This allows us to quickly see who was talking to whom at any point of the conversation. Selecting a horizontal bar brings up the text of that posting. Selecting a thread or posting is done by simply moving the cursor over it: the goal is to make the Conversation Landscape an easily explored social space.
Conversation Landscape is designed to reveal the interaction patterns of the conversation at a glance. Clusters of activity - logins and log-outs, flurries of animated discussion - become evident as do periods of silence. With every user's history displayed on the screen, lurkers as well as those who dominate conversations are recognizable. The interface creates a snapshot of an entire conversation in one image.
Loom 5 is a visualization tool for Usenet groups. It creates visualizations of the participants and interactions in a threaded newsgroup. The renderings reveal patterns indicative of a person's role in the community and of the type of discussion prevalent in a particular group. The name Loom refers both to the "threads" of a Usenet group and to the appearance of the visualization: the patterns and texture of the events within the group are reflected in the patterns and texture of this digital fabric.
Starting with a basic gridded layout - individual participants are listed along one axis, time is the other axis - we are experimenting with a series of visualization that highlight patterns of individual activity, thread creation, emotional tone, etc. in the various groups. Our goal here is twofold. We are interested in providing a visual interface for browsing the newsgroups archives that will help the viewer perceive the social patterns that are often obscured in a text-only interface. We are also interested in developing visualizations that will provide a sort of visual thumbprint of each group - images that will let the viewer quickly ascertain the atmosphere of each group.
In the most basic setting of Loom dots represent individual postings. Figure 6 shows this view in a rendering of the newsgroup soc.culture.greek. In this view, dots represent individual postings. Even this simplest of visualizations reveals interesting patterns: we can easily spot the most vociferous members of the group and can see patterns of activity, such as those who log in at regular, daily intervals vs. those whose participation is more irregular.
Another setting of Loom traces the connections between sequential posts in a thread (Figure 7). (Newsgroups are threaded discussions, meaning that individual topics can, more or less, be traced through the subject line and chains of replies.) Here, lines connect the thread as it passes from person to person.
The two images in FIgure 7 are renderings in this view of two different newsgroups. The one on the right is from soc.culture.greek, an active and often argumentative newsgroup covering Greek history, sports, food, and especially, politics and relations with Turkey. The image on the left is from comp.lang.java.gui, a focussed, technical forum. The picture of soc.culture.greek shows much more intricate threading, with the conversation moving rapidly from user to user. The technical group, on the other hand, shows mostly short threads - the pattern formed by question and answer sequences.
This view also reveals individual patterns. For instance, in the image from soc.culture.greek we see several stand-alone messages. Some of these are simply comments or announcements, others are the postings of users known for their persistent and annoying provocations - users whose statements are generally ignored. Note, for instance, the user who appears slightly below the center of the image - a writer of many messages, almost none of which has garnered a response.
Silence, in the real world, is an important communicative device; ignoring someone's remarks can be a very pointed form of social censure. In a text-based medium, silence can be too subtle to serve such a purpose. (It has been observed on-line that people will announce that they are going to ignore someone in order to make their silence noticeable [Donath 1998].) By visualizing the conversational patterns, these elusive social cues can be seen; if the visualization is itself the interface to the conversation, it can bring these cues to bear on the interactions within the group.
Loom's connected thread visualization begins to paint a portrait both of the group as a whole and of the individuals within it. By using color to highlight relevant patterns, we can easily see which groups are places of long, intricate, never-ending discussions and which are sites of quick exchanges. We can also learn something about the role of particular individuals in the group, seeing the loquacious and the terse, the helpful answerers and the lone orators.
The Loom visualizations we have looked at thus far are derived from basic data about the message: author, time and subject. Nothing is known about the message content. While we can infer some characteristics from these message sending patterns, this data can provide only a limited view of the style and structure of the group. In order to attain a deeper and more nuanced picture, it is necessary to look at the content of the messages themselves.
In this section, we introduce an approach to visualizing the messages by classifying them into categories which are then displayed as color-coded dots. The layout is the same as in the last section; the goal here is to explore a set of content-based patterns.
There are numerous possible ways to categorized messages. Categories can be based on the identity or affiliation of the writer, on whether the note posed a question or answered one, on the grammatical soundness of writing, etc. Here we present an experiment in categorizing postings according to mood. We used soc.culture.greek as our test-bed and the question we posed was to see if there were patterns to the outbreaks of flaming that occurred on this rather contentious newsgroup and, ultimately, to see if they were they related to inflammatory outside events and anniversaries.
The first task is to create the categories. We began by using what are considered to be the basic affective states: angry, sad, happy and peaceful [Picard 1997]. However, the newsgroup did not fully span that range of emotions; prone to conflict, the classifications fell primarily into the angry and peaceful categories. Adjusting the categories to fit better with the material, we came up with the set angry, peaceful, informative and other. This selection provided a palette with an improved category distribution. Yet it is not an ideal set, for the two categories "informative" and "other" are not emotive states, and the latter is simply a default. Still, they are a reasonable starting point; most usefully, the resulting classifications provide cues for other cluster foci.
The next task is to classify each of the messages into one of the given categories.Loom currently uses a simple decision making algorithm that classifies each message according to a weighted sum of the category expressions it matches. For "anger" these expressions include a phrase written in all capitals, excessive punctuation patterns such as multiple exclamation marks (!!!!!,!?!?!), profanities, etc. For "information" the parser looks for newsfeeds, historical references, city names, dates of events, election results, etc. The clustering algorithm used in this implementation of Loom is tailored to the soc.culture.greek newsgroup. Encoding knowledge about the context of the messages improves its ability to classify them, but at the expense of generality.
The result of this classification is shown in Figure 9 . Here, red dots represent angry postings - clearly the predominant mood of this group. As a signature or portrait of the group, this image is quite striking - one can quickly ascertain that if disputation is not of interest, this is a place to avoid. Yet for understanding the interactions within this group, this classification scheme is too general. One incorporating subclassifications or gradations of anger would reveal more of the underlying patterns. Alternatively, unsupervised cluster selection could be used to create a fresh and enlightening perspective on the social patterns of the newsgroup.
There has been considerable work done in automatic text classification is used today in a variety of applications. Filters for email that use regular expressions to group incoming messages are readily available in commercial packages. Flame detectors for email have been created that use feature-based rules [Spertus nd]. Spam detectors also exist; some of them also incorporate user feedback in the detection [L-Soft 1998. Related work in information retrieval includes recognizing the point of view of a message [Sack 1994], creating similarity clusters of text [Berthold 1997] and self-organizing similarity maps [Honkela et al 1998] . Still, automatic text classification remains a difficult problem, especially when the categories are defined by complex or subjective social features.
Some of the difficulty comes from the many and complex rules that need to be stated to encode our everyday knowledge [Haase 1996]. Loom, for example, though it has an extensive rule-base, still misclassifies a number of messages, including those that feature sarcasm, misspellings or non-English fonts. And, although the rule-base can be made arbitrarily complete, the classification of messages according to tone is an inherently subjective task, both in the choice of categories and in the classification of messages. Even human readers will disagree about the tone in the more ambiguous messages (see [Spertus nd] for an extensive example).
Loom is a work-in-progress. Our goal is develop a platforms for visualizing threaded conversations, one which gives the viewer the ability to highlight a variety of patterns and explore different ways of viewing the social landscape. We are adding a set of view modifiers that will allow the viewer to easily highlight relevant patterns, such as who starts many threads or who responds consistently. We are also exploring ways of meaningfully ordering the list of participants. The current implementation has some scaleability; we are developing ways to smoothly transition from a distant overview to a detailed close-up. Finally, we are continuing to explore the complex issues involved in mapping social data to color, shape and location.
The "fabric" Loom weaves is metaphorical; in reality, it is an interactive display that functions as a newsreader. We are also interested in taking the fabric metaphor literally. For centuries, quilts, blankets, tapestries have been used to capture a story in a visual form. With new electronic threading technologies [Post & Orth 1997] , Loom can be used to create a physical manifestation of the history of a newsgroup discussion. The warp threads in the fabric would provide the timescale for the conversational record and the thickness created by the weft threads in the fabric provide a texture that can be sensed by touch and sight. The recording and retrieval in physical form provides a poetic link between the form and content of the interface.
Chat Circles and Loom provide two answers to the question: What does an on-line conversation look like? Although they are quite different in the type of data they visualize, as well as in their approach to obtaining that data, they share some key elements. Most notably, they are both abstract representations that attempt to convey a sense of the participants' identities and behaviors and that show the ebb and flow of conversational activity.
As examples of social visualizations, the design of these two projects involves a shared set of design issues:
The choice of what data to display is determined by the goal of the project. Looking at newsgroups, a linguist might be most interested in word distribution, a marketer in the software used to post messages. In our field of social visualization, interesting data can be patterns of participation and response, thread development, the changing mood of messages, etc.
The goal of Chat Circles is to improve the experience of multi-user real-time mediated conversation. Here, one of the key pieces of data to be visualized was simply the simple display of who is connected to the chat; other aspects of the visualization, such as threading by visual proximity, were also chosen with the goal of improving an active conversation interface.
The goal of Loom is to explore patterns that are not ordinarily perceivable by simply perusing the conversational archive. Mood - and anger in particular - was chosen as a feature to explore because it is a pervasive and often overwhelming feature of this (and other) newsgroups, but the patterns of flame-war flare-ups are not easy to discern.
In Chat Circles, the salient visual data - circle location and size - is generated by the participants in the course of their interactions with each other. The depiction of the conversation over time is derived directly from this visual record; there is no computational analysis involved. Here the visualization is created by redesigning the conversational interface to make the graphics integral to the experience.
Loom, on the other hand, creates its visualization by analyzing and categorizing the archives of a newsgroup. People worldwide participate in Usenet newsgroups, all sharing a common text-based standard. Changing the interface to include exchanges of graphical or other meta-data might be desirable, but it is not practicable. Thus, the visualization must extract the data from the existing textual material; the challenge here is both the definition of the categories and the formation of heuristics by which to classify them.
Viewed superficially, both these projects could be described as "colored circles placed on a screen". Although they share a common element - the colored circle - its use is quite different in each.
Color in Chat Circles is purely discriminate. Indeed, it is one of the challenges in this project to find a palette of colors that will not inadvertently suggest meaningful interpretation: a bright yellow circle might appear to be cheerful, and a dull brown one depressed, regardless of the actual mood of the participant or the content of the speech. Loom, on the other hand, in its affective view uses some common cultural meanings that are attached to colors to supplement the visualization. Although the visualization requires only the discrimination of the moods, it is so culturally ingrained to think of "anger" as red that the display would have seemed incorrect had we chosen, say blue, for that category.
We are working with circles and other simple geometric elements for several reasons. Our interest in abstract visual representations of conversation has to do with both what they do and do not convey. By rendering the conversation as a visual entity, we hope to give people a better sense of many of the social patterns that it is difficult to perceive in a computer-mediated discussion. Our goal is to clarify and to highlight what is already there; we wish to avoid introducing spurious and potentially misleading information, as it is all to easy to do with figural representations. [Arnheim 1969]
Both Chat Circles and Loom are in the early stages of development, too early to provide feedback about user experience. With Chat Circles our concern is with a participatory interface: not only must it be theoretically interesting and visually striking, but it must also be simple and intuitive enough for people to use it regularly. The question we then face is how to evaluate it - what makes a conversation "better"? With Loom, our concern is with seeing patterns in a conversational archive. Our analysis of its efficacy involves both evaluating the choice of data and the method of visualization, either of which can be changed independently of the other.
A conversation is far more than an exchange of information. It is a complex social interaction in which the words people say (or write) are only one part of the message. By building visual interfaces to on-line conversations and their archives, our goal is to increase the ability of this medium - computer-mediated discussion - to carry subtler and more nuanced messages, both by giving people a richer environment in which to interact and by providing them with greater insight into the underlying social patterns of their virtual community.
1. The use of avatar to refer to these figural representations was originally used in Habitat, an early graphical chat system [Morningstar & Farmer 1990]; at around the same time, it was popularized in the novel Snowcrash [Stephenson 1992].
2. The problem of creating truly expressive avatars has been the subject of considerable research, see for instance [Vilhjálmsson 1996].