The classified ad system included in the ACS would be useful for implementing the following applications:
Of course, some publishers may elect to use the classified ad system in the most obvious way: to facilitate readers selling items to each other.
My generic classified ads system depends first upon categorization of ads. User interface research back in the 1960s concluded that humans are very bad at formulating boolean queries, for example "Nikon AND NOT microscope AND NOT integrated circuit mask stepper'". The Holy Grail of information retrieval was supposed to be the full-text search engine that is so common today. Just type in a string that reflects your curiosity, look at some results, then refine by picking a good result and asking for "more like this."
Why then categorize? Why bother to make users of my http://photo.net/photo/ classifieds say whether they are placing an ad for Underwater Equipment or Darkroom? Why can't the search engine direct people to appropriate ads?
It turns out that users have trouble coming up with that initial query string. It is a lot easier to browse than to think. It is also a lot more efficient for the RDBMS to grab all ads in the Underwater category rather than send PLS off looking for "flash for my Nikonos V". There are only about 10 ads in the Underwater section most of the time so why not let the user see all of them?
Above we see the top level page for a domain in my generic classifieds system. Note that the user gets a tremendous amount of information right on the first page: one-line summaries of recent ads, a listing of the available categories, a count of the number of ads in each category.
Now look at the bottom portion of the first page for a domain in
my generic classified systems. Note
that only here is the full text search engine made available. Users
can browse just by clicking the mouse on the links above. Note also
that I provide a link to the AltaVista search engine. My form targets
a little script of mine that tacks on additional syntax to restrict
AltaVista's search to the rec.photo.marketplace newsgroup. So a user
typing "Canon macro lens" on my page results in a 302
redirect to http://www.altavista.digital.com/cgi-bin/query?pg=aq&what=news&fmt=.&q=newsgroups:rec.photo.marketplace+AND+Canon+macro+lens
One-line summaries of the newest ads should be displayed on the very first page of the system. Users shouldn't have to click to see ads.
Above you can see that the five most recent ads are displayed on
the front page of the photo.net classifieds.
The administrator
can specify the number of new ads he wishes to be displayed.
Notice also that the user can request to see all ads that
are new since his last visit to the site.
I don't want to spend the rest of my life managing my classified ad system. Users post ads using forms. Users edit and delete their obsolete ads by typing in a password. If the password isn't the same as what they typed when they posted the ad, my software offers to e-mail it to them.
How well does this work? My system has handled about 4100 ads so far. I've gotten about 10 e-mail messages asking me to edit ads. In all but one or two cases, the user was able to edit his own ad after I pointed him to the forms.
Busy administrators take note! This may be the single best time
saving tip you learn here.
The form Philip mentioned are linked from the
"Edit Old Ad" link on the front page shown above. To the right I show
the portion of the page containing the links with the particular link in question highlighted. I will talk a little more about the users editing section later.
Once again Philip reminds us: when you have built a community on the web, you don't necessarily have to do all the work yourself. Involve your community! They may well care about its successful operation as much or more than you do. After all the user has even more incentive than you have to make sure his ad looks good. This feature may save you a great deal of work managing and editing ads.
With only a few hundred current ads in my database, I have to do something to distinguish myself from rec.photo.marketplace with its 1000 current ads at any time. Starting a couple of years ago, I offered to mail out e-mail alerts to people who were interested in seeing all the ads, just ads in a particular category, or just ads that match a query string (according to PLS). There are 205 people currently requesting alerts (options are daily, Monday/Thursday, and weekly as with the RemindMe system).
Above left you can see an image of the page the user sees
when he requests the option to add an alert.
This page does not show all the options available for configuring
alerts: on the next page the user is allowed to specify whether he
wishes to see all the ads, the ads in a given category, or the ads
that contain a certain keyword. The administrator can view the
keywords users have chosen, making available yet more information
about the interests of the community -- see Administering
Alerts
One thing that Web classifieds can do that newspaper classifieds can't is turn into an auction. Users of my system can choose at posting time whether or not they'd like Philip's Classifieds to record bids. A bid is instantly e-mailed to the seller and is also displayed underneath the ad for subsequent displays.
At the right we can see that Christopher Vosburgh is auctioning
a $450 Nikon 105mm lens. The auction page provides a number of options
to a prospective bidder. If he is sure he wants to place a bid, he can
do so publically or privately. If he is unsure whether to bid, he
can view previous versions of this ad or check out Christopher Vosburgh's
community history. These last two options are sufficiently important
I think they deserve listing as features in their own right.
Classifieds Feature: Show Edit History
A user can request to see the full edit history of an ad. The purpose
of this feature, as explained on the page that displays the edit
history, is to "help community members judge whether an advertiser
is engaging in deceptive practices such as claiming that an item has
been reduced in price." There are a number of safeguards in this
system against obnoxious advertising practices. The availability of
edit histories is probably one of the more powerful, since it uses the
principle that community members are likely to behave well when their
previous actions are publically visible. The module also allows the
administrator to register filters to block ads whose summary line
contains the word "reduced," exclamation points, or nothing but
capital letters.
Classifieds Feature: Member Histories
This is possibly the most important special feature of this classified
system. Its presence involves users of the classifieds system in the
more general activities of the community. No newspaper or USENET
classified system could reproduce this feature; it is unique to a
community system like this one. It is the only special feature of the
classified system Philip discussed in his
general overview of the community system found in Chapter 3:
Scalable Systems for Online Communities of Philip and Alex's Guide to
Web Publishing , because I think it is the
single feature of which he was most proud. Here are his comments describing why member histories are
useful to users of the classified system:
Of course, some publishers may elect to use the classified ad system in
the most obvious way: to facilitate readers selling items to each other.
This creates a great demand for assistance with the question "how do I
know which other readers I can trust." At photo.net, readers find
assistance from a "neighbor to neighbor" service. After buying or
selling an item in the classifieds, readers are encourage to record
their experience with the other party. Thus far, the database contains
only 320 such records. Yet there have been tens of thousands of
classified ads posted. Rather than demanding that users enter their
story, can we be clever about using information that is already in the
database? Absolutely. One of the things that buyers most wish to know
is whether or not the seller is a professional camera dealer. There is
a belief that camera dealers have higher prices and less integrity than
photographers who want to unload a spare item. Do we ask each person
posting an ad whether he or she is a camera dealer? If so, do we have
the administrative resources to monitor these self-reports?
What distinguishes a camera dealer from a person selling a camera? Volume, volume, volume. The ArsDigita Community System includes a community member profile page that, for an individual user, shows
A camera dealer's profile will generally have a long list of classified ads and little else, as seen at right. Compare this to the page of a genuine active community member discussed in the Community Member History section of this guide. A user wondering whether trust an offer in the classified section could easily figure out which community member was a amateur photography enthusiast and which was a camera dealer.
I built the banner ideas system in order to test my theory that human beings will accept, without complaint, an unlimited amount of commercialization. That one can stuff flashing banner ads in every corner of a page and nobody will comment. The other side of my theory was that unfamiliar ideas would drive people crazy.
I tested this theory by putting crass animated banner ads at the top of some pages in the LUSENET system at greenspun.com. I put banner ideas at the bottom of other pages and also put them into classified ads at photo.net. The result? Not a single complaint about the garish commercial-ish banner ads. Huge volumes of email complaining about the ideas.
This explains the somewhat provocative tone of the comment shown above. To see the full story, with some amusing excerpts from email complaints, see Philip's discussion of his banner ideas system.
In addition, a different type of classified service may require a
radical alteration of the procedure for collecting new ads. Above to the right
we see the standard form for collecting a new ad in photo.net. If one
wished to run a personal ad system instead, I think users might be
quite displeased to be asked whether they wished to buy, sell or
hold an auction. Alternately, a classified system for cars might wish
to ask for extra information like the model, color or manufacturer of
a car. An employment classified system might wish to inquire as to
the citizenship status of the applicant. Every entry on this
page is configurable to accommodate a wide variety of classified applications.
The administrator can:
However, don't forget that the administrator can save himself most of these administration tasks if he remembers that users can edit and manage their own ads. The administrator need only venture into these report pages if he is curious to view the activity on his system, or to cut out the damage of a particularly troublesome user. Notice also that this work can be shared. If the administrator finds some particularly helpful users, he can promote them to co-administrators.
Most of the important configuration
tasks described at the beginning of the last section can be found by
following the link to "update photo.net parameters" found in the
Domain Properties section, which will lead to the Update Domain Parameters page. There are a few
exceptions: some of the more drastic structural changes can only be
made in the ad.ini parameters file. See the
Configuring Parameters section for more
details about these options. The other exception is for the
configuration of categories, for which one must go to the Categories page which is found under the the
"ads by category" or the "manage categories" link (they both lead to
the same page.) From this page the administrator find links to add or
edit a category, which will allow him to set
the category names and the annotation for the top of the page which
collects a new message in that category.
The administrator, just like the user, is offered the options to view all new ads and view ads by category. However, unlike the corresponding user links, these administrator links lead to ad report pages which allow the administrator to edit and delete ads, and also trace through the ads by user and IP address. In addition, the administrative pages offer more control over the browsing options: the administrator can choose the number of days worth of new ads he wishes to see, and also view reports for users who have posted more than a specified number of times between any two given dates.
Here is a summary outline of the pages linked from the One Domain page, whose image appears at the right.
Top Level: Categories: Ads by Category
Top Level: One Ad Report
; for the classified ad system [ns/server/yourservername/acs/gc] ; SystemName= ; SystemOwner= (defaults to global system owner) PartialUrlStub=/gc/
ProvideLocalSearchP=1 ; send a reminder to people ; to edit or delete their ads? NagAdOwners=1 HowManyRecentAdsToDisplay=5
ProvideEmailAlerts=1
; some stuff to deal with annoying photo.net abusers ; don't let people put the word "reduced" in subject line DisallowReducedInSubject=1
Your ad contains the word "reduced" in the subject line. Since you're posting an ad for the first time, it is difficult to see how the price could have been reduced. Also, it is unclear as to why any buyer would care. The price is either fair or not fair. Whether you were at one time asking a higher price doesn't matter.
DisallowExclamationPointInSubject=1
Your ad contains an exclamation point. That isn't really consistent with the design of this Web service, which is attempting to be subtle.
DisallowAllUppercase=1
Your one line summary appears to be all uppercase. ON THE INTERNET THIS IS CONSIDERED SHOUTING. IT IS ALSO MUCH HARDER TO READ THAN MIXED CASE TEXT. So we don't allow it, out of decorum and consideration for people who may be visually impaired.
For each domain, the administrator can choose a domain name and short key, and specify annotations for the top or bottom of the front page of that domain. On the image of the front page of the photo.net classified domain shown at the beginning of this section of the guide, you can see the placement of the annotations. The comments beginning "Attention nerds:" at the top of the page, and "If you want to check (or report) the the reliability of a seller or buyer" at the bottom of the page were both entered on the configuration page for the domain. These annotations will be interpreted as HTML, so they can contain links. Remember to include <p> tags if you have more than one paragraph in your annotation, or your paragraphs will not be formatted correctly.
In addition the administrator can configure the page that collects
new ads. This configuration is important because different
types of services may require quite different ad formats. However, this
configuration can be a little tricky, so I will discuss it in its own section.
Configuring the Collection of New Ads
The hardest part of the configuration task for
is to choose the options for
a user about to place a new ad. As Philip mentioned earlier, the
classified system is meant to accommodate any type of user
contributed content that is unrelated to a static article and
does not require a response. But this means the form to place new
ads needs to look quite different on different kinds of systems.
The first step in configuring this form is to make some decisions about
the kind of system one is attempting to create. Is the purpose to
buy and sell, or to exchange information?
Are auctions appropriate or desirable?
Do you want to allow "Wanted to Buy" ads?
Do the ads require extra information like the color, model number,
manufacturer, or size of the item being sold? What kind of layout
is desirable for the ad collection page?
These choices can be entered on the configuration page for the domain. The hardest part of this configuration task to set up the layout for the form that collects a new ad. Here is the way this process works: the administrator is allowed to enter whatever HTML he wants to use to specify the layout of the form. The only constraint is that the HTML for the forms must contain certain predetermined variable names. The administrator must write a form that collects data for the variables one_line and full_ad. In addition he may also write forms to collect data for any of the other variables listed on the configuration page. If this task seems daunting, the administrator can use the html templates I have listed below for any of the items he wishes to include. Under the HTML listing I show the a sample of the form as it will look when interpreted by the browser. Note that the format of these templates, or their embedded comments can be modified by the administrator in any way he pleases to achieve the exact look he desires.
<tr><td align=center><b>One Line</b><br> (what people will see in a listing of ads) <td><input type=text name=one_line size=40 value="make sure to include the price here"></tr>
<tr><td align=center><b>Full Text</b><br> (should be self-contained and read like a classified ad) <td><textarea name=full_ad wrap=hard rows=6 cols=40> </textarea> </tr>
<tr><th align=left>Manufacturer</th><td> <input type=text name=manufacturer maxlength=50></td></tr>
<tr><th align=left>Model</th><td> <input type=text name=model maxlength=50></td></tr>
<tr><th align=left>Item Size</th><td> <input type=text name=item_size maxlength=100></td></tr>
<tr><th align=left>Color</th><td> <input type=text name=color maxlength=50></td></tr>
<tr><th align=left>US Citizenship required</th> <td>Yes<input type=radio name=us_citizen_p value="t"> No<input type=radio name=us_citizen_p value="f"></td> </tr>
There is one customization of the page for collecting new ads that cannot be set on the domain parameters page: the annotation that reminds readers how to compose a new ad. It is not included on this page because the administrator may wish to tailor this annotation to the specific ad category in which the user is entering a new ad.
If the administrator finds an ad that mostly acceptable but requires small changes, he can request a page to edit the ad. At right we see the administrator's edit page for the ad posted by Christopher Vosburgh, featured earlier in this essay. The administrator is allowed to edit all the entries a user enters. In addition, he can reassign the ad to a new category. He can also assign a charge to the user for the sin of imposing upon him the burden of editing the ad. This is part of the member value system, which the administrator can use to track of users who are causing him particular difficulties, and possibly even charge difficult users real-world money for the burden they have imposed on his time. The select box shown in the image at left is reproduced here:
There are three categories of charges the administrator can apply. The first category is for mistakes that are too small to deserve a penalty; the second for mistakes that are probably the result of an honest error or misunderstanding on the part of the user; and the third for serious infractions probably caused by deep-seated lack of consideration or malicious intent in the user. The rates for these categories can be set in the ad.ini parameters file. To read in more detail about the member value system, see the description of the Member Value module in another chapter of this guide.