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.
Making a device independent web requires improved communication between user devices and web servers.
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 Provides a Foundation for Device Independence, Device Empowerment
This is precisely the purpose of CC/PP. CC/PP is an extensible framework that can be used for communicating the delivery context from a device to a Web server, resulting in the delivery of Web content that is usable on a given device.
"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."
"By providing a stable framework for devices and Web servers to optimize content delivery, CC/PP provides a foundation for a device independent Web, and actual device empowerment," explained Lewis. "As CC/PP uses RDF for the actual descriptions, we can foresee ease in sharing existing profiles, and more easily combining and creating new ones as new devices appear on the market."
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 Include Building Protocol and Processing Rules, and Updating to Include New RDF Datatyping
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.