Web Performance Working Group Charter

The mission of the Web Performance Working Group is to provide methods to observe and improve aspects of application performance of user agent features and APIs.

Join the Web Performance Working Group.

Start date 22 July 2016
End date 31 May 2018
Charter extension See Change History.
Chairs Ilya Grigorik, Google
Todd Reifsteck, Microsoft
Team Contacts Philippe Le Hégaret, Xiaoqian Wu (0.2 FTE)
Meeting Schedule Teleconferences: bi-weekly
Face-to-face: we will meet during the W3C's annual Technical Plenary week; one additional face-to-face meeting per year may be scheduled by consent of the participants.
IRC channel: #webperf

Scope

Web developers are building sophisticated applications where application performance is a critical feature. Web developers need the ability to observe the performance characteristics of their applications, and they want the ability to write more efficient applications, using well-defined interoperable methods.

The Web Performance Working Group's deliverables include user agent features and APIs to observe and improve aspects of application performance. These deliverables will apply to desktop and mobile browsers and other non-browser environments where appropriate, and will be consistent with Web technologies designed in other working groups including HTML, CSS, WebApps, DAP and SVG.

In addition to developing Recommendation Track documents, the Web Performance Working Group may provide review of specifications from other Working Groups.

Out of Scope

The following features are out of scope, and will not be addressed by this working group.

  • methods to profile and instrument server side code;
  • performance data analysis techniques or algorithms.

Success Criteria

In order to advance to Proposed Recommendation, each specification is expected to have at least two independent implementations of each of feature defined in the specification.

Each specification should contain a section detailing any known security or privacy implications for implementers, Web authors, and end users.

Deliverables

More detailed milestones and updated publication schedules are available on the group publication status page.

Draft state indicates the state of the deliverable at the time of the charter approval. Next Recommendation expected completion indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state.

Normative Specifications

The working group will deliver incremental revisions of the following W3C normative specifications:

High Resolution Time

This document defines an API that provides the current time in sub-millisecond resolution such that it is not subject to system clock skew or adjustments.

Next Recommendation expected completion: Q3 2017

Performance Timeline

This specification defines a unified interface to store and retrieve performance metric data.

Next Recommendation expected completion: Q3 2017

Resource Timing

An interoperable means for site developers to collect real-world performance information from the user agent while loading resources as specified from the root document of a webpage. The user agent captures the end to end latency associated with loading resources from a web server. This includes the time associated with fetching the resource from the network and the time associated to load the resource within the user agent. This might include:

  • timing associated with the network;
  • timings associated with loading the resource in the document;
  • a resource may be one of the following elements: iframe, img, script, object, embed and link.

Next Recommendation expected completion: Q3 2016

An interoperable means for site developers to collect real-world performance information from the user agent while loading the root document of a webpage. The user agent captures the end to end latency associated with loading a webpage from a web server. This includes the time associated with fetching the document from the network to the time associated to load the document within the user agent.

Next Recommendation expected completion: Q3 2017

User Timing

An interoperable means for site developers to capture timing information with a developer supplied name. The user agent captures the time stamp at the point and time specified in the code executing in the user agent.

Next Recommendation expected completion: Q3 2017

Page Visibility

An interoperable means for site developers to programmatically determine the current visibility of a document and be notified of visibility changes.

Next Recommendation expected completion: Q3 2017

Beacon

An interoperable API for site developers to asynchronously transfer data from the user agent to a web server, with a guarantee from the user agent that the data will be eventually sent.

Next Recommendation expected completion: Q4 2016

Cooperative Scheduling of Background Tasks

An API that web page authors can use to cooperatively schedule background tasks such that they do not introduce delays to other high priority tasks that share the same event loop, such as input processing, animations and frame compositing.

Next Recommendation expected completion: Q3 2017

Resource Hints

This specification defines the dns-prefetch, preconnect, prefetch, and prerender relationships of the HTML Link Element ().

Next Recommendation expected completion: Q3 2017

Preload

This specification defines the link relation type preload, a declarative fetch primitive that initiates an early fetch and separates fetching from resource execution.

Next Recommendation expected completion: Q3 2017

Other Deliverables

The Group will maintain a non-normative Primer document to facilitate the understanding of the interrelationships between its deliverables.

Other non-normative documents may be created such as:

  • Security and Privacy considerations for Performance APIs
  • Test suites for each specification;
  • Use cases documents to support development and exploration of performance-critical web platform features and APIs;
  • Primer or Best Practice documents to support web developers when designing applications with performance in mind;
  • Developer and user guides for its normative specifications;
  • Best practice document explaining how data is commonly gathered between the client and the server.

Coordination

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 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:

W3C Groups

Technical Architecture Group (TAG)
The WG may ask the Technical Architecture Group to review some of its specifications.
Web Platform Working Group
This Working Group develops APIs for client-side development and for markup vocabularies for describing and controlling client-side application behavior.
Web Application Security Working Group
This Working Group develops security and policy mechanisms to improve the security of Web Applications, and enable secure cross-site communication.
CSS Working Group
The group develops and maintains CSS, which is relevant for specifications such as page visibility.
Privacy Interest Group
This group monitors ongoing privacy issues that affect the Web, investigates potential areas for new privacy work, and provides guidelines and advice for addressing privacy in standards development.
Web Platform Incubator Community Group
This group provides a lightweight venue for proposing, incubating and discussing new web platform features. Several proposals related to Web Performance were moved there: Frame Timing, Server Timing, Reporting, and Network Error Logging.

External Organizations

ECMA Technical Committee 39 (TC39)
This is the group responsible for ECMAScript standardization, and related ECMAScript features like E4X. As the Web Performance Working Group will be developing ECMAScript APIs, it should collaborate with TC39.
Internet Engineering Task Force
The IETF is responsible for defining robust and secure protocols for Internet functionality, in particular HTTP. The Working Group should coordinate protocol-related work (e.g. profiles of hybi or HTTP) with the appropriate IETF WGs.

Participation

To be successful, this Working Group is expected to have 5 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a day per week towards the Working Group. There is no minimum requirement for other Participants.

The group encourages questions, comments and issues 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. 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.

Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the Web Performance Working Group home page.

Most Web Performance Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.

This group primarily conducts its technical work in its public repositories. There is also a public mailing list public-web-perf@w3.org (archive). The public is invited to contribute to the github repositories and post messages to the list. Regular activity summaries around the github repositories will be provided.

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 until 10 working days after the publication of the resolution in draft minutes sent to the working group's mailing list. 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). 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 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 2010-08-18 2011-06-30 none
Rechartered 2011-04-25 2012-06-30

Added Page Visibility, Efficient Script Yielding, Display Paint notifications

Rechartered 2013-06-06 2015-05-31

Added Performance Timeline, Timing control for script-based animations, Resource Priorities, Beacon, Diagnostics, Pre-render, Display Performance, Async scroll, HAR. Removed Display Paint notifications.

Rechartered 2015-06-25 2016-05-31

Added Server Timing, Resource Hints, NEL, Preload (previously Pre-render), Frame Timing, CPU and Memory monitoring. Removed Resource Priorities, Diagnostics, Display Performance, Async scroll.

Proposed 2016-06-01 2018-05-31

Removed CPU and Memory monitoring. Moved to WICG: Frame Timing, Server Timing, NEL, Reporting. Moved to Software and Document license.