Research Graphic

Concordia DEC Lab

about us . courses . students . research. publications . events . people . contact us

 

SmallWorldz: a Client-Server Software System

 for Connecting People

 

Tom Bailly-Salins and Nawwaf Kharma

 

 

1     Introduction

     The Internet was originally perceived as a network of computers; it has indeed become the greatest one of them all, connecting almost every computer, directly or indirectly, to every other computer in the industrialized world. Further, this fusion of computers and communication technologies has, often inadvertently, led to the creation and expansion of inter-national human societies of, for example, scientists and business people, spanning many continents. Nevertheless, exchanges over the Internet still face two major hurdles. 54rer4efq

1other people, with a specific set of attributes. The solutions currently available (examples of which are in [1-4]) focus on the extraction of document-based information, matching people to documents. The second problem arises from the general lack of trust among potential exchanging parties. There is no solution, readily available, to ensure that the person one is getting in touch with is trustworthy.

     In this paper we review the most widely used communications software; identify a necessary set of elements that we believe must be realized in human-centred software systems; and describe our own attempt at creating such a system, dubbed "SmallWorldz". We use "degree- of-separation" [7], defined in section 3, between two different people as a means of establishing a sense of social proximity and hence trust. SmallWorldz is a concrete client-server system, which realizes: (a) a means of searching for, and connecting with, people; as well as (b) a confidence- building measure based on the concept of degree-of-separation.

     The rest of this paper is organized as follows. Section 2 categorizes and highlights the weaknesses of existing communications software. Section 3 presents a functional description of the SmallWorldz system. Section 4 exhibits snapshots and explanations of the SmallWorldz client, and describes the statistics the software uses to self-assess its own performance. Section 5 concludes the paper, and discusses potential real-world applications of SmallWorldz.

 

2     Existing Internet Communications Software

     In this section, we briefly review existing systems used to assist people wishing to find, share, trade, buy or sell material, information, documents, goods, advice and the like: an action we refer to as a "Request". We have chosen to divide those software systems, based on the way they interact with their users, into three classes.

 

         1) Passive Systems. These are systems that will simply obey a user's request, allowing the user to fully control the manner in which his/her request is processed. In the case of e-mail systems, for example, the request is usually to transport information (e-mail body and attachments) from a "sender" to a "receiver". Examples of such systems include e-mail and instant messaging systems. Passive systems are illustrated graphically in figure 1.

 

Figure 1. Passive Systems

 

     These systems address the need for tools of exchange between acquaintances or formal partners. However, a normal person has a circle of friends and relatives, worldwide, of less than a hundred individuals. There are tens, if not hundreds of potentially useful "strangers" on the Internet, which live or work within the virtual (or even physical) vicinity of an Internet user. Those people, though accessible via e-mail (among other electronic means), are completely invisible to a standard Internet user. Hence, the main drawback of passive systems is that they do not offer the possibility of introducing new people to each other, so they can become acquaintances, and thereafter use those passive systems for communication and exchange.

2) Active Systems. These are systems that receive requests, and actively participate in the exchange, by performing a number of operations on the request, such as classification or broadcast. Examples of such systems are Internet Relay Chat (IRC), Chat Rooms and Forums, Newsgroups and Mailing Lists. Such systems are illustrated graphically in fig. 2.

Figure 2. Active Systems

 

     The study of active systems shows that it is possible to bring together strangers in order to perform some kind of exchange over the Internet. A "trust bridge" is required to encourage people to join a group, and then engage in conversation. Until now, the great majority of these systems used common interests as the trust bridge. The main drawback of these systems is that they require a lot of effort, on the part of users, to locate the people with the right information or good. Newsgroups, for example, do not personalize the information that gets sent to its members. Indeed, at any one point in time, most of the messages being exchanged are irrelevant to most receivers. This makes the process, though friendly, quite inefficient.

 

