The Sociable Web

Judith S. Donath
Niel Robertson
MIT Media Lab


The World Wide Web is a popular place. The number of people who use it is growing rapidly and the statistics on many pages show daily access by thousands of readers. Yet wandering about the Web is a solitary pursuit: one is unaware of the presence of the many fellow explorers. We are developing ways of making Web exploration a more communal endeavor.

We are currently developing an experimental server and client that allows Web users to see who else is on a page, communicate with them, and travel around the Web as a group. Information on the Web is usually organized and specific; users accessing the same page are likely to be in search of the same type of information and share similar interests. Providing them with the ability to communicate with each other can facilitate information searches and help foster community.

Furthermore, the popularity of various live conferencing systems (e.g. IRC, the chatrooms of AOL, social MUDs, etc.) attests to the usefulness of real-time talk interfaces. Adding communicative abilities to Mosaic's easy access to many different types of media makes it possible to create conference sessions in which the users can insert hypertext links, sounds and images amidst their normal conversational text.

The Web is a Social Environment.

The Web is an information space, a place where one can find papers, conference announcements, and weather maps. It is also a social space, a place where people present their credentials, whether as established research scientists with impressive vita's and selected bibliographies, or as electronic trend-setters with eclectic web links and obscure lists of outrageous bands. Good Web citizens provide links to the CERN server, the perl info page and the beginner's guide to HTML: they want to help and encourage their fellow page builders. Teenagers on the Web have the electronic equivalent of the black concert T-shirt: links to Wired, to Adam Curry's Metaverse, and to the Terrorist's Handbook. For the home-page builder seeking to create a self-portrait in hypertext links, the Web provides a vast and varied selection.

Yet what good is a portrait if there is no audience to see it? The challenge, if one wants to be seen, is to make a page so compelling in its utility or oddity that others will add links to it. Or simply talk about it. The social function of the Web extends beyond its borders - pointers to particularly amusing or informative Web sites are passed along the virtual grapevine: they are forwarded by email, posted to mailing-lists, appended to finger files. Such pages are truly destinations, visited by hundreds or thousands of Web explorers daily.

Each visitor, however, experiences the site in complete solitude. For some sites, this is fine. Many pages serve no social function: the visitor to The Clearinghouse for Subject-Oriented Internet Resource Guides is looking for references, not acquaintances. Yet at other sites the isolation is unfortunate, for they are ideally suited to be gathering places for like-minded individuals. The X-Ray Server, for instance, says that it is "dedicated to providing information of interest to the XUV and X-ray spectroscopic community." And there are countless others. There are are pages for those interested in numerical aerodynamic simulations and for those seeking technical information about MBONE or advice about quilting. There are pages for runners, for Kiss fans, for Oliver North supporters and for gay-rights activists. These pages draw people who share research interests, world views, obsessions; yet, they are unable to communicate with - or even sense the presence of - each other.

The Sociable Web allows people to see who else is on a page and to communicate with them (and to communicate not only with words, but with sounds, pictures, and links to other places). It also allows people to travel around the Web together as group. It makes the Web into a social environment.

The Sociable Web Project

The Sociable Web project consists of a modified Web browser and server. The browser looks like an ordinary browser, and on pages not served by a Sociable Web server, it functions normally. On Sociable Web pages, however, it provides a number of social and collaborative features. Most notably, it shows who else is on the pages and it allows the user to strike up conversations or to join in ongoing discussions.

Seeing who else is on a page. A "Who's Online" window shows who else is on the page. People can be seen as simple text strings - their name and their host machine - or they can provide a small graphic to represent themselves.

Text version

Graphic version

This window lets the user quickly scan for a particular person, such as the owner of the page or an acquaintance often found at this spot. It also gives the viewer a sense of the activity level of the page: are there only a couple of people here or is this a major gathering spot, a favorite Web meeting point?

Virtual location. The Sociable Web system is based on the concept of shared location: you are able to talk only with other people who are on the same page. However, the big activity on the Web is wandering - following links, jumping from page to page. If you had to literally stay on the same page when conversing with others on it, it would seem confining. Virtual locations allow the user to put down an anchor on a particular page - where they appear to remain - and still wander about the Web with their main browser window. This allows people to have a real "home" page, a place where they can usually be found, without limiting their use of the Web.

