The Device Description Repository (DDR) is a concept proposed by the Mobile Web Initiative Device Description Working Group (DDWG) of the World Wide Web Consortium. The DDR is supported by a standard interface and an initial core vocabulary of device properties. Implementations of the proposed repository are expected to contain information about Web-enabled devices (particularly mobile devices). Authors of Web content will be able to make use of repositories to adapt their content to best suit the requesting device. This will facilitate the interaction and viewing of Web pages across devices with widely varying capabilities.
Information in a repository should include information such as the screen dimensions, input mechanisms, supported colors, known limitations, special capabilities etc.
The "requirements for a single logical device descriptions repository" [1] were first published as a W3C Working Draft in April 2006, and completed as a "Working Group Note" [2] in December 2007.
The "DDR Core Vocabulary" [3] was published in April 2008. It illustrates how to create definitions of properties that can be used in conjunction with the DDR Simple API.
The "DDR Simple API" [4] specification was published as a W3C Recommendation in December 2008.
The DDWG formally closed in December 2008. The Chair and volunteers agreed to maintain the DDWG home page and wiki after this time, [5] to answer questions and encourage implementations.
The idea of implementing a Device Description Repository was discussed at an international workshop [6] held by the DDWG in Madrid, Spain in July, 2006. This resulted in a proposal to re-charter [7] DDWG to work on the formal design of the programming interfaces, and ways to populate a repository with data and make this available to anyone who wanted to build Web servers that could adapt content to suit the end user devices.
The architecture of the repository was not prescribed, but distributed solution are likely. In general, the desirable characteristics of a Device Description Repository are:
The interface to the repository should provide the means of retrieving contextual information based on some evidence that identifies the context. Typically this means providing request headers through the interface and subsequently retrieving values for named properties. The W3C DDWG produced an initial vocabulary of such properties (based on a formal ontology), and an interface for the retrieval functionality. The interface is designed in a language-neutral manner to enable many implementations on many platforms. The published specification includes samples in Java, IDL and WSDL.
Open and commercial implementations of the DDR Simple API are available. Some of these formed part of the W3C's implementation report [8] prior to the API becoming a Web standard. The W3C's Mobile Web Initiative also tracks implementations of relevant mobile standards and other developer resources, including the DDR Simple API. On November 4, 2011 during Mobile2Days event [9] the OpenDDR project was launched. It is an open source project aiming to be the reference community implementation of W3C's DDR Simple API and the reference community repository. In January 2012 Apache DeviceMap became an incubating project at the Apache Software Foundation, and in September 2012 the OpenDDR project was donated to Apache. After Apache DeviceMap had been archived in early 2017, OpenDDR was made available again on GitHub.
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in the development of standards for the World Wide Web. As of 5 March 2023, W3C had 462 members. W3C also engages in education and outreach, develops software and serves as an open forum for discussion about the Web.
A web service (WS) is either:
An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, for example, between those written in C++ and those written in Java.
XForms is an XML format used for collecting inputs from web forms. XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also be used in a standalone manner or with presentation languages other than XHTML to describe a user interface and a set of common data manipulation tasks.
Content Repository API for Java (JCR) is a specification for a Java platform application programming interface (API) to access content repositories in a uniform manner. The content repositories are used in content management systems to keep the content data and also the metadata used in content management systems (CMS) such as versioning metadata. The specification was developed under the Java Community Process as JSR-170, and as JSR-283. The main Java package is javax.jcr
.
The UAProf specification is concerned with capturing capability and preference information for wireless devices. This information can be used by content providers to produce content in an appropriate format for the specific device.
The mobile web comprises mobile browser-based World Wide Web services accessed from handheld mobile devices, such as smartphones or feature phones, through a mobile or other wireless network.
Simple Knowledge Organization System (SKOS) is a W3C recommendation designed for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is part of the Semantic Web family of standards built upon RDF and RDFS, and its main objective is to enable easy publication and use of such vocabularies as linked data.
WURFL is a set of proprietary application programming interfaces (APIs) and an XML configuration file which contains information about device capabilities and features for a variety of mobile devices, focused on mobile device detection. Until version 2.2, WURFL was released under an "open source / public domain" license. Prior to version 2.2, device information was contributed by developers around the world and the WURFL was updated frequently, reflecting new wireless devices coming on the market. In June 2011, the founder of the WURFL project, Luca Passani, and Steve Kamerman, the author of Tera-WURFL, a popular PHP WURFL API, formed ScientiaMobile, Inc to provide commercial mobile device detection support and services using WURFL. As of August 30, 2011, the ScientiaMobile WURFL APIs are licensed under a dual-license model, using the AGPL license for non-commercial use and a proprietary commercial license. The current version of the WURFL database itself is no longer open source.
Content adaptation is the action of transforming content to adapt to device capabilities. Content adaptation is usually related to mobile devices, which require special handling because of their limited computational power, small screen size, and constrained keyboard functionality.
The W3C Device Description Working Group (DDWG), operating as part of the World Wide Web Consortium (W3C) Mobile Web Initiative (MWI), was chartered to "foster the provision and access to device descriptions that can be used in support of Web-enabled applications that provide an appropriate user experience on mobile devices." Mobile devices exhibit the greatest diversity of capabilities, and therefore present the greatest challenge to content adaptation technologies. The group published several documents, including a list of requirements for an interface to a Device Description Repository (DDR) and a standard interface meeting those requirements.
MyMobileWeb is an open-source product that simplifies the development of adaptive mobile web applications and portals, providing an advanced content & application adaptation environment. It is based on open-standards, Java and Java EE technology.
A software widget is a relatively simple and easy-to-use software application or component made for one or more different software platforms.
Web of Things (WoT) describes a set of standards by the World Wide Web Consortium (W3C) for the interoperability of different Internet of things (IoT) platforms and application domains.
The W3C Geolocation API is an effort by the World Wide Web Consortium (W3C) to standardize an interface to retrieve the geographical location information for a client-side device. It defines a set of objects, ECMAScript standard compliant, that executing in the client application give the client's device location through the consulting of Location Information Servers, which are transparent for the application programming interface (API). The most common sources of location information are IP address, Wi-Fi and Bluetooth MAC address, radio-frequency identification (RFID), Wi-Fi connection location, or device Global Positioning System (GPS) and GSM/CDMA cell IDs. The location is returned with a given accuracy depending on the best location information source available.
Multimodal Architecture and Interfaces is an open standard developed by the World Wide Web Consortium since 2005. It was published as a Recommendation of the W3C on October 25, 2012. The document is a technical report specifying a multimodal system architecture and its generic interfaces to facilitate integration and multimodal interaction management in a computer system. It has been developed by the W3C's Multimodal Interaction Working Group.
Brotli is a lossless data compression algorithm developed by Google. It uses a combination of the general-purpose LZ77 lossless compression algorithm, Huffman coding and 2nd-order context modelling. Brotli is primarily used by web servers and content delivery networks to compress HTTP content, making internet websites load faster. A successor to gzip, it is supported by all major web browsers and has become increasingly popular, as it provides better compression than gzip.
WebXR Device API is a Web application programming interface (API) that describes support for accessing augmented reality and virtual reality devices, such as the HTC Vive, Oculus Rift, Oculus Quest, Google Cardboard, HoloLens, Magic Leap or Open Source Virtual Reality (OSVR), in a web browser. The WebXR Device API and related APIs are standards defined by W3C groups, the Immersive Web Community Group and Immersive Web Working Group. While the Community Group works on the proposals in the incubation period, the Working Group defines the final web specifications to be implemented by the browsers.
The Thing Description (TD) (or W3C WoT Thing Description (TD)) is a royalty-free, open information model with a JSON based representation format for the Internet of Things (IoT). A TD provides a unified way to describe the capabilities of an IoT device or service with its offered data model and functions, protocol usage, and further metadata. Using Thing Descriptions help reduce the complexity of integrating IoT devices and their capabilities into IoT applications.