3) Reactive Systems. These are systems that, not only act on requests coming from users, in a passive or active manner, but also provide the user with personalized, often private feedback on the way the system processes his/her request. Examples of such systems include file-sharing systems, such as Napster, and Question & Answer (Q&A) websites [10-12], where the user is provided with a measure of control that guarantees personalized and relatively accurate answers to his/her questions. Such systems are illustrated graphically, as in figure 3.

Figure 3. Reactive Systems

 

     The idea behind those systems is to allow for cost-effective and trouble-free means of getting answers to requestors. The user need not search through hundreds of files or messages to get to part of an answer. The software does that for the user and returns with a personalized and complete solution.

     Q&A websites show that it is more cost-effective to connect people directly. It is a two-step process, first a user asks the system to be matched with other users (following certain criteria); it is then up to the other users to establish a connection with the requestor in order to execute an exchange. The technique is flexible since the system only makes suggestions, and the users handle the complex matching algorithms. If a user feels confident about helping, then he/she may well choose to answer. Q&A websites, and generally reactive systems, are the closest existing applications to the SmallWorldz model. However, SmallWorldz adds extra features to make the system more efficient, and more trust-worthy; but in essence both systems

pursue the same goal of leveraging the power of the Internet to connect people with requests to people with answers.

     SmallWorldz can also be viewed as an example of a growing number of software applications, known as CommunityWare [16]. These are systems that support the formation and activities of informal groups on open networks, such as the Internet. An example of which is described in [17]. In it, the software creates a visual map of users, where the physical distance between any two users reflects how closely related those two people are, in terms of a set of (weighted) interests. This is an example of what we call: a trust bridge- a means of engendering trust between unacquainted users of the Internet. Another recent example of CommunityWare is: the Public Opinion Channel. This is a community broadcasting system that gathers opinions from community members and hence broadcasts them as meaningful stories. This work was field-tested in Japan on 450 households and the results are in [18].

     This review leads us to the following conclusions:

·   People like to control the way their requests are distributed (via, for example, the e-mail system), as well as what requests reach them (by using e-mail filters).

·   People that are not already acquaintances require some form of a trust bridge, which would encourage them to reach out to each other. (This is the case with subscribers to forums.)

·   It is more cost-effective to actively link people to each other than to passively allow people to search for documents and/or people over a vast Internet (e.g. Q&A websites).

·   Successful systems are those that grow rapidly and hence amass a large reservoir of resources to use in attracting even more users (e.g. file-sharing systems).

·   People matching systems need to be efficient, trouble-free, and flexible (e.g. Q&A websites).

 

3     SmallWorldz

 

A. What is SmallWorldz?

 

     SmallWorldz is a client-server software system, based on instant messaging technology. It allows users, with specific requests, to search for, and be matched with, others who can

answer them. Each user defines his/her domains of competence by subscribing to communities and editing a personal profile for each community. This selection reflects the user's interests in certain topics and determines the kind of requests he/she wishes to receive.

     The system encourages its users to regularly submit their contact lists and the e-mail addresses of acquaintances, in order to update a proximity table between users. The proximity between two users is measured by their degree-of-separation (defined later in this subsection). For each new submission, an algorithm re-evaluates the proximity network to include new nodes (users), build new paths (human chains of relations), and send invitations to join SmallWorldz to potential new users. This algorithm is detailed in subsection C.

     During the matching process, the system will display the degree of separation between the Requester and the Recipients of the Request, giving both sides a sense of proximity. Customizable community profiles provide an accurate matching process, whereas the use of proximity brings a feeling of confidence and trust during the exchange. The combination of those two features makes SmallWorldz a true "brokerage" system focused on connecting people.

 

B. Degree-of-Separation

 

Back in 1967, M. Milgram, a Harvard sociologist, tried to demonstrate empirically that everyone in the World is linked to everyone else via a human chain of approximately six acquaintances [5]. For example, John knows Bob, who knows Julia, who knows Mike, who knows Amanda, who knows Jim, who knows the President. This "six degrees of separation" theory has never been scientifically proven but remains widely accepted judging by its popularity (one play, a movie and many research studies). Judith Kleinfeld a psychology professor believes this popularity comes from the fact that "we like to think that we all live side by side, in this hostile world; it gives us a feeling of security"[8]. Many scientists doubt the theory saying that it is based on false assumptions and simplistic hypotheses [9]. Nevertheless, the idea appeals to the public at large, especially those people who view the Internet as a world wide human (rather than computer) network.

     There is a project at Columbia University, with the aim of proving the theory true, by using the e-mail system [6]. As far as our project is concerned, however, we assume that the theory is essentially (but not necessarily exactly) correct, and try and build on the feeling of trust that proximity can bring to online exchanges.

 