Privacy. At times, one does not wish to be sociable. The WebTalk browser allows the user to be invisible. In such a state, one may visit Sociable Web pages without showing up in anyone's Who's Online window. However, if not seen, one can't be heard: it is necessary to be visible to talk.

Name and visibiity setting

One may also participate pseudonymously. Since the connection is specified by machine name and port, one can use any name as a "callsign". It will be up to the server to determine whether visitor identity is authenticated and by what mechanism: this is part of establishing the general style of the server's conferences.

WebTalk. The main feature of the Sociable Web is WebTalk: the discussions that occur in the context of the Web and that use its rich hypermedia capabilities. WebTalk discussions are live: one types a message and it appears instantly (or at least reasonably fast) on the screens of the intended recipients. The discussions can be public conferences, open to all, or they can be private conversations between two people.

Discussion window (try the buttons and links [2011: no longer functional - ex-server]).

Images, sounds, and links to other pages can all be integrated with the flow of words. The WebTalk client includes several tools for fluency in hypertext conversation. For instance, the user can highlight a phrase and then, simply by clicking on a picture (or link) on any Web page, attach the chosen object to the phrase. When the phrase is sent, the recipient sees it as highlighted text; if the recipient clicks on it, he or she will receive the picture (or follow the link).

A WebTalk conversation can transcend smiley-faces. One can have an entire library of eloquent pictorial - or auditory - interjections. And a WebTalk conversation can be completely interwoven with the vast resources of the Web. One can point to references, counterarguments, examples, expansions - all within a single sentence.

Current status. Currently, the Sociable Web system, as described above, is implemented, running, and in the process of final debugging. We have a page showing the current status of the Sociable Web; this will also be the place to obtain the release code for clients and servers.

As for future work, there are several directions we see this work taking. One is developing the range of server styles. A Sociable Web server should be able to determine the nature of the conferences that occur on its grounds. Some might be very casual, allowing anyone to create a conference and permitting people to use any name as their identifier (this is for now the normal setup). Other servers might wish to be more restrictive, permitting only the page owner or a chosen group of people to form (and dissolve) conferences and requiring that participants use their real (or at least, traceable) name. These and other variations in server style will help a page owner to create a social atmosphere that best matches the environment of the page.

We are also looking into ways of using this interface to create highly interactive Web sites - pages that converse. With the WebTalk mechanism, a page should be able answer queries and do searches (and even make simple, yet colorful, small talk) -- the page can be interactively updated and immediately downloaded to the client.


A WebTalk server is a normal httpd server with some added capabilities: it keeps track of all the users located on pages it serves and it relays the data in the public conferences to the participants.

A WebTalk client sends a message to the server whenever it arrives at or leaves from a page. A non-WebTalk server ignores these messages; a WebTalk server acknowledges them, letting the client know that it can look for other users on the page. The WebTalk server uses these messages to keep track of who is currently on its pages. The message provides the user name, host and WebTalk port number - all the information needed to establish contact with that person.

The WebTalk port is a tcp socket that is kept open for data transfer: it is through this socket that the WebTalk discussions take place. Private conversations and public conferences are handled differently, to minimize the load on the server. For private conversations, the server simply provides the two parties with each other's address; the connection is made directly between the two. For public conferences, the server acts as a conduit; the user sends the message to the server, which relays it to the other participants. Messages are received with data identifying the sender and the discussion it was sent to (since one may be involved in several discussions at once). It is up to the individual WebTalk browser to decide how to differentiate between the incoming streams.

About the authors

Judith Donath is a doctoral candidate at the MIT Media Lab, where her research focuses on the design of visual and interactive interfaces to online communities. She has taught interface design at Pratt Institute and New York University, and has designed and built a variety of "multimedia" programs. She has a Master's degree from the Media Lab and Bachelor's degree in History from Yale University.

Niel Robertson is an computer science student at MIT and is the developer of the Sociable Web program. He has worked on network simulators, written graphical interface toolkits, and developed and operated a full-featured bulletin-board system.