The Design of Voting and Rating Services within Web4Groups

László Kovács, András Micsik

Department of Distributed Systems
MTA SZTAKI, Computer and Automation Research Institute, Hungarian Academy of Sciences
H-1111 Budapest XI. Lágymányosi u. 11. Hungary
{laszlo.kovacs, micsik}

Abstract: The Web4Groups EU supported project is one of the Telematics Application Development Projects of the Fourth Framework Program. The target of the project is to develop a distributed World Wide Web based, non-simultaneous group communication system that can also be considered as a complete redefinition of the traditional communication services like Usenet. The paper provides with a global overview on Web4Groups system and particularly the concepts followed during the design of Voting and Rating services within Web4Groups.

Keywords: CSCW, groupware, group communication service, CMC, computer-mediated communication, World Wide Web, conference, voting, rating, PICS

1.  Introduction

The Web4Groups EU supported project is one of the Telematics Application Development Projects of the Fourth Framework Program [12]. One of the purposes of this project is to provide, develop and demonstrate new standardized group communication services for citizens. Besides basic group communication services the advanced Web4Groups system provides additional services such as voting, rating, annotation, and joint editing.

The World Wide Web itself is a collaborative technology in a weak sense. People can share information via the Web. Building a group application on the top of World Wide Web using the well-known paradigm of computer conferencing has an enormous potential as it has the advantage of building on a globally accessible, platform independent communication infrastructure. The Critical Mass problem [5] is almost automatically eliminated. Millions of users can access such a group application without any further investment on software platforms and without too heavy investments on learning a new paradigm. Web4Groups systems follows this direction. It is built on World Wide Web. The well-known paradigm of computer conferencing is integrated.

From architectural point of view Web4Groups, similarly to BSCW [1], uses server extensions (via CGI), but client extensions (Javascript, Java applets) are applied as well. The current HTTP is certainly not suited to the requirements of a group application, therefore, a new protocol (KOM) had to be developed and applied.

The paper provides an overview on Web4Groups functionalities and introduces an insight view on the voting and rating subsystems as well as their design and some implementation aspects.

2.  A Brief Overview on the Web4Groups System Architecture

Web4Groups is a distributed system that allows Internet users to join or start public discussion forums or closed workspaces in order to exchange (MIME) messages and/or and share multimedia documents. Objects of the system (forums, activities) are called "boards". Boards are accessible not only via World Wide Web, but also via e-mail as well as fax or telephone [12].

Web4Groups system basic services are as follows:

Advanced services cover the following functionalities:

Web4Groups is based on a client-server architecture. Users can use any modern web browsers (supporting HTML 2, Javascript, cookies, etc.) as a primary client, and there are additional e-mail, line-oriented and fax client gateways.

Objects (boards, forums, workspaces, messages, users, etc.) are stored in the Web4Groups server. The server consists of a database containing the objects of the system and a server process which receives requests and performs the corresponding operation.

This distributed conferencing system uses an own communication protocol between each server (KOM protocol). This protocol builds on the TCP/IP protocol. The server also provides gateways to SMTP and NNTP so that users may directly access E-mail and Usenet news servers from within the Web4Groups conferencing system.

Web4Groups conferencing servers may cooperate to provide a coherent Web4Groups service. Users can connect to any Web4Grops server independently where they are located and can access any object in the system, no matter which server the object is based on. Every object in the database has one master server, and if a particular object is not available in the local server, it is fetched from its master server. Information is, therefore, replicated on request as needed between servers. E.g, a forum object is replicated on-demand to all servers where that forum has at least one member. The forum description is additionally replicated to all servers where there is an announcement of the forum in question.

For more information about the Web4Groups features and functions please refer to the published information about the project and system itself. [12] The following figure shows the user interface of Web4Groups system version 0.5 prototype with an open forum (board) for a discussion on topics of Voting & Rating Concepts including messages and their responses.


3.  Voting and Rating

Voting and rating activities require the gathering of participants' opinions from large distances, and therefore, they are closely connected to network issues and distributed processing.

Nowadays, there are dozens of WWW pages offering rating/voting in a given topic. (e.g. Submitting a vote, The big vote, Votelink, The Irish Pub, Plus/Minus Vote, Virtual Voting, Homepage Competition, Private Inquiry, Wave Rating, etc.) Usually, the summary of these ratings/votings are also put on the Web. The use of voting on the Internet can be characterized by calculating the number of sympathizers, or asking for the opinion of people in some topic. (E.g. public opinion polls on political issues. There are several sites dedicated to one political decision or a certain law, collecting votes and opinions. These efforts try to show that people accept/dislike those decisions or laws, furthermore, they can help in building a consensus in debated questions.)

