By Kynn Bartlett
Bartlett's New Book
A terrific book on Cascading Style Sheets by one of the leading
experts in the field....
What is CC/PP?
CC/PP stands for Composite Capabilities/Preferences Profiles, and is
a way to specify what exactly a user agent (web browser) is capable of doing.
This allows for sophisticated content negotiation techniques between web servers
and clients, to produce optimized XML-based markup for display and use on a wide
variety of web user agents.
But What _Is_ It?
In technical terms, CC/PP is an RDF-based framework for describing and
managing software and hardware profiles that include information on the user
agent's capabilities (physical and programmatic); the user's specified
preferences within the user agent's set of options; and specific qualities about
the user agent that can affect content processing and display, such as physical
CC/PP is designed to work with a wide variety of web-enabled devices, from
PDAs to desktop machines to laptops to WAP phones to phone browsers to web
television units to specialized browsers for users with disabilities. Proxies
may also be used to provide markup transformation, transmission, or caching
services for CC/PP-enabled clients and servers.
The CC/PP framework provides a way to describe generic profiles accessible
via the web -- for example, from the hardware or software vendor -- reducing the
amount of information that must be directly sent from the user agent itself (or
a proxy), an important consideration for limited-bandwidth cellular modem
How Will It Be Used?
CC/PP is simply the language for describing what the user agent can
(currently) do. This information would then be conveyed to the originating
server as part of an HTTP (or other protocol) request, and it's up to the server
to decide how to use the user agent profile to best meet the needs of the user
agent client. The two primary ways in which a profile might be used are selection
Selection is the process by which the originating server
chooses an appropriate representation of requested web content from a finite set
of existing representations. For example, the site might have three versions of
a given page: a "rich XHTML with Java and ECMAscript" version for
visual browsers, a "textual XHTML" version for non-visual browsers and
older browsers, and a WML version for WAP phones. From the capabilities and
preferences described in the CC/PP profile, the server would select the best
match and send that back to the user agent.
Transformation, on the other hand, assumes that there is no
finite set of representations, but rather than content is created on the fly,
based on the properties expressed by the user agent profile. The content would
be stored in an XML-compatible format and then transformed into an appropriate
language (or modules thereof) that could be understood and optimized for the
user agent, such as XHTML or WML.
CC/PP-based content transformations require a strong understanding of what is
contained within a document and how best to transform the content for various
user agent capabilities and preferences; for this reason, the CC/PP Working
Group is watching the XHTML modularization process and the (X)HTML Working
Group's document profiles.
The CC/PP approach to preferences and capabilities is superior to the
presently used methods of simple browser detection because it provides a
framework that is not dependent upon recognizing a particular browser type and
inferring capabilities, but deals directly with the properties of the user agent
and the current settings employed.
About the W3C's CC/PP Working Group
The CC/PP Working Group was chartered in summer of 1999 and is an outgrowth
of the W3C's Mobile Access Interest Group. The first face to face meeting was
held in Stockholm, Sweden, on the 23rd and 24th of September, and was hosted by
Ericsson. Johan Hjelm of the W3C (and Ericsson) is the chair of the Working
Companies and organizations currently participating in the CC/PP working
- Fujitsu Laboratories
- HTML Writers Guild
- Matsushita Electric Industrial Co.
- Nortel Networks
- SAP AG
- SBC Technology Resources
For More Information
To learn more about CC/PP, you can visit the CC/PP homepage at:
Further details on the HWG's involvement in the W3C can be found on the
Guild's website at:
Copyright © 1999 Kynn