C. The Proximity Algorithm

 

     To build the proximity table used in the SmallWorldz system, we collect the user address books Figure 6 (c), also known as "contact lists" used in any instant messaging system. User X knows A, B, and C, another user Y knows A,

P and Q. The user pairs are stored in a database (Table 1) and an algorithm computes the paths (human chains of relations) using the common friend A as a bridge between X's and Y's network of friends (Table 2).

 

  Table 1. User pairs                           Table 2. Degrees of Separation

                       

D. Proximity Probabilities

     In this subsection we estimate the chances of finding a close acquaintance on the SmallWorldz system. We consider that the total population of the SmallWorldz community is equal to T. To simplify the model, let us assume that each person in the community knows N people that their friends do not know. The probability of meeting a person with a degree of separation less than or equal to D is given by the formula:

 

 

     Figure 4 (a) below shows this probability with T ranging from 1 to 100 000 people, D is set to 3 (Figure 4 (b)) and N ranges from 5 to 30.

 

Figure 4 (a)                       Figure 4 (b)

 

Figure 4 (a): Probability (P) as a function of total population (T) for different values of N

Figure 4 (b): Tree of acquaintances of a single person, for D = 3

 

     Based on this estimate, the probability of finding someone with a "degree of separation" less than or equal to 3 in a population of a 10 000 users, who each know 15 people that their friends do not know, is equal to:

 

     This probability rises quickly with the number of people that each user knows; this is why SmallWorldz will encourage users to keep their address book up to date with all the people they know.

 

E. SmallWorldz Operation

 

Accurate matching and confidence building is achieved with a flexible "double handshake mechanism". This mechanism is used between the Requester and the server (first handshake) and between the Recipients and the Requester (second handshake). The following diagram provides an overview of the mechanism.

 

 

    

Figure 5. The Double Handshake Mechanism

 

The icons used in figure 5 are explained below.

 

     The community is an abstract representation of the users' space. In order to use the system, one must join that space.

       

       The serveris an external component whose purpose is to:

 - Store data, such as accounts, profiles and degrees of separation;

 - Act as a "broker" between users; and

 - Establish the connections and relay messages.

 

    The users: A user is represented within a bubble holding a profile. That profile is fully customizable and is set by the user to reflect his/her interests. At any given time, a user can have one of 4 distinct status levels:

 

1) Logged-in and Available: In order to be reachable by others on SmallWorldz  the user must set his status to "on", which means the user accepts to receive match requests from other people.

 

2) Logged-in and Unavailable: To use the messaging capabilities of the system and avoid receiving match requests, the user sets his/her status to "off" when logged on (his/her computer).

 

3) Logged-out and Available: The user can choose to receive the user requests while he/she is offline, the server may propose his profile as a potential match to others. Next time the user logs on, the offline requests (stored on the server) will be delivered to him/her.

 

4) Logged-out and Unavailable: If the user chooses not to receive offline requests while he is away, then only normal messages will be stored by the server, and the user will not be proposed as a potential match to others.

 

    

Registration: When a new user registers on SmallWorldz his/her account is created and he/she becomes a registered user, who is part of the community, and can start using its services.

 

The registration process creates the user's account on the system; he/she is given an identity and a downloadable communication tool (client) to access the community and exchange with others.

 

Quit:When a user wishes to leave the community, he/she may do so by quitting.

 

     When a user quits, his/her account, profiles and proximity information is deleted, the system will no longer recognize the user or suggest his/her profile for a match request.

 

Page 1, Page 2

 

DEC Lab Home

Last Updated April 6, 2004