Introduction to Internet Ratings
Note The Internet Ratings API is deprecated, and will be removed in a future release. Use Windows 8 Family Safety feature instead.The Platform for Internet Content Selection (PICS) is a World Wide Web Consortium (W3C) group chartered to define a standard for the creation of rating systems and rating information. PICS is the open W3C standard for solving the problem of minors accessing adult content on the Internet. Microsoft views PICS as the best direction for solving these problems. This document describes how to support ratings on the Windows Internet Explorer platform. It is written for HTML authors who want to support PICS ratings on their site, and also for programmers who are developing Web authoring or viewing tools and applications.
- The PICS Standard
- Internet Ratings API
- Related topics
This section describes how the PICS system works, shows an example of rating information within an HTML page, and briefly describes the PICS specification.
The PICS system has two types of components: rating systems and rating labels. A rating system defines the criteria for how content is rated. PICS has created a meta-language for defining the different rating categories and values. For example, the Motion Picture Association of America (MPAA) rating system has one category with five values: G, PG, PG-13, R, and NC-17. Using the PICS specification, rating systems with multiple categories can be defined.
The rating label is the actual rating information. The label can appear on a Web page as part of the HTML content, on a third-party Web site, or anywhere else that a particular client application "knows" to look for them. Each item of content that is rated has its own label. PICS has defined the syntax for these rating labels, as well as extensions to many Internet protocols to support labels.
The PICS system works by matching labels to their associated systems. The client software, either part of the browser or a separate application, allows parents to decide what levels of content to allow their children to see for each rating system. Then, as the child uses the PICS-aware browser or application, the browser finds the rating labels for the content and checks against the values the parent has set by calling a function in the Internet Ratings API. If the content rating is higher than the child is allowed to view, the content is not displayed.
Ratings are specified by using an additional tag within the HTML header (<HEAD> rating information</HEAD>). The rating is in English text, as defined by the PICS specification. More details are provided in the full PICS documentation found on the PICS Web site.
This example shows the general format of rating information within an HTML page.
<html> <head> <meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org" labels on "1996.11.05T08:15-0500" until "1996.12.31T23:59-0000" for "http://www.southridgevideo.com/index.html" by "ICRA" rating (language 2 nudity 0 violence 1))'> </head>
The core of the rating label is the rating string, which provides a list of category/value pairs. For each category, the name and the associated value are listed.
PICS has defined two specifications—one for creating rating systems and one for creating rating labels. A rating system defines the criteria for how content is rated. Based on the PICS specification for rating systems, any group or individual could define a system for rating content. Using the PICS specification, you could take the MPAA rating system and define it as a PICS-compliant rating system.
The PICS specification is quite extensive, and it allows for a system to contain multiple categories. The MPAA system has only one category with five values: G, PG, PG-13, R, and NC-17. It has been criticized for being too simplistic and not offering granularity on multiple dimensions. PICS solves this problem by allowing the creator of the rating system to have great flexibility in how the system is defined.
PICS has not defined an actual rating system or an actual scheme for rating Internet content. PICS is a framework and a language that allows any group or organization to rate content based on their own criteria. PICS has not created a replacement for the movie rating system, nor does it intend to.
For more information about rating systems, see the PICS specification on the PICS Web site.
The PICS specification makes no provisions for storing information on rating systems locally. On the Windows platform, the text description for PICS rating systems is contained in a text file with an .rat extension. This file contains all the category and value information that PICS has defined as necessary. Microsoft may define fields for information about a given rating system, including its PICS rating server URL if it has one.
Internet Content Providers (ICPs) need to be aware that they must take the initiative in getting their content rated by a PICS-compliant rating system. For a rating system to be useful, the browser application must deny access to sites that are unrated. ICPs should contact the PICS committee for a listing of rating groups that are based on PICS.
Microsoft is committed to supporting the PICS standard and providing API and reference information for other products that want to support PICS. In addition, Microsoft is assisting several third-party groups to create PICS-based rating systems. In particular, the Internet Content Rating Association (ICRA) developed a rating system called ICRA, which evolved from the RSACi system. Their Web site, http://www.icra.org, provides a simple online mechanism for getting content rated through their system.
Developers of Web authoring tools need to be PICS-aware so that their tools support the ability to easily enter META tags into Web pages. Web authoring tools can help promote the PICS technology by providing templates or wizards for adding PICS ratings to documents.
Of significant importance is the ability to maintain ratings for groups or "virtual trees" of pages. Some PICS-compliant rating systems might offer ratings for groups of content. This will allow larger sites to section off adult content from general audience content. Web authoring and management tools need to provide the ability to propagate rating information across user-defined groups of pages.
Microsoft intends to provide support for the easy addition of PICS-compliant rating information into appropriate Internet content tools.
The MIcrosoft Internet Ratings API provides Microsoft Win32-based applications with easy access to PICS-based Internet ratings support and related services. These functions provide any application with access to a PICS rating parsing engine, as well as a mechanism for comparing ratings against the user information settings in Microsoft Internet Explorer 4.0 and later.
The functions in the Internet Ratings API set facilitate access to the ratings support in the following ways:
- Provide a common interface for parsing and obtaining PICS-compliant rating information. A browser or other application can support ratings with the addition of only a few function calls. By providing task-oriented functions, applications need only make a few function calls to support ratings.
- Eliminate the need for individual applications to define their own control systems. With this API, applications need only find the rating information for a given piece of content. Additional APIs for retrieving some types of Internet ratings are provided.
The PICS specification allows for rating information to appear in HTML tags, in HTTP headers, and on a third-party URL. For performance reasons, each individual browser is responsible for obtaining HTML- and HTTP-based rating information (for details on obtaining these mechanisms, consult the PICS specification).
The following table summarizes the PICS-supported API functions. All the functions for finding, pairing, and comparing rating information are listed.
|RatingAccessDeniedDialog,RatingAccessDeniedDialog2||Displays a system dialog box informing the user that access has been denied.|
|RatingCheckUserAccess||Takes in a PICS rating, parses it, and compares it against what a specified user can see.|
|RatingEnable||Enables and disables ratings.|
|RatingEnabledQuery||Specifies whether ratings are on or off.|
|RatingFreeDetails||Frees a pointer to denial information.|
|RatingObtainCancel||Cancels a call to RatingObtainQuery.|
|RatingObtainQuery||Obtains ratings from certain locations and compares them.|
|RatingSetupUI||Displays a modal dialog box that allows a supervising parent to set levels of restrictions.|
A browser or other application would typically use the rating functions in the following way:
- The user opens the browser and connects to the Internet.
- The user enters a URL.
- The browser calls the RatingEnabledQuery function. If the function returns S_FALSE, the browser allows access to the content.
- The browser calls the RatingObtainQuery function and passes the URL. The function checks the local list, and then the third-party list or any third-party add-on that is activated. If the function finds a rating for the URL, it calls RatingCheckUserAccess with the rating. If RatingObtainQuery does not return an error immediately, eventually the browser's callback function will be called.
- Meanwhile, the browser searches for a rating label within the content being downloaded from the site. If it finds an HTML/HTTP rating, it calls the RatingCheckUserAccess function.
- If no rating label is found within the document, the browser calls RatingCheckUserAccess with a NULL rating label, to determine whether the user can access unrated content.
- When both RatingCheckUserAccess and RatingObtainQuery have been called, the browser has received at least one explicit access-allowed or access-denied report. If RatingObtainQuery explicitly allowed or denied access, that result should override any rating found in the document and the user's ability to see unrated content.
- If access is denied, the browser calls the RatingAccessDeniedDialog function. Depending on the supervisor's response to the dialog box, this function can indicate that access should be allowed after all.
- If access is allowed, the browser displays the content.
The PICS specification defines the Backus-Naur Form (BNF) syntax for rating information, or rating nuggets. PICS specifies that rating nuggets can appear as part of HTML documents, within the header tags. The PICS specification also allows for rating information to appear as part of the HTTP headers.
For performance and logistical reasons, it is the responsibility of the browser to obtain HTML- and HTTP-level ratings. Details on how to find HTML-based ratings are part of the PICS specification. Details on HTTP ratings and the associated HTTP header are specified by PICS.
The PICS committee might eventually provide reference code for applications that want to find HTML/HTTP-based ratings.