Films, books, CD records can be rated by Internet users. These ratings form a very useful guidance to find valuable pieces in the multitude of items. One usual occurrence for rating on the Web is the rating of documents by volunteers who subsequently get tips for other interesting documents based on ratings of users of similar interests (FireFly, GroupLens).

There is a danger that children browsing the Web may accidentally download Webpages with bad influences. This encouraged the general Web content rating efforts led by the WWWConsortium (W3C). W3C promotes the PICS (Platform for Internet Content Selection) standards to create the basis for an open content rating market.

An early bird of the configurable and distributed voting systems is being developed by SmartChoice Technologies Corporation [11]. The two strong points of their system are the distributed, open architecture and a description language for rating/voting forms. SmartChoice claims to provide choice processing (tm) technology, which provides basic tools to create vote forms, store ballots and calculate and present the vote result. These tools have to be integrated in a WWW environment to form a solid voting service. SmartChoice has also prepared a data model (ChoiceObject) for gathering and processing vote data, which is intended to use through common code libraries.

eVote is a mail-based voting system [3]. Mailing list administrators may plug-in eVote to mailing lists as an add-on functionality. As embedded in mailing lists, eVote has a simple environment to prepare and evaluate votes. In the case of eVote the main stress is on the users© rights and ways to experience electronic democracy. eVote has a secure database engine which ensures that ballots cannot be manipulated.

As a natural evolution, there is a great need within Internet communities to be able to use voting and rating tools very easily. Currently, there are two important research and development issues:

3.1.  Definition of Voting and Rating

Generally, rating/voting is an action in which people express their opinion in a topic by answering questions in a form [14]. There are several other words for this action with slight differences in meanings:

More detailed definition of voting and/or rating can be found in the literature [14]. Despite having multiple names, voting and rating events share a lot in procedural aspect which is the most important from practical point of view. Most voting and rating events can be outlined with the following procedures:

The results of voting/rating events often bring consequences such as appointing somebody to some function, giving prizes to some persons, or making orders and laws. Results are often publicized in some way to a smaller or larger group. Continuing the examination of these procedures, one can conclude at a generalized description of voting/rating events called the Reference Model for Rating and Voting. [2]

Using the terminology of the Reference Model developed previously, a rating/voting process basically consists of the following subprocesses: initiation, collection, analysis, distribution, decision making.

The initiation of the rating/voting process arranges all the aspects, roles and criteria of the process, defining common properties and data for all subprocesses, and then the subprocesses themselves. During the collection subprocess votes/rates are received and put them into a database. The analysis subprocess performs all the calculations needed for the evaluation of the votes/rates. The distribution of results of voting/rating process via WWW pages of E-mail can be followed by a phase of an optional automated decision making process.

4.  Voting within Web4Groups

Voting is integrated into the general conferencing features of Web4Groups. A voting is presented as a set of Web4Groups forums and messages. Special actions in voting are shown as buttons when a user browses the voting forums. This way, user registration, access permission, message threads, multilingualism and distributed behavior are inherited from the Web4Groups system. Based on these facilities, further advantages emerge:

4.1.  Process of Voting

Users may create a new vote in Web4Groups, and appoint the so-called organizers of the vote, who will conduct the voting process. At the time of creation, a new workspace is generated for the vote with separate subfolders for discussion, votes and logs.

During the preparation phase the organizers configure the vote considering the remarks of participants in the discussion subfolder. The configuration of the vote and the vote form is shown in the workspace. When everything has been settled, the voting process may be started. Participants may vote either by filling the vote form on the Web4Groups server, or by sending their ballots in e-mail. In this phase normally no interaction is needed by the organizers, but if a problem arises in the software, the organizers may change the configuration of the system. The problems and the reactions of organizers are logged in a log (which is a message readable to all participants). After closing the vote, the workspace turns into an archive, storing all important documents of the vote.

4.1.1.  Vote Configurations

The behavior of a started voting activity is defined by a state-machine. This state-machine can act on conditions such as

Conditions may trigger the change of the state of the voting process or the execution of certain commands. Commands cover all generic actions during the voting process in a simple manner which does not require programming skills, neither allows the abuse or corruption of the vote. Commands may send automatic reminders to voters, publish the results or change vote switches. Switches provide general configuration of the vote, defining user authentication, anonymity, or a statement whether one may change his/her vote during the voting process or not.

The further elements of defining the voting execution are the vote form, the voter group and the result format definition. The most important is the definition of the vote form which is described in a later section in connection with PICS. Only the vote organizers are allowed to configure the voting. This is done through a WWW form-based interface supported by locking/joint editing.

4.1.2.  Security considerations

The Web4Groups Voting Service can distinguish the following access rights:

