W3C has announced the publication of Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0 as a final Recommendation. The CC/PP standard addresses "one of the biggest obstacles for access to the Web from different devices, viz., the ability to get content delivered to the device in a usable format. The W3C CC/PP Recommendation documents a standard way to allow devices to communicate their configuration details and capabilities to servers. CC/PP is an extensible framework that can be used for communicating the delivery context (screen size, audio capabilities, bandwidth, etc) from a device to a Web server, resulting in the delivery of Web content that is usable on a given device. It also is the first W3C Recommendation to use the Resource Description Framework (RDF), thus adding Semantic Web capabilities. As the number and variety of devices connected to the Internet grows, there is a corresponding increase in the need to deliver content that is tailored to the capabilities of different devices. As part of a framework for content adaptation and contextualization, the CC/PP specification provides a general purpose profile format that can describe the capabilities of a user agent and preferences of its user." The CC/PP vocabulary defined identifiers (URIs) that are used to refer to specific capabilities and preferences. The document "identifies the types of values to which CC/PP attributes may refer, describes how to introduce new vocabularies, supplies an example small client vocabulary covering print and display capabilities, and presents a survey of existing work from which new vocabularies may be derived."
Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0. W3C Recommendation 15-January-2004. Edited by Graham Klyne (Nine by Nine), Franklin Reynolds (Nokia Research Center), Chris Woodrow (Information Architects), Hidetaka Ohto (W3C, through March 2002 / Panasonic), Johan Hjelm (Ericsson), Mark H. Butler (Hewlett-Packard), and Luu Tran (Sun Microsystems). Version URL: http://www.w3.org/TR/2004/REC-CCPP-struct-vocab-20040115/. Latest version URL: http://www.w3.org/TR/CCPP-struct-vocab/. Previous version URL: http://www.w3.org/TR/2003/PR-CCPP-struct-vocab-20031015/
Composite Capabilities/Preference Profiles Summary
The W3C Recommendation "describes CC/PP (Composite Capabilities/Preference Profiles) structure and vocabularies. A CC/PP profile is a description of device capabilities and user preferences that can be used to guide the adaptation of content presented to that device. Here profile does not refer to a subset of a particular specification, for example the CSS Mobile profile, but refers to the document(s) exchanged between devices that describe the capabilities of a device.
CC/PP is based on RDF, the Resource Description Framework, which was designed by the W3C as a general purpose metadata description language. RDF provides the framework with the basic tools for both vocabulary extensibility, via XML namespaces, and interoperability. There is a specification that describes how to encode RDF using XML, and another that defines an RDF schema description language using RDF. RDF was designed to describe the metadata or machine understandable properties of the Web. RDF is a natural choice for the CC/PP framework since user agent profiles are metadata intended primarily for communication between user agents and resource data providers...
A CC/PP profile contains a number of CC/PP attribute names and associated values that are used by a server to determine the most appropriate form of a resource to deliver to a client. It is structured to allow a client to describe its capabilities by reference to a standard profile, accessible to an origin server or other sender of resource data, and a smaller set of features that are in addition to or different than the standard profile. A set of CC/PP attribute names, permissible values and associated meanings constitute a CC/PP vocabulary.
Some information contained in a profile may be sensitive, and adequate trust and security mechanisms must be deployed to protect users' privacy. As a part of a wider application, CC/PP cannot fully cover such issues, but is intended to be used in conjunction with appropriate mechanisms...
It is anticipated that different applications will use different vocabularies; indeed this is needed if application-specific properties are to be represented within the CC/PP framework. But for different applications to work together, some common vocabulary, or a method to convert between different vocabularies, is needed. XML namespaces can ensure that different applications' names do not clash, but does not provide a common basis for exchanging information between different applications. Any vocabulary that relates to the structure of a CC/PP profile must follow this specification. The appendices introduce a simple CC/PP attribute vocabulary that may be used to improve cross-application exchange of capability information, partly based on some earlier IETF work.
CC/PP is designed to be broadly compatible with the earlier UAProf specification from the WAP Forum [now OMA]. That is, we have attempted to accomodate existing UAProf profiles. CC/PP is compatible with IETF media feature sets (CONNEG, RFC2533) in the sense that all media feature tags and values can be expressed in CC/PP. However, not all CC/PP profiles can be expressed as media feature tags and values, and CC/PP does not attempt to express relationships between attributes.
CC/PP Structure and Vocabularies defines a client profile data format, and a framework for incorporating application- and operating environment-specific features. It does not define how the profile is transferred, nor does it specify what CC/PP attributes must be generated or recognized. CC/PP is designed for use as part of a wider application framework. As such, the specification of CC/PP elements that must be supported and those which may be omitted is a matter for a specific application... [adapted from the Introduction and Scope Statement]
From the Announcement
The World Wide Web Consortium (W3C) announces the release of the Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0 Recommendation. CC/PP 1.0 is a system for expressing device capabilities and user preferences, using the Resource Description Framework (RDF). Used to guide the adaptation of content, a CC/PP profile describes device capabilities and user preferences. A W3C Recommendation is the equivalent of a Web standard, indicating that this W3C-developed specification is stable, contributes to Web interoperability, and has been reviewed by the W3C Membership, who favor its adoption by the industry.
One of the W3C's primary goals is Universal Access. Users must be able to use their choice of devices to access Web content, in ways that are appropriate for their hardware capabilities, software, network infrastructure, native language, culture, geographical location, or physical abilities. CC/PP provides a standardized format of the description of information that will allow Web-enabled devices to effectively communicate their capabilities to the desired server.
In simple terms, it's been clear that there needed to be a standard way for a cellphone or a personal digital assistant with Web access to be able to say to a Web server, "I am a cellphone. My display size will not allow me to see a framed site. Please deliver the content in detailed lists instead." This is an example of what is known as a "delivery context," where the device characteristics, user preferences, and constraints put requirements on how content can be effectively displayed on the device for the user.
"CC/PP plays a vital role in supporting the ability of people to access the Web from an increasingly diverse range of devices," explained Rhys Lewis, Chair of the W3C Device Independence Working Group (DIWG) where CC/PP is being developed. "There is now a huge variation in capability between, on the one hand, the smallest, most portable, Web-enabled devices and, on the other, the typical personal computers and workstations that we've traditionally used. Between these extremes are many other types of devices that can access the Web, including interactive television systems, personal digital assistants, smart phones and domestic appliances."
CC/PP Resolves Web Content Negotiation Problems: Content negotiation has been part of the Web for a long time as part of the HTTP protocol. Its practical uses in content adaptation have often been limited because HTTP was designed for browser descriptions and not user, context and device descriptions. By allowing complex and complete descriptions of all aspects of the delivery context, CC/PP provides comprehensive information for the process of customizing Web content to user needs. CC/PP was designed at a time when mobile phones were emerging. The specification takes into account their specific features, particularly in bandwidth restriction. Thus, clients have the choice of providing their CC/PP information as a link (URI) to a description available on the Web, instead of providing the information itself.
CC/PP Leverages the Semantic Web: CC/PP uses RDF, one of the key specifications of the Semantic Web. It is the first W3C Recommendation that is also an RDF application. The use of RDF for CC/PP has many advantages, including:
- Extensible vocabularies: In previous efforts to develop global vocabularies it was very difficult to fix a set of terms that could be used to describe all possible devices in advance - there is always a device with capabilities that the language designer cannot foresee. CC/PP solves exactly this sort of problem through the use of the Semantic Web and RDF. With the CC/PP framework, any device manufacturer can define a vocabulary description that can be reused and extended easily.
- Non-centralized vocabularies: Another problem with traditional device description languages is the need for central registries for vocabularies -- a device manufacturer has to go through a registry to be able to use new device capabilities in device descriptions. This may include a lengthy registration and standardization process. With CC/PP and the Semantic Web, there is no need for a central registry. New device capabilities can be defined by anyone, and work seamlessly with existing capability definitions.
- Simple integration of information from different sources: When adapting Web content for a specific user, the information that is needed for the adaptation can come from different sources - the network, the device, the environment or the user's preferences. The server receives these different pieces of information separately, and needs to merge the information into one model before doing content adaptation. Based on the Semantic Web and RDF, CC/PP makes this data integration easy.
CC/PP Already Playing a Crucial Role in the Mobile Web: CC/PP has been designed in cooperation with other related standardization organizations. The User Agent Profile (UAProf) specification developed by the Open Mobile Alliance (and formerly by the WAP Forum) is a CC/PP vocabulary dedicated to mobile phone description. Today, mobile phones complying with the UAProf specification provide CC/PP descriptions of their capabilities to servers - literally millions of devices are already using CC/PP. JCP (the Java Community Process) has developed, in their JSR 188 expert group, a Java API for CC/PP which allows a Java Web server to access and use CC/PP information provided by a client device. With the release of this work in October 2003, one can safely forecast a significant increase in the number of content servers understanding and using CC/PP information.
Next Steps: Upon their completion of the CC/PP Structure and Vocabularies 1.0, the Device Independence Working Group plans to continue work on a revision of the 1.0 specification to include the final version of RDF datatyping currently under development by the W3C RDF Core Working Group. The Device Independence Working Group is also currently working on Protocol and Processing Rules. This document will standardize the way CC/PP information is transmitted to a server using different kinds of protocols such as HTTP and SOAP, how proxies can modify CC/PP information by adding their own characteristics, and other aspects of profile modification and processing.
Device Independence Working Group Includes Industry Leaders: The W3C Device Independence Working Group serves as the place where technology and industry leaders meet to study issues related to single authoring, adaptation and presentation of Web content. The Device Independence Working Group has included W3C Members and invited experts from Boeing; DaimlerChrysler Research; Ericsson; HP; IBM; INRIA; MobileAware Ltd.; Nokia; NTT DoCoMo; Panasonic; SAP AG; Sky Co., Ltd.; Sony Corporation; Sun Microsystems; and Volantis Systems Ltd.
Comment from Janet Daly (W3C)
"One of the biggest obstacles for access to the Web from different devices has been the ability to get content delivered to the device in a usable format. Today, W3C announces a standard way to allow devices to communicate their configuration details and capabilities to servers.
CC/PP is an extensible framework that can be used for communicating the delivery context (screen size, audio capabilities, bandwidth, etc) from a device to a Web server, resulting in the delivery of Web content that is usable on a given device. It also is the first W3C Recommendation to use the Resource Description Framework (RDF), thus adding Semantic Web capabilities..." [Janet Daly, W3C Head of Communications]
- Announcement: "World Wide Web Consortium Publishes CC/PP 1.0 as a W3C Recommendation. W3C's New Standard Profiling Language Aids in Delivering Web Content to Broad Range of Devices." Also available in French and Japanese. [W3C source, news archive]
- Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0. W3C Recommendation.
- Testimonials for W3C's CC/PP 1.0 Recommendation. From Boeing, HP, MobileAware, Matsushita Electric Industrial Co., Sun Microsystems, and Volantis.
- CC/PP 1.0 Errata
- W3C Device Independence Home Page. "Access to a Unified Web from Any Device in Any Context by Anyone." The DI Activity is part of the W3C Interaction Domain.
- W3C Device Independence Activity
- W3C Device Independence Working Group Charter
- CC/PP: Structure and Vocabularies Test Suite
- CC/PP: Structure and Vocabularies Implementation Report
- Historic web site for CC/PP
- See also: RDF resources
- Earlier news:
- "W3C Public Working Draft on Authoring Techniques for Device Independence." News story 2003-11-07.
- W3C Device Independence Working Group Publishes Specs for a Universally Accessible Web." News story 2003-09-02.