W3C

Device Description Repository Core Vocabulary

W3C Working Group Note 14 April 2008

This version:
http://www.w3.org/TR/2008/NOTE-ddr-core-vocabulary-20080414/
Latest version:
http://www.w3.org/TR/ddr-core-vocabulary/
Previous version:
http://www.w3.org/TR/2007/WD-ddr-core-vocabulary-20071218/
Editors:
Jo Rabin, mTLD Top Level Domain (dotMobi)
Andrea Trasatti, mTLD Top Level Domain (dotMobi)
Rotan Hanrahan, MobileAware

Abstract

This document describes the Device Description Repository Core Vocabulary for Content Adaptation in the Mobile Web, described in the charter of the Device Descriptions Working Group, as well as the process by which the Vocabulary was defined.

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 Working Group Note. It has been developed by the Mobile Web Initiative Device Description Working Group, as part of the W3C Mobile Web Initiative. Please send comments on this document to the Working Group's public email list [email protected], a publicly archived mailing list .

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
2 Process
    2.1 Questionnaire
    2.2 Assessment
3 Vocabulary, Property and Aspect
    3.1 Aspects of the Core Vocabulary
    3.2 Property Names and Property Value Types
4 Properties
    4.1 Vendor
    4.2 Model
    4.3 Version
    4.4 Display Width
    4.5 Display Height
    4.6 Display Color Depth
    4.7 Input Devices
    4.8 Markup Support
    4.9 Stylesheet Support
    4.10 Image Format Support
    4.11 Input Mode Support
    4.12 Cookie Support
    4.13 Script Support

Appendices

A References
B Acknowledgments


1 Introduction

This document identifies properties that are considered essential for adaptation of content in the Mobile Web. Its intended use is to define a baseline Vocabulary for Device Description Repository (DDR) implementations.

The Vocabulary defined in this document is not intended to represent an exhaustive set of properties for content adaptation. DDR Implementations that require additional properties are free to make use of additional vocabularies. The process of creating a new Vocabulary can be modeled on the process described in this document. Implementors are encouraged to make use of the UWA ontology [UWA-Ontology] to suggest extensions to it.

Implementers of DDR solutions that are intended to support content adaptation for Mobile Web-enabled devices should, at a minimum, support the DDR Core Vocabulary as defined in this document.

This document is maintained by the MWI DDWG and arrangements will be made to assign a maintainer after the closure of the DDWG.

2 Process

The DDWG established a lightweight process for accepting and evaluating contributions to the DDR Core Vocabulary, comprising the following:

2.1 Questionnaire

A public questionnaire was launched to request proposals for inclusion in the Core Vocabulary, with the following data being obtained for each proposal:

  • Description: A brief description of the proposed Property.

  • Type: The data type associated with the Property.

  • Justification: An argument put forward to justify the Property being part of the Core Vocabulary. This should explain why the proposed Property is essential for basic adaptation of typical Web content, in the context of Mobile Web-enabled devices.

  • Measurement: A explanation of how this Property is evaluated, suggesting where appropriate the units of measurement.

2.2 Assessment

Proposals submitted via the questionnaire were assessed to determine if they were appropriate for the Core Vocabulary. The following guidance was used to determine the main candidates:

  • The Property must be considered essential to achieve adaptation of Web content for mobile devices.

  • The Property must be objective, unambiguous and any measurements must be reliably repeatable.

  • The Property should not be derivable from other essential Properties.

  • There should be a reasonable expectation of acquiring values for the Property (e.g. from manufacturers).

The group voted on each proposed Property. Those Properties that were rejected were further assessed for the possibility of being useful in other domains, and where identified, external groups were informed of these Properties so that they may consider developing their own vocabularies.

3 Vocabulary, Property and Aspect

The DDWG's work on modelling the Delivery Context has highlighted the desirability of identifying components of actual Delivery Contexts and classifying their types.

Components of the Delivery Context are, typically, a device, a user agent, a network connection, and possibly one or more proxies. The notion of "Aspect" captures the type of such components, and allows Properties of vocabularies to refer to specific Aspects of the Delivery Context, or to the Delivery Context as a whole.

The terms "Vocabulary", "Property" and "Aspect" are defined in [DDR-Simple-API], under Section 3. Vocabularies.

3.1 Aspects of the Core Vocabulary

This Vocabulary defines two Aspects, webBrowser and device, which serve to disambiguate the usage of Properties such as Vendor. Other Vocabularies may define other values for Aspects.

