In Association with Agoracast In Association with




Agoracast is a decentralized consumer-to-peer (C2P) e-commerce desktop application that permits users to exchange goods and information over the Internet without using a middleman. Some of the applications include selling used textbooks, bidding on a computer, looking for an apartment, posting your job qualifications, and finding a mate.

Agoracast users save money by avoiding middleman listing, matchmaking, and transaction fees. Agoracast users save time by posting to and searching just one universal shared-data electronic marketplace, the World Wide Exchange (WWX), instead of several proprietary marketplaces that hoard the user-provided data. Agoracast is in the business of "disreintermediation".

Users post messages to their local newsgroup server using the Agoracast desktop transceiver. Over the next few hours, these messages are then copied in a decentralized fashion to newsgroup servers all over the Internet. Over time, other Agoracast users connect to the Internet and download these messages from their local newsgroup servers.

As the automatically generated Agoracast message format makes it easy for computers to read and sort the data, Agoracast users can quickly find what they are seeking by using the message matchmaker browsing function. This function allows users to sort the message data by product and service attributes such as price and other specific features. For example, a university student can sort the messages based upon the International Standard Book Number (ISBN) and zip code in order to find a used textbook that he could purchase from another student on campus nearby.


Use of the "Browse" panel is based upon the selection and sorting of product and service attributes, hereafter referred to as data fields. For example, if you were seeking a mate in your local area, you might select the fields "gender", "age", and "zipcode". The fields presented for selection are based up the attributes present in the messages currently downloaded.

Once you have selected your search attributes, you are presented with a table of message data with each row corresponding to an individual message and each column a selected attribute. You can sort on the columns to find what you are seeking. For example, if you are searching for an apartment, you might first sort on monthly rent and then on number of bedrooms.

Double-clicking on an individual row will bring up the original message with all attributes listed. Normally you would not include attributes such as contact information in your initial search but you would want to see them when reviewing an individual message. [Not yet implemented: You may add any additional attributes listed in your selected message to your search.]

You must select a server in the Configuration panel before you can browse messages.


Many of the data attributes that you would include in a message, such as your contact information, will be reused frequently. The "Defaults" panel allows you to edit and persistently save default values for such attributes.

As the default values are used in posting messages, you must select a server and provide an e-mail address in the Configuration panel before you can set or change the default values.


The "Post" panel is used for message data entry. You begin by choosing your message category such as "job-wanted", "personal-ad", "car-for-sale", etc. After choosing the message category, select those attributes which you wish to include in your message by clicking on the corresponding checkboxes. You must type in appropriate data for each checked attribute. For example, if you were listing a car for sale, you might select the attributes year, make, model, and price and then provide the appropriate values.


Clicking on the "Defaults" button will reset your checkboxes and data values to the values given in the "Defaults" panel. You can then customize your message from that basis.

Add Fields

When you choose a category such as "car-for-sale", a number of attribute fields normally associated with the category such as "manufacturer", "model", and "year" will be presented by default. You can add additional fields not already associated with the category by clicking on the "Add Fields" button.


Clicking on the "Post" button will send your message to your local newsgroup server. From there, it will be distributed to thousands of newsgroups servers all over the Internet within a few hours.

You must select a server and provide an e-mail address in the Configuration panel before you can post messages.


This product is distributed in an unfinished state in order to solicit comments and suggestions. Please send your feedback to To receive e-mail announcements of new version release updates, please subscribe to the CroftSoft Update newsletter at

Current Limitations

This early prototype version is incomplete. As such, it currently has the following limitations:

  • The data field names that you can post and examine are currently limited to a couple of dozen choices such as "asking" (price), "bidding", "email", "isbn", "zipcode", etc. A later version of this product will include the ability to add new fields.

  • The downloaded messages are stored in memory. When memory runs low, messages are automatically chosen in an arbitrary fashion to be removed.

Known Bugs


This final section documents the technical details of the Agoracast system. It is targeted at software developers designing Agoracast-compatible applications.


Newsgroup messages are usually sent as unstructured natural language text. As such, these messages must be read by a human to be properly understood. In order to find messages of interest, a human must usually read each message as it is posted or resort to an imprecise keyword search. Once retrieved, comparison of message content is a tedious manual process that is complicated by differences in language and vocabulary.

Agoracast structures and normalizes the data making it easy to find, read, and understand by both humans and computers. Such data is transmitted using pre-established semantics. In effect, through replication of the broadcast data, Agoracast permits users to query a continuously updated virtual world wide database of structured message content.


User configuration and default values are saved to the local file ".agoracast_config". This file is in SML format and may be hand-edited with care.

File ".agoracast_newsrc" records the last article number read in a newsgroup on a given server. This file is in SML format and may be hand-edited with care.

File ".agoracast_database" stores downloaded message data for future review. This file is currently in SML format but this may change in the future to a more compact format.

All files are updated upon normal shutdown.


The bodies of messages with a subject header starting with "[Agoracast]", case-insensitive, will be downloaded and parsed for data.

Message body data is formatted as plain text colon-delimited name-value pairs. An example message body follows:

asking ........:  $30,000.00

email .........:

description ...: domain name for sale 

Periods and whitespace immediately preceding the colon are ignored. Outer whitespace around the name and the value is ignored. Any comments following a blank line after the name-value pair listing are ignored.

The original prototype used Simplified Markup Language (SML), a subset of Extensible Markup Language (XML), instead of colon-delimited name-value pairs to format the message body data. In order to make Agoracast messages easier to read and write by human recipients not currently using an Agoracast-compatible client, SML was dropped in favor of the current format.

It is very likely that, in addition to the colon-delimited format described above, XML and/or RDF will also be used in the future to take advantage of capabilities such as Schemas, Namespaces, and hierarchical and object graph data relationships. This new version may be distributed as a separate "professional" version of the Agoracast transceiver client. While XML text is readable by humans with the proper white space and indentations, the "Agoracast Pro" version will probably generate XML messages optimized for machine consumption.

© 2002 CroftSoft Inc.