W3C

[DRAFT] Devices and Sensors Working Group Charter

This is a draft revised Device and Sensors Working Group charter for discussion. It has no standing. See also the charter under which the Device and Sensors Working Group currently operates.

The Devices and Sensors Working Group creates client-side APIs that enable the development of Web Applications that interact with device hardware and sensors such as cameras, microphones, and motion sensors.

Join the Devices and Sensors Working Group.

End date 2020-06-30
Chairs Anssi Kostiainen (Intel), Reilly Grant (Google)
Team Contact
(FTE %: 10)
Fuqiao Xue
Usual Meeting Schedule Teleconferences: topic-specific calls may be held
Face-to-face: 1 or 2 per year (only as needed)

Goals

The Devices and Sensors Working Group produces Web client-side APIs that allow Web applications to access advanced capabilities of their host devices.

These capabilities include access to cameras, microphones, and system information such as network connection and battery level.

Adding these advanced features to the Web environment empowers Web developers to create richer and more context-aware Web applications.

These APIs grant access to sensitive data, some of which is not intuitively obvious as being sensitive, and some of which can be used to track users. Because of that, these APIs must be both secure and privacy-enabling by design, based on the current Web browser security model. When existing browser-based privacy and security metaphors apply, the WG will endeavour to reuse them. When those metaphors do not apply, the WG will explore innovative security and privacy mechanisms.

Scope

The scope of this Working Group is the creation of API specifications for a device’s services that can be exposed to Web applications. Services include sensors, media capture, network information and discovery. Devices in this context include desktop computers, laptop computers, mobile Internet devices (MIDs), cellular phones, TVs, cameras and other connected devices.

Hardware security services are out of scope for this group.

Priority will be given to developing simple and consensual APIs, leaving more complex features to future versions.

Success Criteria

To advance to Proposed Recommendation, each specification must have two independent implementations of all defined features, at least one of which is on a constrained device such as a mobile phone or TV.

Comprehensive test suites will be developed for each specification to ensure interoperability, and the group will create interoperability reports. The group will also maintain errata as required for the continued relevance and usefulness of the specifications it produces.

Each specification must contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.

Each specification must detail all known security and privacy implications for implementers, Web authors, and end users.

APIs that cannot be demonstrated to be implementable securely within the default browser context will not be released.

The specifications produced by this WG must mitigate disclosure of data when possible and seek meaningful user consent in other cases. If the WG decides that one or more of its specifications cannot be usefully implemented while simultaneously allowing users to meaningfully consent to the use of sensitive data, it should not advance those specifications.

Deliverables

The Devices and Sensors WG will follow a test as you commit approach to specification development, for specifications in CR or above.

All normative spec changes are generally expected to have a corresponding pull request in web-platform-tests, either in the form of new tests or modifications to existing tests, or must include the rationale for why test updates are not required for the proposed update.

Typically, both pull requests (spec updates and tests) will be merged at the same time. If a pull request for the specification is approved but the other needs more work, add the 'needs tests' label or, in web-platform-tests, the 'status:needs-spec-decision' label. Note that a test change that contradicts the specification should not be merged before the corresponding specification change.

If testing is not practical due to web-platforms-tests limitations, please explain why and if appropriate file an issue with the 'type:untestable' label to follow up later.

Normative Specifications

The Working Group will deliver the following W3C normative specifications:

Sensors

Battery Status API

An API to react to a device power status

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Battery Status API, W3C Candidate Recommendation, 07 July 2016

Reference Candidate Recommendation: Battery Status API, W3C Candidate Recommendation, 07 July 2016

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Wake Lock API

An API to manage the power-saving state of a device

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Wake Lock API, W3C Candidate Recommendation, 14 December 2017

Reference Candidate Recommendation: Wake Lock API, W3C Candidate Recommendation, 14 December 2017

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Generic Sensor API

An API that serves as basis for APIs that retrieve data from sensors

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Generic Sensor API, W3C Candidate Recommendation, 20 March 2018

Reference Candidate Recommendation: Generic Sensor API, W3C Candidate Recommendation, 20 March 2018

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Proximity Sensor

An API to monitor the presence of nearby objects without physical contact

Draft state: Working Draft

Adopted Working Draft: Proximity Sensor API, W3C Working Draft, 19 July 2016

Reference Draft: Proximity Events, W3C Working Draft, 03 September 2015

Produced under Working Group Charter: 2011-2016 Device APIs Working Group Charter

Ambient Light Sensor

