W3C

Device Description Landscape 1.0

W3C Working Group Note 31 October 2007

This version:
http://www.w3.org/TR/2007/NOTE-dd-landscape-20071031/
Latest version:
http://www.w3.org/TR/dd-landscape/
Previous version:
http://www.w3.org/TR/2006/WD-dd-landscape-20060210/
Editors:
Eman Nkeze (editor of this draft), The Boeing Company
James Pearce (editor of first draft), Argogroup (at the time of participation)
Matt Womer (editor of first draft), France Telecom (at the time of participation)

Abstract

Developing Web content for mobile devices is more challenging than developing for the desktop Web. Compared to desktop Web clients, mobile Web devices come in a much wider range of shapes, sizes and capabilities. The mobile Web developer relies upon accurate device descriptions in order to dynamically adapt content to suit the client.

This Note describes what efforts the W3C and other organizations are doing in order to provide accurate device descriptions. This Note should be read in conjunction with the DDWG Ecosystem [DDWG-Ecosystem] document.

This Note, together with the Ecosystem document, provides input to the proposed DDWG Requirements document as described in the DDWG Charter [DDWG-Charter]

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document is a Public Working Draft of a future Working Group Note. It has been produced as part of the W3C Mobile Web Initiative Device Description Working Group, following the procedures set out for the W3C Process. This Working Group is part of the Mobile Web Initiative. The authors of this document are members of the W3C Mobile Web Initiative, Device Description Working Group. Feedback can be directed to the DDWG Public Mailing List, which is also archived.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents

1 Introduction
    1.1 Objective & Scope
    1.2 Audience
    1.3 Related groups and organizations
    1.4 Definitions
        1.4.1 Browser
        1.4.2 Content adaptation
        1.4.3 Device
        1.4.4 Device Description
        1.4.5 Mobile device
2 Motivations
    2.1 The need for Device Descriptions
    2.2 Device Descriptions for content adaptation
        2.2.1 Origin-server adaptation
        2.2.2 Delivery infrastructure
        2.2.3 Client-side adaptation
        2.2.4 Design-time
    2.3 The users and providers of Device Descriptions
        2.3.1 Content Authors
        2.3.2 Web Developers
        2.3.3 Aggregators
        2.3.4 Syndicators
        2.3.5 Network Operators & Carriers
        2.3.6 Infrastructure Vendors
        2.3.7 Browser Manufacturers
        2.3.8 Device Manufacturers
        2.3.9 Device Description Providers
        2.3.10 Relevant Standards Organizations
        2.3.11 Device Quality Assurance
        2.3.12 Content Quality Assurance
3 Review of current technologies
    3.1 Methodology
    3.2 Questionnaire
    3.3 Feature matrix
        3.3.1 Data model
        3.3.2 Simplicity
        3.3.3 Essential device attributes
            3.3.3.1 Screen dimensions
            3.3.3.2 Supported & preferred markup
            3.3.3.3 Supported & preferred image formats
            3.3.3.4 Size limitations
            3.3.3.5 Color support
            3.3.3.6 Other browser features
            3.3.3.7 Non-markup object support
        3.3.4 Extensibility
        3.3.5 Query Mechanism
4 Recommendations
    4.1 Data structures
    4.2 Data integrity and capture
    4.3 Query and access
5 Conclusion

Appendices

A References
B Acknowledgments


1 Introduction

Web access from mobile devices suffers from problems that make the Web unattractive for most mobile users. W3C's Mobile Web Initiative (MWI) proposes to address these issues through a concerted effort of key players in the mobile value chain, including authoring tool vendors, content providers, handset manufacturers, browser vendors and mobile operators.

The objective of the W3C Mobile Web Initiative is to enable access to the Web from mobile devices. It is recognized that this will generally require adaptation of web content and therefore an understanding of the different characteristics, features, behaviors and limitations of mobile handsets.

Within the MWI, the mission of the Device Description Working Group (DDWG) is to foster the provision of, and access to, these consistent and reliable, Device Descriptions that can be used to help develop and deliver high-quality mobile web applications to the world's mobile devices.

1.1 Objective & Scope

This "Landscape document" is designed to describe the current state of the various options that exist for providing Device Descriptions to enable device-aware applications.

It articulates what the W3C and other organizations are doing, or have already done, in this space, and identifies various ways in which those Device Descriptions are being used.

Note that this group recognizes that there are many other use cases for Device Descriptions, and other areas within the mobile industry where they can be applied.

This document does not seek to strongly define how such Device Descriptions should be provided in the future. It lays out descriptions of the technologies and standards that are available today.

1.2 Audience

This document is to be read by a generally technical audience. In particular, we expect that readers are familiar both with Web and existing mobile technologies. Since the document relates to the use of mobile Device Descriptions for content adaptation, an appreciation of the diversity present in mobile handsets - and the techniques used for adapting content to them - is assumed. More information on this diversity can be found in the archives of the Device Independence Working Group [DIWG] and in the ongoing work of the Ubiquitous Web Applications Working Group [UWA].

1.3 Related groups and organizations

The DDWG coordinates their work with the related efforts within the W3C, including:

  • Web Accessibility Initiative ([WAI])

  • Ubiquitous Web Applications Working Group ([UWA])

  • MWI Best Practices Working Group ([MWBP])

The DDWG is establishing working relationships - based on formal liaisons, if and where appropriate - with certain organizations outside of the W3C, whose activities might impact the Mobile Web Initiative and/or be influenced by it, including:

  • GSM Association ([GSMA])

  • Open Mobile Terminal Platform ([OMTP])

  • Open Mobile Alliance ([OMA])

  • Wireless Universal Resource File ([WURFL])

Many of the above groups (or their members) either provide, specify, or have a need to consume mobile-focused Device Descriptions.

1.4 Definitions

Readers should also refer to the Device Independence Glossary, [DIG], which is also relevant to this document.

1.4.1 Browser

A user agent that allows a user to perceive and interact with information on the Web.

See "Browser" in [DIG]

1.4.2 Content adaptation

A process of selection, generation or modification that produces content in response to a requested URI in a given delivery context. This context includes the capabilities of the device, as well as a set of attributes that characterizes the capabilities of the access mechanism, and the preferences of the user.

Content adaptation is used in order to ensure that the application will render and operate as optimally as possible on a range of difference device clients.

Definition: a process of selection, generation or modification that produces one or more perceivable units in response to a requested uniform resource identifier in a given delivery context. See "Adaptation" in [DIG].

1.4.3 Device

An apparatus through which a user can perceive and interact with the Web.

See "Device" in [DIG].

1.4.4 Device Description

A data structure that describes the characteristics and behaviors of a device. Conceptually, a Device Description provides both knowledge to be able to identify a device from its requests for content, and data about the devices attributes so that content adaptation can be effectively performed.

1.4.5 Mobile device

A mobile device is taken to be a device that is portable, that can access the Web and that is intended for use while in motion. To be clear, this is a subset of the category of 'wireless devices' which also includes devices used while stationary, but without physical connections, such as Wifi-enabled laptops.

For most purposes, the 'mobile device' term is used to imply web-enabled cellular terminals or phones, and personal digital assistants.

2 Motivations

2.1 The need for Device Descriptions

Development of applications, content, and web-based services for mobile devices is more challenging than development for desktop devices. This is because they come in a much wider range of shapes, sizes and capabilities, and because they have a much wider range of browser implementations. All of these factors can affect the way in which the application behaves, quite possibly as an impact to what the developer intended.

In order to cope with this complex user-agent audience, content authors and run-time systems need to dynamically adapt their applications to behave in different ways for different devices. Clearly, the success of this dynamic behavior depends greatly on the quality of knowledge that such individuals or systems have about those devices.

2.2 Device Descriptions for content adaptation

Although there are a number of clear benefits for the use of Device Descriptions in other use cases, and in other parts of the mobile industry, this Landscape Document primarily focuses on their use for content adaptation.

Content adaptation can be provided in a number of ways. The following four sections detail the common options and techniques, and how Device Descriptions are valuable in enabling these techniques.

2.2.1 Origin-server adaptation

If a web server or an application server is able to identify a mobile device sufficiently, it can draw on Device Description information to make decisions about how the content should be generated.

Content adaptation at the primary origin server is a very common technique, simply because it is at this end of the delivery chain that the degree of control over the content is at its greatest.

The need for Device Descriptions in the technique is significant. There must be an ability to be able to recognize the class of device from its request, and sufficient knowledge about that device's attributes to be able to perform appropriate, and valuable adaptation.

In the content server environment, it is often the case that a large, and unconstrained portfolio of devices will be accessing the content, with requests being relayed from a wide range of mobile networks.

This puts a particular demand on the ability of the server to recognize (and have Device Descriptions for) hundreds, if not thousands, of accessing device types. Alternatively there should be an ability for the recognition process to generalize and 'fallback' to the most similar device class for which it does have such Device Descriptions.

With correct and appropriate Device Description information, an origin server can potentially make radical decisions about the content, whilst easily retaining the application's integrity. For example, a server could choose to make whole sections of a site or application inaccessible if a Device Description asserted that those sections were beyond the capabilities of a client.

More refined decisions might include changes to the markup or binary structures of the content dispatched. For example, an origin server could easily switch between WML, CHTML or XHTML according to browser's known behavior. Different object formats can also be easily adapted at the origin server. For example, a server may decide to use images of different resolution or color-depth in a page if the handset's screen limitations are known.

Additionally, a significant amount of 'fine-tuning' of content can also be performed by a content server with a relatively low overhead. Cosmetic formatting, form layout, and other subtle markup attributes can easily be changed according to Device Description information.

One disadvantage of origin-server adaptation, on the other hand, is the complexity of setting up such dynamic behavior on the server. This approach is clearly not appropriate for static web content.

2.2.2 Delivery infrastructure

Content adaptation is also possible at points along the delivery chain between the origin server and the client. Many entities may be involved in delivering content across a mobile network in particular, and some of those, notably those in the IP-context, can perform on-the-fly adaptation of both the requests for the documents from, and the documents being returned to, the client through. These entities include WAP gateways, web proxies and dedicated transcoding platforms.

This 'smart proxy' approach to adaptation can be powerful, and can theoretically perform adaptation in as rich a way as can occur at the origin server. However, this comes at a performance cost, since the content may have to undergo a decompilation (or parse) and recompilation (or serialization) in order to be examined and adapted.

More importantly, there is an additional challenge to ensure that the context of the content is understood, so that the adaptation is relevant, and any changes made still reflect the origin server's intent. This may require a statefulness within the proxy which can be architecturally challenging. (For example, if a proxy provides large-page fragmentation for a device with memory constraints, any load-balancing techniques would need to ensure that successive requests for page fragments are serviced by a proxy that is aware of the device's previous page state).

The author's desire to be able to employ contextual information (e.g. descriptions of devices) is being addressed by new technical proposals such as DISelect [DISelect]

However, a real advantage of in-delivery adaptation is the fact that it allows the improvement, or device-awareness, of content that was statically hosted on its origin server, and which was not provided in a device-aware context.

The need for Device Descriptions for adapting content in the delivery chain is similar to the need within the origin server. A wide range of attributes about a device can be used effectively by the proxy, and, similarly to the content server, suitable adaptation relies heavily on the ability to recognize the device type.

In this regard, adaptation in the delivery infrastructure may benefit from the fact that a smaller range of device types are being serviced. A transcoding platform in a mobile operator's network will be able to assume, for most requests, that the device is one supported and provisioned on that network.

2.2.3 Client-side adaptation

Some device clients are capable of adaptive rendering. This technique involves the browser using information about its host device to decide how to best layout and display the content.

Whilst this is an approach that has real benefits for enabling the mobile web as a whole, a given browser installation, by definition, does not need to rely on multiple Device Descriptions. The browser only requires knowledge about the host device in order to perform client-side adaptation, although this can be either determined by the browser at run time or have been provisioned at design time by the browser manufacturer.

The scope of Device Description information required in this technique is likely to be a subset of that needed by server- or infrastructure-side adaptation. Naturally, the need to identify the device is reduced since it is the browser's host.

It should also be clear that the ability to perform structural adaptation of the content and application is reduced. The client can only adapt and render the content that has reached the device. It cannot augment that content, nor be aware of content that has not been yet retrieved, such as documents that the current page links to.

As a result, many Device Description attributes may be impotent in the client-side adaptation context. For example, although a content server is able to remove or rewrite links to unsupported document or object types, a client is unlikely to be even aware of the target document's or object's type. Device Description knowledge about which types are or are not supported is therefore less actionable.

2.2.4 Design-time

If Device Descriptions are provided in a sufficiently human- readable form, there is no reason why they could not be used for creating device-specific content in a design-time context.

For example, if a content developer is made aware of the differences between handsets when developing an application, it may be possible to integrate that knowledge directly into the content itself, and allow that human being to make sensible decisions about the nature of the adaptation required.

At the most basic level, this could involve creating two or more sets of parallel content for each group or genre of device. A single dynamic 'doorstep' page can redirect the handset to the correct content when the device first accesses the content. (Note that DDWG does not necessarily recommend this technique, since it has many disadvantages).

A slightly more scalable approach is to use Device Description information to create stylesheets of some kind (for example XSL) for each class of handset at design-time. This allows a better separation of content and its adaptation.

Regardless of the approach, the need for Device Description data is still significant at design-time. While it is less essential to articulate recognition knowledge to the designer, most other Device Description attributes can be utilized at this stage, particularly 'macro-attributes' which relate to devices' significant characteristics, features and document type support.

2.3 The users and providers of Device Descriptions

A broad range of organizations and individuals have a stakeholding in successful mobile web content delivery, and participate in the consumption and provision of Device Descriptions. This section details some of these parties and contributions, and should be read in conjunction with the Ecosystem Document sections on their roles.

2.3.1 Content Authors

Content authors are responsible for the primary authorship, development, or editorship of mobile content and applications. Authors are concerned that the content they create is properly represented to the user, regardless of device.

Even at the earliest stages of content origination, Device Description knowledge can be valuable. A journalist, for example, may even make editorial changes to mobile-destined content (such as front loading a news article) if aware of devices' limited screen or page sizes.

2.3.2 Web Developers

Web developers are responsible for integrating content into a web site or application so that it can be navigated and accessed. Their desire is to ensure structural integrity, navigational ease, and cosmetic consistency within a site, regardless of accessing device.

They use Device Description information both at design- and run-time to determine the amount, type and variations of content to provide.

For example, a developer can influence which links, navigational structures, and documents are provided on a device-by-device basis.

As a more superficial example, it is common for logos and icon be available in a number of different formats and sizes at design-time. Device Descriptions can be used to choose which images to use at run-time.

2.3.3 Aggregators

Aggregators gather content and applications from multiple developers or authors and present them to the user in a consistent and structured way. Many mobile operator portals for example, provide directory services linking to hosted, and external, content from a variety of sources.

Aggregators require Device Descriptions in the same way that web developers do, since the aggregator will typically be providing a site structure in which to place the aggregated links and content, and which should be successful regardless of the accessing device.

In particular, some aggregators choose to group together the content according to accessing device type. It is possible to find directories of content designed for one manufacturer's devices, or even for particular extraordinary devices. In these cases, Device Description knowledge may be required even when the choice of aggregated source is made.

2.3.4 Syndicators

Like aggregators, syndicators gather content from a variety of sources. However, that content is not necessarily ready for device consumption, having perhaps been syndicated in some machine-readable format.

Therefore Device Descriptions are required by the syndicator to be able to transform the machine-readable content into final device-ready markup.

2.3.5 Network Operators & Carriers

Operators provide the base IP infrastructure and cellular backbone for delivering content and applications to mobile devices. As the key provider of the mobility and telephony services for the mobile user, the operator has a great desire to ensure the quality of the overall user experience.

Operators commonly provide portals and content services of their own (which often both syndicate and rival products from the content providers described above), as well as much of the delivery infrastructure. Additionally, they often run third party developer and partner provider programs to encourage the authorship of mobile content for their users.

They are therefore important consumers of Device Descriptions for both origin server and proxy-based content adaptation.

In addition, most network operators have a high degree of control over which mobile device types (and subrevisions) are recommended for use on their networks, and generally type-approve and certify handsets beforehand. Many operators use this process as a way of obtaining their own Device Descriptions for use in various forms of content adaptation.

2.3.6 Infrastructure Vendors

A number of software vendors provide platforms designed to ease the process of adapting content for a variety of devices. These platforms often reside in the application-server (as an adaptation plug-in or transcoding layer), or in the delivery infrastructure (as a 'smart' proxy).

In both cases, a rich understanding of client capabilities is required, and many of these vendors provide Device Descriptions as part of their products.

2.3.7 Browser Manufacturers

A mobile handset device typically comprises a large number of software components, many of which are provided to the device manufacturers by third-party OEMs. These components might include operating systems, messaging clients, and, most importantly for this document, mobile web browsers. Some device manufacturers also develop their own client software.

These parties are important providers of Device Descriptions more than they are consumers, except in the case of client-side adaptation, where the browser itself will behave based on information about the host device.

2.3.8 Device Manufacturers

Manufacturers and vendors of handsets are typically well- known consumer brands, although some network operators offer branded handsets, which are often significantly different (at both a hardware and software level) from the base, non-customized model they derive from.

The device manufacturers are clearly responsible for the physical attributes and behaviors of the device, and are generally also responsible for the choice of browser that will run on the device.

They are therefore important providers of Device Descriptions.

2.3.9 Device Description Providers

Such is the importance of Device Descriptions to enable mobile data applications, that many commercial and open-source providers exist. These providers are not necessarily the manufacturers of the devices they describe.

These are primarily designed to offer Device Description data to content providers, web developers, and in some cases, infrastructure providers.

Notable examples in the open-source realm include WURFL (which provides standalone Device Descriptions, but also delivers a set of programmatic APIs for server-side content adaptation), and DELI, which assists in the usage of UAProf Device Descriptions.

2.3.10 Relevant Standards Organizations

The industry has already recognized that the need for Device Descriptions is an important one. Notably, W3C's CC/PP [CCPP] and OMA's UAProf [UAProf] standards are particularly relevant to this landscape.

2.3.11 Device Quality Assurance

As we have mentioned, network operators have an imperative to approve the quality of the devices that are launched onto their network.

In this realm, there are vendors of test and measurement equipment who assist in the generation of Device Descriptions from this process.

2.3.12 Content Quality Assurance

Both operators and content providers perform testing and quality assurance on the services they provide to end consumers, and a wide range of techniques and tools exist to do this.

In particular, some of these tools use Device Descriptions directly in order to simulate accessing devices, and to identify if the content response is compatible with those devices.

3 Review of current technologies

3.1 Methodology

In order to reflect the state of Device Description and content adaptation technologies the MWI issued a public questionnaire [DD-Survey]. The results of this questionnaire combined with the feedback from the MWI membership and the public DDWG mailing list have been used as the basis for this section.

All identifying information from the questionnaire has been removed prior to being included here.

3.2 Questionnaire

The questionnaire was published in August of 2005, and received 17 responses. It contains 13 questions specifically about the collection, storage, and usage of Device Descriptions.

The questionnaire was designed to establish how Device Descriptions are being created and consumed, and to identify the scope of the way in which they are being used.

Amongst the respondents were browser developers, content adaptation solution providers, and other standards bodies. 12 of the 17 responses were from content adaptation providers, and thus this section is biased towards content adaptors.

3.3 Feature matrix

In this section, we review the findings of the questionnaire.

The results of the survey indicate that the majority of content adaptation and Device Description solutions:

  • are relevant to a wide variety of markup languages, the most common being HTML and WML variations

  • provide or consume extensible Device Description vocabularies

  • provide or consume Device Descriptions either programmatically or through database queries

  • use the OMA UAProf standard in some fashion; for example to seed the description database

  • provide a vocabulary for device attributes

  • utilize XML for storage or transmission of Device Descriptions in some capacity

  • are relevant to mobile devices with text and graphic screens, with touch screen, keyboard, and joystick inputs

All responders expressing an opinion believe that device descriptions should be publicly available in some form, representing an appreciation of the importance of their role in assisting the success of the mobile web.

3.3.1 Data model

The data models used for Device Descriptions, according to respondents, vary from simple flat XML files with no inheritance to full relational databases.

A number of the data models used include a way to inherit from another Device Description. For example, if a new device is introduced that is similar to an existing device, a Device Description may only include the information that is different between the two, and rely on a logical reference to the description of the existing device to complete the description. UAProfile and CC/PP both provide a defaults mechanism that could be viewed as a limited form of inheritance.

Other data models described are more complex and include concepts similar to multiple inheritance, where a Device Description may extend other descriptions, or abstract classes of generic device.

Similar to inheritance is the technique of 'fallback', which is particularly relevant during the device recognition process prior to content adaptation. Fallback allows the matching of an unknown device with a 'best fit' device description. This allows for new devices that do not have a description available to still be used. For example, if an unknown device's manufacturer can at least be determined from say, the user-agent, it may be possible to utilize Device Description attributes which are known to be common to all of that manufacturer's devices.

Respondent's opinions vary on the techniques of fallback and inheritance. The more complex data models that makes use of inheritance and fallback result in a smaller Device Description repositories, as redundant descriptions are 'factored out'. On the other hand, a simpler data model without inheritance can help avoid quality control issues that can occur in a complex data model. For example, when inheritance is used, a change in a base device description may adversely effect multiple Device Descriptions, perhaps unintentionally.

3.3.2 Simplicity

The questionnaire included a question about the number of properties required for acceptable adaptation. From the responses, it is believed that acceptable adaptation can be achieved through a relatively small number of device properties, although radically different attributes are valuable in particular content adaptation contexts, or for particular applications.