3.1.1 device

An apparatus through which a user can perceive and interact with the Web (see Device in [DIGLOSS])

3.1.2 webBrowser

A User Agent for Web pages (see User Agent in [DIGLOSS])

3.2 Property Names and Property Value Types

Refer to [DDR-Simple-API] Section 3. Vocabularies for allowable identifier syntax, for allowable value data types and how to represent enumerations in vocabularies that are to be used with the DDR Simple API.

The Property identifiers in this Vocabulary are associated with the namespace http://www.w3.org/2008/01/ddr-core-vocabulary. This namespace will change if the Core Vocabulary is updated.

The enumerations described in this document contain initial values that should be supported by all implementations of the Core Vocabulary and which may be supplemented by further DDR specific values.

4 Properties

This is a list of the Properties in the DDR Core Vocabulary.

The Default Aspect for the Properties of the Core Vocabulary is device where a Property applies to more than one Aspect.

4.1 Vendor

4.1.1 ID

vendor

4.1.2 Associated Aspects

webBrowser, device

4.1.3 Description

The name of the maker (OEM) of a device, browser or some other component (e.g. Mozilla).

4.1.4 Type

String

4.1.5 Related Properties

model, version

4.1.6 Note

While knowing the Vendor, Model and Version of a device is not essential when carrying out content adaptation, it is very important when designing an application, building reports and analytics, and analyzing logs and usage data.

4.2 Model

4.2.1 ID

model

4.2.2 Associated Aspects

webBrowser, device

4.2.3 Description

The model name of a device, browser or some other component (e.g. Firefox).

4.2.4 Type

String

4.2.5 Related Properties

vendor, version

4.2.6 Note

See Vendor above.

4.3 Version

4.3.1 ID

version

4.3.2 Associated Aspects

webBrowser, device

4.3.3 Description

The version number of a component (e.g. 2.0.0.10)

4.3.4 Type

String

4.3.5 Related Properties

vendor, model

4.3.6 Note

See Vendor above.

4.4 Display Width

4.4.1 ID

displayWidth

4.4.2 Associated Aspects

webBrowser, device

4.4.3 Description

The total number of addressable pixels in the horizontal direction of a rectangular display when held in its default orientation. The Property does not apply to displays that are not rectangular or square.

4.4.4 Measurement

The pixels are counted from the top left corner to the top right corner, and the result expressed as an integer.

4.4.5 Type

int

4.4.6 Related Properties

displayHeight

4.4.7 Note

Needed to fit/crop images, text or other width-adaptable content to the screen. Especially useful for LTR and RTL content, where vertical scrolling would be the norm but horizontal scrolling is not desirable. Identified as an important Property by the DDWG in its Top N finding [TopN]. Present in UAProf [UAPROF]. Present (and used) in existing adaptation solutions.

4.5 Display Height

4.5.1 ID

displayHeight

4.5.2 Associated Aspects

webBrowser, device

4.5.3 Description

The total number of addressable pixels in the vertical direction of a rectangular display when held in its default orientation. The Property does not apply to displays that are not rectangular or square.

4.5.4 Measurement

The pixels are counted from the top left corner to the bottom left corner, and the result expressed as an integer.

4.5.5 Type

int

4.5.6 Related Properties

displayWidth

4.5.7 Note

Needed to fit/crop images, text or other width-adaptable content to the screen. Especially useful for LTR and RTL content, where vertical scrolling would be the norm but horizontal scrolling is not desirable. Identified as an important Property by the DDWG in its Top N finding. Present in UAProf. Present (and used) in existing adaptation solutions.

4.6 Display Color Depth

4.6.1 ID

displayColorDepth

4.6.2 Associated Aspects

device

4.6.3 Description

The color depth of a display.

4.6.4 Measurement

Count the number of bits used for color definition.

4.6.5 Type

int

4.6.6 Note

If you are making any image or video transcoding it is important to know the maximum colors addressable by the screen. Measuring in bits should make it easier for programmatic conversions.

4.7 Input Devices

4.7.1 ID

inputDevices

4.7.2 Associated Aspects

device

4.7.3 Description

This Property described which input devices are available to the user. Normally most mobile devices such as mobile phones will have a keypad, it is common, though, to have a rocker, a stylus and a touch screen in PDAs, tablets and so on.

4.7.4 Measurement

Observation of features or study of specifications.

