The W3C's Platform for Internet Content Selection can block smut without strangling the Internet
This month we clear up the misconception that the World Wide Web Consortium's Platform for Internet Content Selection (PICS) is some kind of rating system for Web sites. It is, in fact, a more subtle technology than that; one that allows different rating systems to co-exist on the Web. Find out how it works right here. (2,400 words)
As we all know, this all changed when the Web came to life. With easy-to-use tools falling into the hands of anyone with a computer and a modem, finding and viewing information became easy. As a result, people began to put a lot more information on the Internet, ranging far afield from its original technological focus. As the variety of information increased, so did its suitability for all audiences. More bluntly, as with every mass communication technology ever invented, people saw the Web as a great way to distribute pornography.
Don't get me wrong: the Web is a wonderful way to distribute any kind of information. The philosophy of the Internet, with its lack of centralized control, ensures that anyone can put anything on the wire at any time. That's a good thing, fostering sharing, collaboration, and a strong sense of community among like-minded folks using the 'Net. It can also be a bad thing, if information becomes available to those who may be harmed by it.
The prospect of children viewing pornography on the Internet has caused some disturbing knee-jerk reactions among certain groups. Some would be happy to choke the flow of all information in order to prevent pornography. Throwing the baby out with the bath water is never a good idea, but makes for a popular political position in these circumstances. Those of us who saw the 'Net grow from nothing to a global information infrastructure are appalled at the thought of a government body attempting to restrict the free flow of information on the Internet, even if the desired result is for a good cause.
Fortunately, a better solution exists. Devised by independent organizations without government affiliation, this solution does not impede the flow of information. Instead, it provides a mechanism by which information may be described and managed by those who create it and those who desire to view it. It does not focus on pornography, per se, but instead attempts to provide a broad solution that provides not only an access control mechanism, but tools that actually make the Web easier to use for everyone. The solution is called PICS, the Platform for Internet Content Selection.
What's in a rating?
The problem at the core of any access control system for the Internet is that someone, somewhere, needs to define what is "good" information and what is "bad." Based upon those ratings, individuals can then decide if they want to see the information. Rating any collection of information is always hard (ask any museum curator); defining pornography or other sensitive materials is impossible.
Every person has different standards of acceptability. To attach a single label to a document that defines whether it is suitable for a particular audience is not possible. For such a label to be useful, the raters and the users must agree on some standard of measurement. Given the global nature of the Internet, and the varying standards between communities, it is impossible to place a single label on a document that everyone can use to control access to that document.
To be effective, a rating must provide a range of values describing a spectrum of suitability. Users of the rating system can decide which values in the spectrum are suitable for their use. Raters must apply the ratings in a consistent manner, so that users come to trust their ratings.
Consider a popular rating system in the United States, the Motion Picture Association of America (MPAA) movie rating designations. This system defines six move rating categories: G, PG, PG-13, R, NC-17, and X. Movies rated G are considered acceptable for all ages; X movies are deemed for adults only. PG, PG-13, and R define standards that lie between these two extremes. NC-17 films are suitable for adults only, but don't contain the explicit sexual content implied by an X rating.
Over the years, through experience, moviegoers have learned what to expect of movies with different ratings. When a new movie comes out with a certain rating, they can make fairly well-informed decisions as to whether they or their children should see the film. Although some would argue that standards have shifted over the years, the rating board has generally been consistent in its handling of films, so most people trust their ratings.
The PICS solution
The MPAA has defined a language for defining a rating and a way to assign that rating to a specific film. In a similar manner, the PICS standard defines a way to create a rating system, a way to define a rating within that system, and ways to associate that rating with a resource on the Web. Any object that can be referenced with a URL can have a rating using the PICS system.
Before proceeding further, let's clear up the most common misconception about the PICS standard. PICS does not define a rating system, nor does it rate documents. PICS provides a standard way to define rating systems and a standard way to assign ratings to documents. PICS does not say what is a good or bad document; it does not arbitrate among those who seek to rate documents; and it does not endorse any particular rating system. PICS exists only to provide a way to make rating systems possible on the Web.
There are three steps to creating and using a PICS-based rating system. First, you must define a rating system, including categories and values for those categories. Second, you must make that rating system available to those who wish to use it. Finally, you must attach labels to resources on the Web. Along the way, you must get people to agree to use your rating system and to trust your ratings, but that task falls outside the purview of PICS.
A rating system has one or more categories, each of which has one or more values. A category might have a discrete number of values, either numeric or named, or it may use a range of values within specific boundaries. Value ranges might be integer, or they can have decimal components.
When designing a rating system, you'll want to pick categories that mean something to your users, and you'll want to define values that make sense within those categories. For example, suppose we want to rate Web pages based upon how quickly they can be transmitted across the Internet. We might choose categories like "total document size," whose value is an integer value, and "contains images," whose value is a simple yes or no. We could define a category like "minimum modem speed needed" with discrete values like 9,600, 14,400, 28,800, and so forth.
Once you've settled on these categories and values, you use the PICS standard to describe your rating system. Our rating system for document transmission might look something like this:
( (PICS-version 1.1) (rating-system "http://www.my-ratings.com/ratings") (rating-service "http://www.my-ratings.com/v1.0/") (icon "images/icon.gif") (name "Document Transmission Rating System") (description "A system for rating document transmission speed") (category (transmit-as "tds") (name "Total Document Size") (min 0) ) (category (transmit-as "img") (name "Contains Images") (label (name "no")) (label (name "yes")) (label-only) ) (category (transmit-as "mms") (name "Minimum Modem Speed") (integer) ) )
Systems and services
This example begins by defining URLs for this rating system and rating service. At first blush, you might wonder what the difference is between a system and a service. A rating system is a collection of categories and values; a rating service is an entity that uses the system to provide ratings. It is possible that a single rating system might be used by multiple rating services. In this case, each rating system would supply a description of the system that uses the same value for the
rating-system parameter but
different values for the
rating-service parameter. Both
URLs must be valid and accessible to the Web. The
rating-system URL should yield a human-readable
document describing the rating system; the
rating-service URL should provide a document describing
the rating service.
The remaining parameters are more obvious. The
parameter provides the URL of an icon defined for the rating system.
If relative (relative URLs do not start with a server or root path), the URL is based upon the
URL. Presumably, browsers could display this icon when encountering
a rated document. Similarly, the rating system
description could be displayed to the user as the
browser sees fit.
The remainder of the definition covers the categories used by the
rating system. Each category has a name that is descriptive and
intended for human consumption, along with a shorter
transmit-as name that can be used in labels to keep
transmission time as low as possible. Values can be a specific set
of labels (like "yes" and "no" for the "Contains Images" category),
a range of values (like the zero-based range for "Total Document
Size"), or an unlimited set of values (like the "Minimum Modem
This is a simple rating description. The PICS rating language has a number of other options and parameters that allow you to define almost any type of category and value set. The language is intended to be machine-readable while still being usable by humans. Ideally, a rating service would provide more elaborate documentation of the rating system it uses, so that users could make intelligent choices when evaluating a document rating. Since it is expected that multiple rating systems will be designed, the system with the most complete description and user documentation should prevail in the marketplace.
Labeling your documents
Once you've defined your rating system, you'll need to create a label and attach it to a document. To help out, PICS defines a language you can use to define this label. A typical label might look like this :
(PICS-1.1 "http://www.my-ratings.com/v1.0/" by "Chuck Musciano" labels on "1997.06.07T22:07-0500" for "http://my-server.com/document.html" ratings (tds 27512 img yes mms 14400) )
This label provides the URL of the rating service, as defined in the rating system we created previously. It says who created the label and the time at which the label was created. The URL of the rated document is provided; this allows the browser to ensure that the label is being used with the intended document. Finally, the actual ratings are provided, using the shorter "transmit as" names for the rating categories. This label declares that the document has a total size of 27,512 bytes, that it contains images, and that you'll need a 14,400 baud modem to download it in a reasonable amount of time.
There are many other optional parameters you can include in the label, but even this subset illustrates some of the pitfalls of a labeling system. At the very least, this label may be out of date, or it may be bound to the wrong document. It may also have been tampered with or created by someone not authorized to use this system. PICS provides mechanisms to prevent tampering including digital signatures and checksums.
Once the label is created and the appropriate parameters defined,
you must associate it with your document. The easiest way to do this
is to include it in your document, using the
<meta http-equiv="PICS-label" contents=' (PICS-1.1 "http://www.my-ratings.com/v1.0/" by "Chuck Musciano" labels on "1997.06.07T22:07-0500" for "http://my-server.com/document.html" ratings (tds 27512 img yes mms 14400) )' >
Make sure you put this tag within your document's
<head>, or it may be ignored by the browser or
Now that we've learned about rating systems, how to create them, and how to use them, I have to let you in on one more secret: you will probably never need to create your own rating system. You may not even need to label documents yourself. Instead, you'll probably take advantage of a rating service to define your rating system and even to label your documents. Next month, we'll look at current rating systems, the services that support them, and how you can use them in your documents. Until then, you may want to read up on the official PICS standard (below).
About the author
Chuck Musciano has been running various Web sites, including the HTML Guru Home Page, since early 1994, serving up HTML tips and tricks to hundreds of thousands of visitors each month. He's been a beta-tester and contributor to the NCSA httpd project and speaks regularly on the Internet, World Wide Web, and related topics.
If you have technical problems with this magazine, contact firstname.lastname@example.org