These rights are realized partly through the membership and organizer rights related to each Web4Groups forum/folder, partly through the Voting Service. The Voting Service may support different authentication schemes for voters, allowing non-registered Web4Groups users to vote, or casting the vote by e-mail. The Voting Service acts in the Web4Groups system as the so-called voting agent, a special non-human user. This way, even the vote organizers can be kept from changing/reading certain data.

4.2.  Architecture of the Web4Groups Voting Service

The Voting Service interacts with the Web4Groups system in three different ways considered as APIs of the system:

Other main elements of the Voting Service include:

Furthermore, auxiliary objects help the Voting objects

The Voting Service is implemented in Java version 1.1.

4.3.  Data Formats in the Web4Groups Voting Service/Agents

This section describes the most important data formats for Web4Groups Voting architecture. First the Platform for Internet Content Selection (PICS) is presented and then data formats are described.

4.3.1.  PICS

The PICS effort is guided by the World Wide Web Consortium to provide the technical basis for rating facilities on the Internet. The most practical target of rating is the WWW pages themselves. (Sexual or violent WWW pages, etc. can be filtered out by using ratings.) PICS has the following terminology:

PICS has two machine-readable formats for the transfer of data: one for the transfer of ratings, and one for the transfer of the rating system. An example for a simple rating system is given here:

    ((PICS-version 1.1)
     (rating-system "")
     (rating-service "")
     (name "An Example Rating System for Photos")
     (description "Photos are rated for topic and quality")
     (transmit-as "theme")
     (name "The theme of the photo")
     (multivalue true)
     (label (name "landscape") (value 0))
     (label (name "portrait") (value 1))
     (label (name "action") (value 2)))
     (transmit-as "quality")
     (name "Photo quality")
     (integer) (min 0) (max 10))) 

At the beginning of the service description the given URLs give detailed descriptions about this service and the applied rating system. Ratings are given in two categories: theme and quality. In the theme category any combination of three values can be given. The quality of the photo is rated with an integer between 0 and 10.

A rating of a photo in this system would be like this:

    (PICS-1.1 ""
    by "Jury 1"
    for ""
    on "1996.12.05T08:15-0500"
    ratings (theme 1 quality 10))

4.3.2.  Application of PICS for Voting Purposes

As the concept of rating is very close to that of voting, PICS could be applied to transfer voting data over the Internet as well. An open exchange format for votes would help and inspire voting on the Internet. Some possible benefits are as follows:

However, there are slight differences in the functionality of voting and rating, and current PICS formats can support voting in some situations only.

Basic terms in PICS can be easily mapped into voting equivalents. Voting service similarly to rating service is a group or organization that organizes votes and provides the necessary things to hold them. A voting system is the definition of the questions and the possible answers by the voters along with the rules to evaluate the questions. Typically a voting service sets up a voting system for each vote and collects ballots from the participants.

The rating system consists of categories corresponding to questions, furthermore, labels referring to allowed answers/choices in the voting system. The variety of answering modes in voting system is not found in rating systems. The Web4Groups Voting Service provides the following answering modes: single choice, multiple choice, ranking, evaluation and allocative choice. Multidimensional matrix and preferendum choices are also applied in votes. PICS generally assumes that the label for a category is a number between given lower and upper bounds. It can model single/multiple choices too with optional modifiers, but not the other listed answering possibilities. While the PICS rating system is not powerful enough to describe advanced choice models, the rate distribution is defined so widely that it can distribute all possible answers (a rating for one category can be a set of label:value pairs). In another sense the PICS rating system definition is too wide for voting, since it allows fractional values as ratings, which is not necessary in case of votes.

As there are several analysis methods for certain choice models, it is necessary to choose the method for analysis and distribute it along with the voting system, otherwise, different results produced by different algorithms give raise to debates. Furthermore, two very general voter contribution types are not supported in PICS: abstention and comments. The possibility for a user to abstain from answering a question should be a controllable feature in vote forms, together with the opportunity to make comments on a question.

4.3.3.  Data formats

During the development of the Web4Groups Voting Service formats to store votes and vote forms were defined in the system with the intention to stay as close to PICS as possible, while covering all user-requirements. There is a hope that later we will be able to connect our service to other voting services, and perform distributed voting activities. Another consideration was that a Web4Groups server has all functionalities to support the operation of a rating service.

In the vote form description despite some new or modified information fields, the following PICS enhancements were made:

The vote format has two new features:

Vote form example:

    ((W4G-VOTING "1.1")
     (location "")
     (voting "")
     (form "basicform")
     (description ( "hu" "Proba szavazas") ("en" "Test voting"))
     (transmit-as "q1")
     (name ("hu" "Hol a fejem") ("en" "Where is my head?"))
     (options nocomment noabstain)
     (type evaluation 
        (label (name ("en" "Likely") ("hu" "Valoszinu")) (value 0))
        (label (name ("en" "Not likely") ("hu" "Nem valoszinu")) (value 1)))
        (label (name ("en" "In the cupboard") ("hu" "A konyhaszekrenyben")) (value 1))
        (label (name ("en" "In the wardrobe") ("hu" "A ruhaszekrenyben")) (value 2))
        (label (name ("en" "Completely lost") ("hu" "Teljesen elveszett")) (value 3)))
     (transmit-as "q2")
     (name ("hu" "Mi a valasz?") ("en" "What is the answer?"))
     (type single-choice)
     (label (name ("en" "Yes") ("hu" "Igen")) (value 0))
     (label (name ("en" "No") ("hu" "Nem")) (value 1))))

Example vote:

    (W4G-VOTE ""
     by "Andras Micsik"
     for ""
     on "1997. 02. 12. 23:55:20 GMT"
     ratings (
        q1 ( 1:1 2:1 3:0 ) 
        q2 abstain (comment "Sorry, I cannot choose...")))

5.  Summary

Word Wide Web is an almost ideal platform for the development of groupware application providing universal, platform independent, globally accessible communication infrastructure as well as universally accepted user interface paradigm. Currently, it is the primary means of accessing information over the Internet. However, it lacks the provision of direct support for collaborative information share, collaborative work. Web4Groups extends Word Wide Web to this direction integrating the well-known paradigm of formally structured computer conferencing with the Web.

The system consists of several, almost independent subsystems: the KOM database for storing and sharing replicated formally structured conference information, the World Wide Web Gateway for the basic functionalities and some extensions for the advanced functionalities such as voting and rating, joint editing, etc.

The paper provided a global overview on the system architecture and focused on the voting and rating subsystem. Meanings of voting and rating were discussed and the basic architecture was presented. Voting and rating functionalities share almost the same procedural aspects, therefore, similar implementations are given sharing similar data formats based on PICS defined. Users required highly sophisticated, flexible voting functionality and just basic rating functions. Therefore the paper concentrated on voting instead of rating.

Web4Groups system is currently under development by a multi-national consortium within an EU supported Telematics Application Development project of the Fourth Framework Program. MTA SZTAKI, (Computer and Automation Research Institute, Hungarian Academy of Sciences) is responsible for the development of voting and rating functionalities within Web4Groups.

We thank for the consultations with Peter-Paul Sint, Torgny Tholerus, Jacob Palme, Roland Alton-Scheidl, Samba Diallo and Grzegorz Swiatek during the design of voting and rating subsystems of Web4Groups.

6.  Bibliography

[1] R. Bentley and T. Horstmann and K. Sikkel and J. Trevor, The BSCW Shared Workspace System, ERCIM Workshop on CSCW and the Web, Sankt Augustin, Germany, 1996, GMD/FIT
[2] M. Biró and L. Kovács and A. Micsik and T. Remzsđ, Reference Model for World Wide Web Voting and Rating Services, 7th Mini Euro Conference, Bráges, March 24-27, 1997
[3] eVote Web Page, (URL:
[4] Laurent Chemla and Marilyn Davis and John Jacq and Claire MacElroy, Features For Freedom, First European Conference on Voting, Rating, Annotation, Vienna, 21-22 April 1997, (URL:
[5] J. Grudin, Why CSCW applications fail: problems in the design and evaluation of organizational interfaces, Proceedings of the Conference on Computer- Supported Cooperative Work, CSCW'88, ACM SIGCHI & SIGOIS
[] Annex A: Draft user requirements for computer-supported voting and polling as a group communication task, (ISO/IEC JTC 1/SC 18/WG 4 N 1851 annex to N 1847)
[7] G. Kiss and L. Kovács and A. Micsik, Voting and Rating within Web4Groups, First European Conference on Voting, Rating, Annotation, Vienna, 21-22 April 1997, (URL:
[8] D. R. Newman and P. J. Emerson, The On-line Preferendum: a Tool for Polling, Conflict Resolution and Decision-Making, (URL:
[9] PICS Label Distribution Label Syntax and Communication Protocols, Version 1.1, W3C Recommendation 31-October-96
[10] Rating Services and Rating Systems (and Their Machine Readable Descriptions), Version 1.1, W3C Recommendation 31-October-96
[11] Choice Processor(tm) Technology and Group Decision Making (URL:
[12] The Web4Groups Project (URL:
[13] Web4Groups base system manual, Deliverable D 3.3 of the Web4Groups project
[14] R. Schmutzer and P. Sint and R. Alton-Scheidl and G. Tscherteu, Voting and Rating - Perspectives for Information Collection, Decision Making and Collaborative Rating Using Web4Groups, Deliverable D 4.5 of the Web4Groups project