4.7.5 Type

Enumeration of values as follows (or other values supported by individual DDRs:

ValueDescriptionReference
keypadclassic 12 button mobile phone keypad
touchScreentouch screen that allows pointing to an area on the screen
stylusa stylus normally works in combination with a touch screen, the stylus provides higher precision
trackball a little sphere that acts like a trackball mouse
clickWheela wheel that is normally placed either below the screen or on the side of the device that lets the user quickly move up and down and click on link or items on the screen

4.7.6 Note

From an application perspective knowing that a device features a stylus or a touch screen can open many possibilities to greatly enhance the user interaction.

4.8 Markup Support

4.8.1 ID

markupSupport

4.8.2 Associated Aspects

webBrowser

4.8.3 Description

Set of mark-up languages a client supports.

4.8.4 Measurement

Claim of conformance by the vendor.

4.8.5 Type

Enumeration with values chosen from the following (or other values supported by individual DDRs):

ValueDescriptionReference
xhtmlBasic10XHTML Basic 1.0 [XHTMLBasic10]
xhtmlBasic11XHTML Basic 1.1 [XHTMLBasic11]
xhtmlMP10XHTML-MP 1.0 [XHTMLMP]

4.8.6 Note

In order to provide the appropriate mark-up when serving a web page, it is required that the server knows the supported mark-ups. Accept headers are often not accurate enough and can be modified by proxies in-between.

4.9 Stylesheet Support

4.9.1 ID

stylesheetSupport

4.9.2 Associated Aspects

webBrowser

4.9.3 Description

Set of Style Sheet languages a client supports.

4.9.4 Measurement

Claim of conformance by the vendor.

4.9.5 Type

Enumeration with values chosen from the following (or other values supported by individual DDRs):

ValueDescriptionReference
css10CSS Level 1 [CSS10]
css21CSS Level 2 Revision 1 [CSS21]
wcss10WCSS [WCSS]

4.9.6 Note

Style sheets are needed to define how the page should be laid out, positions and colors.

4.10 Image Format Support

4.10.1 ID

imageFormatSupport

4.10.2 Associated Aspects

webBrowser

4.10.3 Description

Set of image formats a client supports as part of a Web page (as distinct from formats that may be downloaded).

4.10.4 Measurement

Claim of conformance by the vendor.

4.10.5 Type

Enumeration with values chosen from the following (or other values supported by individual DDRs):

ValueDescriptionReference
gif87GIF 87 [GIF87]
gif89aGIF 89a [GIF89a]
jpegJPEG [JPEG]
pngPNG [PNG]

4.10.6 Note

Images are the first step to make content more compelling. Accept headers are often not accurate enough to determine which formats are supported and can be modified by proxies in-between.

4.11 Input Mode Support

4.11.1 ID

inputModeSupport

4.11.2 Associated Aspects

webBrowser

4.11.3 Description

The preferred ways of supporting specific formats for input type="text" fields. This can be done with the 'format' attribute, as a WCSS property or using the 'inputmode' attribute.

4.11.4 Measurement

Test using controls specifying the format with the mechanisms cited.

4.11.5 Type

Enumeration with values chosen from the following (or other values supported by individual DDRs):

ValueDescriptionReference
useFormatAttributeUse the format attribute of the input element - an extension to XHTML-MP. [OpenWave-Format-Attribute]
useWCSSUse the WCSS -wap-input-format property. [WCSS]
useInputmodeAttributeUse the inputmode attribute. [XHTMLBasic11]

4.11.6 Note

Assists user with input by setting the device input mode appropriately.

4.12 Cookie Support

4.12.1 ID

cookieSupport

4.12.2 Associated Aspects

webBrowser

4.12.3 Description

The ability of a client to store cookies and send them when appropriate.

4.12.4 Measurement

A web server sets a cookie in an HTTP Response. The Mobile Web browser makes a subsequent HTTP request. If the browser supports cookies the HTTP request should contain the cookie previously set by the web server.

4.12.5 Type

boolean

4.12.6 Note

It is very important to know if a browser support cookies, among other things, to support the concept of user session. An adaptation solution that knows that a device does not support cookies can fall back to a URI rewriting mechanism.

4.13 Script Support

4.13.1 ID

scriptSupport

4.13.2 Associated Aspects

webBrowser

4.13.3 Description

Set of scripting languages supported.

4.13.4 Measurement

Manufacturer claim of support of a scripting language or dialect.

4.13.5 Type

Enumeration with values chosen from the following list (or other values supported by individual DDRs):

ValueDescriptionReference
ecmascript-MPSupports ECMAScript Mobile Profile [ECMAScript-MP]

A References

CSS10
Cascading Style Sheets, level 1, Håkon Wium Lie, Bert Bos, W3C Recommendation 17 Dec 1996, revised 11 Jan 1999 (See http://www.w3.org/TR/REC-CSS1)
CSS21
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification, Bert Bos, Tantek Çelik, Ian Hickson, Håkon Wium Lie, W3C Candidate Recommendation 19 July 2007 (See http://www.w3.org/TR/CSS21 )
DDR-Simple-API
Device Description Repository Simple API, Jo Rabin, José Manuel Cantera Fonseca, Rotan Hanrahan, Ignacio Marín (eds.), W3C Working Draft, 4 April 2008 (See http://www.w3.org/TR/DDR-Simple-API)
DIGLOSS
W3C Glossary of Terms for Device Independence, Rhys Lewis (ed), W3C Working Draft 18 January 2005 (See http://www.w3.org/TR/di-gloss/)
ECMAScript-MP
ECMAScript Mobile Profile, A Wireless Markup Scripting Language, Version 1.0, 20 Oct 2006, MOA-WAP-ESMP-V1_0-20061020-A (PDF) (See http://www.openmobilealliance.org/technical/release_program/docs/Browsing/V2_2-20061020-A/OMA-WAP-ESMP-V1_0-20061020-A.pdf)
GIF87
G I F (tm) Graphics Interchange Format (tm), CompuServe Incorporated, 15 June 1987 (See http://www.w3.org/Graphics/GIF/spec-gif87.txt)
GIF89a
GRAPHICS INTERCHANGE FORMAT (sm), Version 89a, CompuServe Incorporated, 1990 (See http://www.w3.org/Graphics/GIF/spec-gif89a.txt)
JPEG
Recommendation T.81, 18 September 1992 (See http://www.w3.org/Graphics/JPEG/itu-t81.pdf)
OpenWave-Format-Attribute
XHTML-MP Style Guide Chapter 5 - Forms: Collecting User Data (See http://developer.openwave.com/dvl/support/documentation/guides_and_references/xhtml-mp_style_guide/chapter5.htm)
PNG
Portable Network Graphics (PNG) Specification (Second Edition) Information technology — Computer graphics and image processing — Portable Network Graphics (PNG): Functional specification. ISO/IEC 15948:2003 (E), David Duce (ed.), W3C Recommendation 10 November 2003 (See http://www.w3.org/TR/PNG/)
TopN
The "Top N" properties. A finding of the DDWG, recorded in the DDWG wiki, 28 February 2007. (See http://www.w3.org/2005/MWI/DDWG/wiki/TopFiveMindMap)
UAPROF
User Agent Profile (zip/MS Word) (See http://member.openmobilealliance.org/ftp/public_documents/mce/DCAP/Permanent_documents/OMA-TS-UAProf-V2_0-20060206-A.zip)
UWA-Ontology
Delivery Context Ontology, Rhys Lewis (ed), W3C Working Draft 21 December 2007 (See http://www.w3.org/TR/dcontology/)
WCSS
Wireless CSS Specification, Open Mobile Alliance, Approved Version 1.1 – 20 October 2006 (See http://www.openmobilealliance.org/technical/release_program/docs/Browsing/V2_3-20080331-A/OMA-WAP-WCSS-V1_1-20061020-A.pdf)
XHTMLBasic10
XHTML Basic, Mark Baker, Masayasu Ishikawa, Shinichi Matsui, Peter Stark, Ted Wugofski, Toshihiko Yamakami, W3C Recommendation 19 December 2000 (See http://www.w3.org/TR/2006/WD-xhtml-basic-20060705/)
XHTMLBasic11
XHTML Basic 1.1, Shane McCarron, Masayasu Ishikawa et al., 13 July 2007 (See http://www.w3.org/TR/2007/CR-xhtml-basic-20070713)
XHTMLMP
XHTML Mobile Profile, Open Mobile Alliance, 29 October 2001 (See http://www.openmobilealliance.org/tech/affiliates/wap/wap-277-xhtmlmp-20011029-a.pdf)

B Acknowledgments

The editors acknowledge contributors to the Core Vocabulary, namely: