IBM Research

WBI Home Publications Community Licensing Contact

WebPlaces: Adding People to the Web

Paul P. MaglioRob Barrett
IBM Research - Almaden
650 Harry Rd.
San Jose, CA 95120


Though the World Wide Web is a fundamentally social structure, people are virtually invisible to each other while using it. Each user surfs the web alone. To transform the web into a place that affords social interaction, we have implemented WebPlaces, a system that tracks web users, makes them aware of each others' activities, and puts them in touch with each other. Our hope is that by enabling social awareness and affording interaction, we can create a sense of place on the web.

1. Introduction

The web is a social structure because it enables individuals to personally publish and to read what others have published. Such interaction through published documents is asynchronous and lacks the richness of ordinary communication. People are invisible to each other on the web. Of course, isolated social places already exist on the web (e.g., chat rooms, game rooms, etc.), and one system, Virtual Places (Shapiro, 1994), even aims at adding social interaction to the web as a whole but the notion of place here seems limited only to single documents. We want to make place pervasive rather than site-specific and idiosyncratic; that is, to make interpersonal awareness and interaction an integral part of web activity.

In this paper, we describe WebPlaces, an implemented system that enables social interaction on the web, transforming the web from an information collection to an information place. The intention of WebPlaces is to create the proper affordances for people to begin to discover, interact, and build meaningful relationships with others on the web. The key questions are (a) who should users be made aware of, (b) how should they be made aware of each other, and (c) what affordances for interaction should be available? In terms of awareness, at one extreme, every web user can be made aware of every other web user. At the other extreme, only those viewing the same page at the same time can be made aware of each other. In terms of how to make users aware of each other, possibilities range from lists of names to three-dimensional immersive environments. In terms of affordances, at one extreme, users can communicate and interact directly and in real time by chat, voice, or video. At the other, users can communicate asynchronously by leaving annotations or trails. Our hope is that by choosing appropriate mechanisms for awareness and affordances for interaction, users will see the web as both an information space and a social place.

2. WebPlaces Approach

WebPlaces is implemented using the WBI (WeB Intermediaries) toolkit (Barrett & Maglio, 1998). The main design issues are awareness and interaction.

2.1 Awareness

Awareness breaks down into two parts: (a) which users should be made aware of each other, and (b) how users should be made aware of each other. The first is really a question of how to determine which users form a natural group or community, and the second is a question of user interface or display.

2.1.1 How to Form Communities

In our current implementation, all users logged into WebPlaces become part of the same community. Nevertheless, many schemes for drawing more circumscribed boundaries around groups are possible. The simplest case is to consider each web page to be a separate place, making all visitors to a particular page members of the same community for as long as they stay on that page. A slightly more complicated case is to consider web pages at one domain (e.g., "") or set of domains (e.g., "" and "") to be the same place.

There are many possible ways to break users into groups or communities, and we have just begun to investigate them. We are currently considering schemes modeled on (a) the WebPath Browser (Gruen & Moody, 1998), in which communities grow out of essentially predefined paths that groups of users routinely follow; and (b) on automatically calculated groups of sites where web users naturally congregate (Chalmers, Rodden & Brodbeck, 1998).

2.1.2 How to Display Communities

We have experimented with several user interfaces for awareness. One approach is to annotate web pages directly, adding information about other users at the top of each web page (see also Barrett, Maglio, & Kellem, 1997). This approach has the problem of constantly changing the display, which turned out to be very distracting. To fix this, we moved the display into its own browser window (see Figure 1).

Figure 1: WebPlaces window showing list of users in the center and the chat window on the right.

To make users aware of one another, we started by simply displaying a list of the names of users in the group. However, we found that this representation did not effectively provide the most relevant information at a glance. For one thing, we found ourselves constantly looking at the chat window to see whether anyone had said anything recently. For another, we discovered that knowing whether a user is active on the web is important, as it lets others that the user is still at the computer and can be contacted. Both these observations concern how to display what is happening within a group. The challenge, then, was to create a representation of user activity that conveys changes of state in both user-user interaction (i.e., chat) and individual user actions (i.e., web browsing).