An API to monitor the ambient light level of the device’s environment

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Ambient Light Sensor, W3C Candidate Recommendation, 20 March 2018

Reference Candidate Recommendation: Ambient Light Sensor, W3C Candidate Recommendation, 20 March 2018

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Accelerometer

An API to monitor changes in acceleration in the device's three primary axes

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Accelerometer, W3C Candidate Recommendation, 20 March 2018

Reference Candidate Recommendation: Accelerometer, W3C Candidate Recommendation, 20 March 2018

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Gyroscope

An API to monitor the rate of rotation around the device’s three primary axes

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Gyroscope, W3C Candidate Recommendation, 20 March 2018

Reference Candidate Recommendation: Gyroscope, W3C Candidate Recommendation, 20 March 2018

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Magnetometer

An API to measure the magnetic field around the device’s three primary axes

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Magnetometer, W3C Candidate Recommendation, 20 March 2018

Reference Candidate Recommendation: Magnetometer, W3C Candidate Recommendation, 20 March 2018

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

Orientation Sensor

An API to monitor the device’s physical orientation in relation to a stationary three dimensional Cartesian coordinate system

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: Orientation Sensor, W3C Candidate Recommendation, 20 March 2018

Reference Candidate Recommendation: Orientation Sensor, W3C Candidate Recommendation, 20 March 2018

Produced under Working Group Charter: 2016-2018 Device and Sensors Working Group Charter

DeviceOrientation Event specification

An event-based API that provides information about the physical orientation and motion of a hosting device

Draft state: Candidate Recommendation

Adopted Candidate Recommendation: DeviceOrientation Event Specification, W3C Candidate Recommendation 18 August 2016. This API was formerly developed by the former Geolocation Working Group. The Devices and Sensors Working Group intends to fix remaining known issues and to finish its progress on the Recommendation track.

Reference Draft: DeviceOrientation Event Specification, W3C Candidate Recommendation 18 August 2016, published at https://www.w3.org/TR/2016/CR-orientation-event-20160818/, produced under 2014-2017 Geolocation Working Group charter.

Geolocation Sensor

An API for obtaining geolocation reading from the hosting device, based on the Generic Sensor API

Draft State: Adopted from WICG

Others

Network Information API
An API to discover the current network characteristics — the group will determine in collaboration with the WICG whether the existing implementations of this API on mobile warrants restarting its standardization process

Draft State: Adopted from WICG (see also Working Group Note that predates the WICG Draft Report)

Maintenance

The Working Group will maintain errata and new editions, as necessary, for the Geolocation API, the Vibration API, and HTML Media Capture W3C Recommendations.

Where practical, the API specifications should use the Web IDL formalism.

Jointly Developed Specifications

The Working Group may also enter into joint Task Forces with other groups to collaborate on any of the above Deliverables that cross group boundaries.

Adding new Recommendation-track deliverables

If additional in-scope Recommendation-track deliverables need to be added to the Charter before the Charter expires, the Working Group will prepare an updated Charter that differs only in deliverables.

The Working Group will not adopt new proposals until they have matured through the Web Platform Incubator Community Group or another similar incubation phase.

Other Deliverables

A comprehensive test suite for all features of a specification is necessary to ensure the specification’s robustness, consistency, and implementability, and to promote interoperability between User Agents.

The Working Group may also document in a Working Group Note useful design patterns shared by the APIs it is developing.

Other non-normative documents may be created such as:

  • Primers
  • Requirements and use case documents for specifications
  • Non-normative group notes

Given sufficient resources, this Working Group should review other working groups’ deliverables that are identified as being relevant to the Working Group’s mission.

Timeline

Milestones
Specification FPWD CR PR Rec
Battery Status API 26 Apr 2011 7 Jul 2016 Q4 2019 Q1 2020
Wake Lock API 12 Feb 2015 14 Dec 2017 Q4 2019 Q1 2020
Generic Sensor API 15 Oct 2015 20 Mar 2018 Q4 2019 Q1 2020
Proximity Sensor 12 July 2012 01 October 2013 Q4 2019 Q1 2020
Ambient Light Sensor 2 Aug 2012 20 Mar 2018 Q4 2019 Q1 2020
Accelerometer 13 September 2016 20 Mar 2018 Q4 2019 Q1 2020
Gyroscope 13 September 2016 20 Mar 2018 Q4 2019 Q1 2020
Magnetometer 13 September 2016 20 Mar 2018 Q4 2019 Q1 2020
Orientation Sensor 11 May 2017 20 Mar 2018 Q4 2019 Q1 2020
DeviceOrientation Event specification 28 June 2011 18 August 2016 Q4 2019 Q1 2020
Geolocation Sensor Q1 2019 Q2 2020
Network Information API Q3 2019 Q2 2020