(As a simple example, the attributes needed by a mobile photo download site would mostly refer to the devices' abilities to support graphics formats, whereas a text-based news site might rather benefit from attributes concerning page size and navigation behavior.)

In any case, certain properties are absolutely required, and are critical for the author or adaptor, while a larger number of properties are required to perform more accurate adaptation. The presence of hundreds to thousands of properties in some of the surveyed solutions indicates that further properties are needed for complex tasks, or where a range of different applications or contexts are being serviced.

3.3.3 Essential device attributes

As a result of this questionnaire, the DDWG conducted a follow-up member poll, to develop a list of 'core attributes', that are deemed essential for content adaptation. While some of these items represent relatively broad functionality of mobile devices, and aren't yet necessarily defined unambiguously, this list does serve to illustrate the areas of diversity in mobile devices that cause challenges when developing for the mobile web.

The following sections describe these attributes and property groups in more detail.

3.3.3.1 Screen dimensions

As it is generally the primary output paradigm for a mobile devices, knowledge about the characteristics of the screen were deemed to be essential for content adaptation. Screen size is important since it constrains the amount of web content that can be displayed at one time.

It is also important because devices exhibit a range of ways in which content that exceeds the screen size is rendered and navigated, including image rescaling, cropping, text wrapping, truncation and auto-scrolling. An understanding of the screen size itself reduces the need to understand the subtleties of these complex behaviors in a given device.

At the same time, it should be appreciated that there are many ways of defining screen dimensions. Which units of measure are required (pixels, centimeters, etc) and which object measure is required for (physical screen(s), browser canvas, scrollable view-port, etc) will vary depending on many contextual factors.

3.3.3.2 Supported & preferred markup

Since a major branching point in many content adaptation processes is the choice of which markup to provide to a device, a rich understanding of what content it supports and prefers is essential for those processes.

Many mobile devices are capable of displaying only one type of markup. However, others support multiple web (and legacy) markups, often interchangeably. In addition, many devices are lax at parsing markup and can often perform surprisingly well at rendering types for which they do not claim support.

All of these factors drive the need for attributes to capture this behavior. Required knowledge certainly includes which markup is most preferred, but also which are claimed to be supported - and how they correlates to the 'accepted' MIME-types in the device's requests.

3.3.3.3 Supported & preferred image formats

In a similar way to markup, devices support and prefer a range of different image formats. and knowledge about this behavior is essential for content adaptation of any rich content.

Describing image support is also a relatively complex task, since most major image formats have optional features or variants that a device may or may not separately support. Image support also needs to be correlated with the 'accepted' MIME-types in the device's request. However, at the very least, knowing which major formats are supported is essential.

3.3.3.4 Size limitations

As most mobile devices are of limited dimension and form-factor, the memory constraints of the device's software are often significant when delivering mobile web content to them.

In particular, the maximum page markup size, image size, and overall page weight are device attributes that are of value to a content adaptation process.

Detailed knowledge about these behaviors may become less necessary in the future as device memory sizes inexorably rise.

3.3.3.5 Color support

Whether a device supports color content, to what color-depth, and how it behaves when the content's color-depth is higher (dithering or grey-scaling, for example) is value knowledge for a content adaptation system.

However, many modern mobile devices now support color well, and over time, it is likely that these attributes decrease in value.

3.3.3.6 Other browser features

There are many mobile web markup features, rendering behaviors, and auxiliary techniques that certain devices support well, whilst others do not. It is clear that some degree of knowledge for these subtleties of browser behavior is required in a Device Description.

Examples provided include table support (including maximum column and row sizes, support for merged cells, and so on), multi-part-MIME support (for amalgamated page delivery), and Digital Rights Management adherence.

Reference was also made by respondents to general browser faults or bugs. It is valuable for a content adaptation system to be aware of unsatisfactory behavior of device browsers under certain conditions, so that those conditions can be avoided.

3.3.3.7 Non-markup object support

Finally, in responses to this poll, many attached value to understanding device support for non-markup objects that are either embedded in a page or linked to from a page.

These types include video (both embedded and streamed), J2ME (or other applications) ringtones, and other audio types.

While some of these can be deemed to be beyond the scope of the mobile web per se, it should be appreciated that these types of content are popular amongst mobile device users. It is for the download of video clips, ringtones, and games to their devices that many users will interact with mobile web technologies at all.

3.3.4 Extensibility

All of the content adaptation technologies surveyed provide a mechanism for extending the Device Description. There is a wide appreciation that the areas of diversity between mobile devices is a moving target and that any technology that describes devices needs to be adaptable and extensible. Similarly, it is essential that a Device Description repository itself be extensible in order to accommodate new devices, device attributes, and use cases.

When discussing a publicly available shared Device Description repository, extensibility is even more relevant, as a public repository may be used in any number of ways, and should be as accommodating as possible.

3.3.5 Query Mechanism

All of the content adaptation technologies surveyed allow for querying the Device Descriptions, either through a programmatic interface or via database queries.

There are a number of ways in which queries are used. Obviously, it is essential that the Device Descriptions be available at adaptation time. It is also important that authors be able to query descriptions at design-time in order to determine which properties may be available and what general trends of device support exist. The Device Description repository may also be queried for statistical or analytical usage, such as determining the number of devices that support a particular markup language.

4 Recommendations

In the review of Device Description technologies, we have identified a number of common trends, and 'best practices' in the storage and usage of Device Descriptions. This section is designed to articulate some of the high level recommendations that should be considered when creating Device Description repository requirements. The following recommendations will be used as a basis for the DDWG Repository Requirements document.

4.1 Data structures

A successful Device Description technology will have many of the following characteristics with respect to its data structure:

  • Capacity - the ability to store descriptions for at least thousands of devices and hundreds of attributes

  • Extensibility - the ability to add new attributes to the Device Description, including attributes related to non-Web features

  • Programmability - the ability to have data inserted, extracted, and queried through one or many interfaces

  • Fallback on recognition - the ability to provide, or reference, alternative Device Descriptions when an exact match is not available

  • Strong Data Typing - the ability to constrain the Device Description data to particular data types with unambiguous units

4.2 Data integrity and capture

A successful Device Description technology will generally have the following characteristics with respect to the integrity and recording of device description information into its repository:

  • Strong Data Typing - the ability to constrain the input data to particular data types and unambiguous units

  • Accuracy - a process or methodology that ensures the recording of reproducible device description data

  • Precision - the ability to capture and record data precise enough to be useful for content adaptation

  • Auditability - the ability to record the origin of, and subsequent changes to, device description data

4.3 Query and access

A successful Device Description technology will generally have the following characteristics with respect to the ability to query or access data from its repository:

  • Strong Data Typing - the ability to constrain the input data to particular data types and unambiguous units

  • Readability - data formatting (or reporting) that allows human-readership of device description data. (not mandatory)

  • Header keying - the ability to provide a Device Description in response to a query comprising the device user agent or other other information included in the request from the client

  • Inheritance on query - the ability to logically associate a device with a similar device's description, or to be able to cascade attributes from parent device classes

  • Auditability - the ability to trace and track the origin of, and subsequent changes to, device description data

5 Conclusion

The evidence gathered and summarized in this document demonstrates that there is a strong, yet inconsistent, role for device descriptions in a number of usage domains. There is no single agreed representation of device properties, or common means of conveying such data to services that can make best use of them. A number of competing and proprietary solutions exist. A single technology that could encompass all of the identified solutions, to provide a common representation and programmatic interface for device descriptions would be beneficial to the many constituents of the device description landscape. Interoperability will create new opportunities to extend the Web to diverse clients, particularly in the growing mobile market. The DDWG is encouraged to pursue this goal.

A References

CCPP
"Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0", Graham Klyne, Franklin Reynolds, Chris Woodrow, Hidetaka Ohto, Johan Hjelm, Mark H. Butler, Luu Tran, Editors, revised 15 January 2004. (See http://www.w3.org/TR/2004/REC-CCPP-struct-vocab-20040115/.)
DD-Survey
"Device Description Technologies Survey", conducted by DDWG (See http://www.w3.org/2005/MWI/DDWG/questionnaire.html.)
DDWG-Ecosystem
"Device Description Ecosystem", Rotan Hanrahan, Editor, revised 21 November 2005. (See http://www.w3.org/TR/dd-ecosystem/.)
DDWG-Charter
"W3C MWI Device Description Working Group Charter", Rotan Hanrahan, Stephane Boyera, revised 20 June 2005. (See http://www.w3.org/2005/01/DDWGCharter/.)
DIG
"Glossary of Terms for Device Independence", Rhys Lewis, Editor. (See http://www.w3.org/TR/di-gloss/.)
DISelect
"Content Selection for Device Independence (DISelect) 1.0", Rhys Lewis, Roland Merrick, Editors, revised 02 May 2005. (See http://www.w3.org/TR/cselection/.)
DIWG
"Device Independence Working Group" (See http://www.w3.org/2001/di/ .)
GSMA
"GSM Association". (See http://www.gsmworld.com.)
MWBP
"W3C MWI Mobile Web Best Practices Working Group" (See http://www.w3.org/2005/MWI/BPWG/ .)
OMA
"Open Mobile Alliance". (See http://www.openmobilealliance.org.)
OMTP
"Open Mobile Terminal Platform". (See http://www.omtp.org/.)
UAProf
"Wireless Application Group User Agent Profile Specification", Wireless Application Group, revised 10 November 1999. (See http://www.wapforum.org/what/technical/SPEC-UAProf-19991110.pdf.)
UWA
"W3C Ubiquitous Web Applications Working Group" (See http://www.w3.org/2007/uwa/.)
WAI
"W3C Web Accessibility Initiative". (See http://www.w3.org/WAI/.)
WURFL
"Wireless Universal Resource File", Luca Passani and Andrea Trasatti, Creators. (See http://wurfl.sourceforge.net.)

B Acknowledgments

In addition to acknowledging the contributors to the previous draft, the editor also acknowledges the support of the active DDWG members during the group's second charter.