To represent groups of users, we borrowed from the display scheme developed for Babble, a computer-mediated communication system meant to facilitate long-term, ongoing conversations (Erickson, Smith, Kellogg, Laff, Richards, & Bradner, 1999). The Babble group struck on a very clever and very simple graphical representation called the social proxy, which displays a conversation as large circle, individuals as small colored dots within the circle, and conversational actions (e.g., chatting) as motion of the dots toward the center of the circle. In addition, a user's dot drifts outward in a line toward the edge of the circle if the user is inactive for a while. We have adapted this display for our purposes (see Figure 2).

Figure 2: WebPlaces window showing the Babble-like social proxy in the center. The large circle represents the user group, and the colored dots represent individual users. The green dot is the current user and the blue dots are other users. The dot outside the circle indicates a user who has recently left this group.

In the WebPlaces' social proxy, the circle represents the group or community of users, and each small colored dot represents an individual user. Motion of a dot toward the center of the circle represents a group interaction (e.g., chat), motion of a dot toward another dot represents a user-user action (e.g., whisper), and motion of a dot around the circle represents an individual user action (e.g., browsing). In addition, if a user takes no action for a while, the user's dot drifts away from the other users' dots. Thus, we have modified Erickson et al.'s social proxy to maintain social awareness in a user community rather than in a specific conversation. To do this, we have included actions that are not specifically related to the ongoing conversation, but that are nonetheless relevant to users who are gathered together.

By coding various types of actions into these iconic motions, we indicate both the state and activity of the people in a place. A casual look at the social proxy indicates the busy-ness of the place, the participating users, the kinds of activity, and so on. The goal of the awareness display is to graphically represent the social setting of the place.

2.2 Interaction

As shown, the WebPlaces user interface contains a chat window for real-time conversation among members of a group. The chat mechanism also allows users to target chat messages at an individual user (using the whisper command), effectively enabling a one-on-one conversation that is isolated from the group. To get someone's attention, for instance, prior to whispering, the user can ring that person, which flashes the display and makes a sound. These and other functions can be accessed through a popup menu (see Figure 3). In addition, the chat conversation is persistent, enabling those who join at any time to obtain the entire context that has gone before (cf. Erickson et al., 1999).

There are many other possible methods for enabling users to interact with one another. For example, although now our chat window simply conveys text, it would most likely be useful if it could also convey computational objects, such as URLs, that can be directly activated or launched with a mouse click (Dieberger, 1997). This would allow users to more easily share computationally useful information (without having to cut and paste, and so on). Along these lines, users might also want to leave annotations on web pages, for instance, commenting on a movie, news article, or software.

In summary, we have designed and implemented WebPlaces, a system for awareness and interaction among simultaneous users of the web. By simply changing the browser's proxy setting and logging on, users are connected to a community of web users. These users can then communicate and interact in the context of the pages they are viewing, taking the first steps toward building real communities. We expect WebPlaces will be a good system for experimenting with social structures on the web.


Barrett, R. & Maglio, P. P. (1998). Intermediaries: New places for producing and manipulating web content. Computer Networks and ISDN Systems, 30, 509--518.

Barrett, R., Maglio, P. P., & Kellem, D. C. (1997). How to personalize the web. In Proceedings of Human Factors in Computing Systems, CHI 97 (pp. 75-82). New York: ACM Press.

Chalmers, M. Rodden, K. & Brodbeck, D. (1998). The order of things: Activity-centered information access. Computer Networks and ISDN Systems, 30.

Dieberger, A. (1997). Supporting social navigation on the World Wide Web. International Journal of Human-Computer Interaction, 46, 805-825.

Erickson, T., Smith, D. N., Kellogg, W. A., Laff, M., Richards, J. T., & Bradner, E. (1999). A sociotechnical approach to design: Social proxies, persistent conversations, and the design of Babble. To appear in Proceedings of Human Factors in Computing Systems, CHI 99. New York: ACM Press.

Gruen D.& Moody, P. (1998). Synchronous WebPath as a tool for leveraging expertise. Paper presented at Human Computer Interaction Consortium Conference, Snow Mountain Ranch, CO.

Shapiro, E. (1994). Virtual Places. Proceedings of the Second World Wide Web Conference.