Note: The actual production of some of the deliverables may follow a different timeline. The group documents any schedule changes on the group home page.

Coordination

W3C Groups

For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, performance, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD and at least 3 months before CR, and should be issued when major changes occur in a specification.

Additional technical coordination with the following Groups will be made, per the W3C Process Document:

Web Application Security Working Group
The Web Application Security Working Group is developing guidance on APIs that expose sensitive information, and an API to manage permissions, both of which matter to several of this group specifications.
Web Platform Working Group
This group defines relevant specifications including Web IDL, and File API.
Web Real Time Communications Working Group
Both the Devices and Sensors and WebRTC Working Groups develop capture-related APIs.

External Groups

The following is a tentative list of external bodies the Working Group should collaborate with:

Ecma International Technical Committee 39 (TC39)
This is the group responsible for EcmaScript standardization, and related EcmaScript features. As this Working Group is developing EcmaScript APIs, it should collaborate with TC39.
IETF
The IETF has created specifications that are related to some of the APIs in this WG’s scope.

Participation

To be successful, this Working Group is expected to have 6 or more active participants for its duration, and to have the participation of the industry leaders in fields relevant to the specifications it produces.

The Chair(s) and specification Editors are expected to contribute one to two days per week towards the Working Group. There is no minimum requirement for other participants.

Based on the input from the group participants, the Chairs may also decide to create task forces that allow more focused discussions for topics that require specific expertise.

This Working Group will also allocate the necessary resources for building Test Suites for each specification.

The group encourages questions and comments on its public mailing lists and document repositories, as described in Communication.

The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.

Communication

Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed on a public repository, and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.

Information about the group (for example, details about deliverables, issues, actions, status, participants) is available from the Devices and Sensors Working Group home page.

The Working Group’s Teleconferences focus on discussion of particular specifications, and are conducted on an as-needed basis.

This group primarily conducts its technical work on the public-device-apis@w3.org and on Github issues. The public is invited to review, discuss and contribute to this work.

The group uses a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and participants of the group, for Member-only discussions in special cases when a particular participant requests such a discussion.

Decision Policy

This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 3.3). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.

However, if a decision is necessary for timely progress, but consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote, and record a decision along with any objections.

To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email and/or web-based survey), with a response period from 5 to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised on the mailing list by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.

All decisions made by the group should be considered resolved unless and until new information becomes available, or unless reopened at the discretion of the Chairs or the Director.

This charter is written in accordance with the W3C Process Document (Section 3.4, Votes), and includes no voting procedures beyond what the Process Document requires.

Patent Policy

This Working Group operates under the W3C Patent Policy (5 February 2004 Version updated 1 August 2017). To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.

Licensing

This Working Group will use the W3C Software and Document license for all its deliverables.

About this Charter

This charter for this Working Group has been created according to section 5.2 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.

Charter history

The following table lists details of all changes from the initial charter, per the W3C Process Document (section 5.2.3):

Charter Period Start Date End Date Changes
Initial Charter 3 July 2009 31 July 2011 N/A
Rechartered 19 August 2011 March 31 2016 Rechartered under the name "Device APIs Working Group". Thomas Roessler stepped down as team contact. Robin Berjon stepped down as co-chair in September 2012.
Rechartered 31 March 2016 30 June 2018 Rechartered under the name "Device and Sensors Working Group". Added Fuqiao Xue as team contact in September 2017. Chair changed from Frederick Hirsch to Anssi Kostiainen in September 2017.
Rechartered 30 June 2018 30 June 2020 Rechartered under the name "Devices and Sensors Working Group". Dominique Hazael-Massieux stepped down as team contact. Added Reilly Grant as co-chair. Added gyroscope, magnetometer, DeviceOrientation Event, and geolocation APIs to the group's deliverables. Removed media capture, address books, messaging applications, and similar non-sensor APIs from the group's scope of work. Reduced team support from 0.2 FTE to 0.1 FTE. Added a requirement to mitigate disclosures and/or get user consent.
Rechartered 15 March 2019 30 June 2020 Added Geolocation API for maintenance.

Editor: Fuqiao Xue, Team Contact, based on the previous Devices and Sensors (then called Device APIs) Working Group’s charter