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
|