W3C

!! DRAFT!! Web Applications Working Group Charter

The mission of the Web Applications (WebApps) Working Group, part of the Rich Web Client Activity, is to provide specifications that enable improved client-side application development on the Web, including specifications both for application programming interfaces (APIs) for client-side development and for markup vocabularies for describing and controlling client-side application behavior.

Join the Web Applications Working Group.

End date @TBD: 2 years after the charter is approved. Note the group is likely to be rechartered and keep running beyond the end date (to continue specifications not completed at the end of this charter, to work on new versions of completed specifications and to add new specifications).
Confidentiality Proceedings are Public
Chairs Art Barstow
Charles McCathieNevile
Team Contacts
(FTE %: 30)
Yves Lafon
Xiaoqian Wu
Usual Meeting Schedule Teleconferences: topic-specific calls may be held up to once per week
Face-to-face: we will meet during the W3C's annual Technical Plenary week; other additional F2F meetings may be scheduled (up to 2 per year)
IRC: active participants, particularly editors, regularly use the #webapps W3C IRC channel

Goals

As Web browsers and the Web engine components that power them become ubiquitous across a range of operating systems and devices, developers are increasingly using Web technologies to build applications and are relying on Web engines as application runtime environments. Examples of applications now commonly built using Web technologies include reservation systems, online shopping / auction sites, games, multimedia applications, maps, enterprise-specific applications, interactive design applications, and PIM (email, calendar, etc) systems.

The target environments for the Web Applications Working Group's deliverables include browsers on desktop, mobile devices such as phones and tablets, televisions, and other devices, as well as non-browser environments that make use of Web technologies. The group seeks to promote universal access to Web applications across a wide range of devices and among a diversity of users, including users with particular accessibility needs. The APIs must provide generic and consistent interoperability and integration among all target formats, such HTML, XHTML, and SVG.

Scope

This charter extends the third Web Applications Working Group Charter to produce deliverables necessary for the evolving Web application market, and continue work already in progress. The group is expected to be rechartered when the charter expires, or earlier if it takes on deliverables beyond the scope of work identified in this charter.

The scope of the Web Applications Working Group covers the technologies related to developing client-side applications on the Web, including both markup vocabularies for describing and controlling client-side application behavior and programming interfaces for client-side development.

Additionally, server-side APIs for support of client-side functionality may be defined as needed.

Web Applications Working Group specifications are expected to be applicable to an array of target formats — including HTML, XHTML, SVG, DAISY, MathML, SMIL, and other DOM-related technology. Although the primary focus will be handling of content deployed over the Web, the deliverables of the Web Applications Working Group should take into consideration uses of Web technologies for other purposes, such as building user interfaces on devices.

The Web Applications Working Group should adopt, refine and when needed, extend, existing practices where possible. The Working Group should also take into account the fact that some deliverables will most likely be tied to widely deployed platforms. It is reasonable for the Working Group to deliver APIs optimized for particular languages, such as ECMAScript. Interfaces for other languages such as Java, Python, C# and Ruby, may be developed in cooperation with the organizations responsible for those languages.

Furthermore, the Web Applications Working Group deliverables must address issues of accessibility, device independence, internationalization, mobility, privacy, and security.

Testing plays an important role in improving the current state of Web applications. Comprehensive test suites will be developed for each specification to ensure interoperability, and the group will assist in the production of interoperability reports. The group will also maintain errata as required for the continued relevance and usefulness of the specifications it produces.

Members of the Web Application Working Group should review other working groups' deliverables that are identified as being relevant to Web Applications Working Group mission.

Success Criteria

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

Deliverables

Recommendation-Track Deliverables

The working group will deliver at least the following:

Clipboard API and events
A specification to expose common clipboard operations such as cut, copy and paste to Web Applications.
Database and Offline Application APIs
A set of objects and interfaces for client-side database functionality. For more details, see the WebApps WG Database API page. The following Database APIs are deliverables under this charter:
Indexed Database API
An API for a database of records holding simple values and hierarchical objects.
Quota Management API
An API for managing the amount of storage space (short- or long-term) available.
Service Workers
Service Workers are a new feature for the web platform that lets a script persistently cache resources and handle all resource requests for an application -- even when the network isn't available.
Document Object Model (DOM)
A set of specifications defining objects and interfaces for interaction with a document's tree model. These deliverables include:
DOM Level 3 Events
A generic platform- and language-neutral event system which allows registration of event handlers, describes event flow through a tree structure, and provides basic contextual information for each event.
DOM Parsing and Serialization
A specification describing how to parse markup into a DOM, and serialize for export, an HTML or XML fragment or document. This was initially developed in the WHAT-WG.
UI Events
This specification extends the events and features defined in DOM Events Level 3.
File interaction APIs
APIs for interacting with file systems:
File API
An API that enables web applications to select file objects and accessing their data. This replaces the File Upload specification.
FileSystem API
A local sandboxed file system API exposed only to Web Applications.
Fullscreen API
An API allowing elements to request the full screen for display. (API only, excluding sections "Selectors" and "Rendering" of the document which will continue to be developed by the CSS WG either as separate specifications or as a joint deliverable).
Gamepad
Defines APIs that allow web applications to directly act on gamepad data.
Input Method (IME) API
An API to determine the input method being used, to improve the internationalisation of applications working with keyboard and text entry.
Manifest for Web applications
Defines a JSON-based manifest, which provides developers with a centralized place to put metadata about a web application.
Packaging on the Web
This document describes an approach for creating packages of files for use on the web.
Pointer Lock
Defines APIs that provide scripted access to raw mouse movement data while locking the target of mouse events to a single element and removing the cursor from view.
Screen Orientation API
A view orientation and locking API e.g. to enable reading the view's orientation state, locking view orientation, notification of view orientation state changes, etc.
Selection API
Defines APIs for selection, which allows users and authors to select a portion of a document or specify a point of interest for copy, paste, and other editing operations.
Server Originated Events
APIs to facilitate web applications receiving events from a server.
Push API
An API that provides web applications scripted access to server-sent notifications.
Server-sent Events
An API for opening an HTTP connection for receiving push notifications from a server in the form of DOM events.
Streams API
An API for representing a stream of data in web applications.
URL
This specification defines the syntax, process and error handling for resolving URL, a sequence of characters from the Universal Character Set, along with guidelines and security considerations for the use of URL on the Web. It also defines an API to work with the components of a URL. This specification is a candidate for the Dual License as specified in section 8 of the HTML Working Group charter.
Web Components
Specifications that define mechanisms for adding custom elements to a document which allows them to have well-defined behaviour and rendering. Note that some of these specifications may be moved to the HTML Working Group.
Custom Elements
Defines methods for enabling the author to define and use new types of DOM elements in a document.
HTML Imports
Defines a way to include and reuse HTML documents in another HTML documents.
HTML Templates
Describes a method for declaring inert DOM subtrees in HTML and manipulating them to instantiate document fragments with identical contents. This specification is now part of HTML (and no longer an active deliverable of WebApps WG).
Shadow DOM
Describes a method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM.
Web Components Introduction
A non-normative reference, which provides an overview of Web Components.
Web Interface Definition Language (Web IDL)
Language bindings and types for Web interface descriptions.
Web Messaging
A secure messaging system to allow discovery of and communication between cross-domain documents, including postMessage and MessageChannel.
Web Sockets API
An API that enables Web pages to use the Web Sockets protocol for two-way communication with a remote host.
Web Workers
An API that allows Web application authors to spawn background workers running scripts in parallel to their main page, allowing for thread-like operation with message-passing as the coordination mechanism.
XMLHttpRequest (XHR)
An API for client-server data transfer, both to specify what is currently implemented and to extend its capabilities.

Each specification should contain a section detailing any known security implications for implementers, Web authors, and end users. The WebApps WG will actively seek security, privacy, internationalisation and accessibility review on all its specifications.

After a specification reaches Recommendation status the working group may begin work on, and deliver an updated version of the specification under this charter. Specifications may be moved to Recommendation and a subsequent version begun in order to facilitate the progress of other work which depends on a stable reference.

For a detailed summary of the current list of deliverables, and an up-to-date timeline, see the WebApps WG Publication Status page.

3.1.1. Specification Maintenance

The working group will maintain errata and new editions, as necessary, for the following Recommendation-status specifications:

3.1.2 Abandoned work

Some deliverables from the previous charter will no longer be worked on as documented in the group's non-active specs wiki.

3.1.2. Other Specifications

The market for applications of Web technologies continues to evolve quickly. Therefore, in addition to the specifications described in this charter, the Web Applications Working Group may take on additional specifications necessary to enable the creation of Web applications to meet the needs of the market as it evolves.

Specifically, because of the close relationship of the WebApps WG and the HTML WG in terms of participants, market, and community, the WebApps WG may opt to take on a limited number of specifications which were initially part of the HTML5 specification that have been split off for more general use with other languages. Consistent with W3C process, an Advisory Committee Review will evaluate whether the additional deliverable should be added to the WebApps WG charter. The expectation is that if the review is successful, Working Group participants will not be required to re-join the Working Group. For any work transferred to the WebApps WG, the first draft published in the WebApps WG is considered the first public Working Draft for application of the Patent Policy exclusion rules.

Other specification proposals may be identified by new submissions from Members, or by market research. These deliverables will require rechartering the Working Group.

For all new deliverables, the WebApps WG should develop an associated requirements section or document that identifies demonstrable use cases.

Other Deliverables

Other non-normative documents may be created such as:

  • Test suites for each specification
  • Primers for each specification
  • Requirements document for new specifications
  • Non-normative schemas for language formats
  • Non-normative group notes

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. Therefore, each specification must have a companion test suite, which should be completed by the end of the Last Call phase, and must be completed, with an implementation report, before transition from Candidate Recommendation to Proposed Recommendation. Additional tests may be added to the test suite at any stage of the Recommendation track, and the maintenance of a implementation report is encouraged.

Milestones

The group's Specification Status document provides current data about all of the group's specifications, including Technical Report publication plans and testing status. Although group expects to progress all of its specifications during this charter period, the charter does not include detailed milestone data for each specification because such data is speculative and easily becomes out of date. Nevertheless, the following specifications are considered priorities for the group because some other group has a dependency on the specification. For each of these specifications, some milestone predictions are provided, but please see the Specification Status document for accurate data.

Dependencies and Liaisons

Dependencies

A number of specifications depend on the WebIDL specification, which is therefore a very high priority for the Working Group.

Several specifications have a dependency on HTML.

The Web Sockets specification has an effective dependency on the protocol defined by the IETF's HyBi Working Group.

The specifications of several other groups, such as HTML and SVG, depend upon particular Web Applications Working Group specifications. Where possible, additional dependencies will be avoided to prevent the disruption of dependent deliverables.

Liaisons

The Web Applications Working Group expects to maintain contacts with at least the following groups and Activities within W3C (in alphabetical order):

Browser Testing and Tools Working Group
This group's Web Driver specification is of interest to the WebApps WG.
Cascading Style Sheets Working Group
To collaborate on the Fullscreen API specification and CSS related aspects of specifications (such as Shadow DOM).
Device APIs Working Group
To coordinate regarding APIs for devices services.
HTML (HyperText Markup Language) Working Group
To monitor the development of the HTML WG specifications (including DOM) as they complement the WebApps WG's specifications, and to help ensure HTML requirements for the WebApps WG's deliverables are met (noting that the HTML Working Group charter states specifically that the HTML Working Group will produce specifications for a language evolved from HTML4 and for describing the semantics of both Web documents and Web applications). The HTML WG also has a dependency on the Streams API.
Independent User Interface Indie UI) Working Group
This group is interested in interaction events and inferred user intents. The WebApps WG will request review of specifications and communicate as necessary with this group.
Internationalization Core Working Group
This group may provide advice or review to ensure that WebApps WG deliverables meet the needs of an international Web. In particular the Working Group will request close review of the IME API.
Pointer Events Working Group
This group creates DOM extension specifications and is interested in WebApps' DOM Level 3 Events and UI Events specifications.
Privacy Interest Group (PING)
The WebApps WG will request review of specifications and communicate as necessary with this group.
Protocols and Formats Working Group
To ensure that WebApps WG deliverables support accessibility requirements.
SVG (Scalable Vector Graphics) Working Group
To monitor the development of the SVG specification as it complements the WebApps WG's specifications, and to help ensure SVG requirements for the WebApps WG's deliverables are met. In addition, to potentially form a joint task force with the HTML and SVG WG to specify the Canvas Graphics API, should the need arise.
System Applications Working Group
This group is interested in several of WebApps' specifications including the File APIs and Service Workers.
Technical Architecture Group
The WebApps WG will ask the Technical Architecture Group to review some set of its specifications and will help, through a joint task force, the development of the URL specification and the Packaging on the Web specification.
User Agent Accessibility Guidelines Working Group
To ensure that WebApps WG deliverables support accessibility requirements, particularly with regard to interoperability with assistive technologies, and inclusion in deliverables of guidance for implementing WebApps deliverables in ways that support accessibility requirements.
Web and Mobile Interest Group
This group may provide advice or review to ensure that WebApps WG deliverables interact correctly in the context of Mobile applications.
Web Applications Security Working Group
As well as having a joint deliverable (CORS), this group has many overlapping interests with the WebApps WG.
Web Performance Working Group
This group focuses on performance of the Web platform, including deliverables of the WebApps WG.
Web Real-Time Communications Working Group
This group creates API specifications and is interested in WebApps' Streams API.
Web Security Interest Group
The WebApps WG will request review of specifications and communicate as necessary with this group.

Furthermore, the Web Applications Working Group expects to follow the following W3C Recommendations, Guidelines and Notes and, if necessary, to liaise with the communities behind the following documents:

External Groups

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

ECMA Technical Committee 39 (TC39)
This is the group responsible for ECMAScript standardization, and related ECMAScript features like E4X. As the Web Applications 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. A close relationship with the IETF HTTP group is crucial to ensuring the good design, deployment, and success of protocol-based APIs such as CORS and Web Sockets. This Working Group will rely upon review and parallel progress of associated specifications, and will keep pace with the IETF's HTTP and HyBi groups' work, conditional upon steady progress. The working group may well also liaise with the IETFs Web Security Working Group, either directly or through its liaison with the W3C's Web Applications Security Working Group.

Participation

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

For each specification the Working Group will name at least one Test Facilitator whose responsibility is to ensure that a Test Suite is made available.

The Chairs, specification Editors and test Facilitators are expected to contribute one to two days per week towards the Working Group. There is no minimum requirement for other Participants.

The Web Applications Working Group welcomes participation, with agreement from each participant to the provisions of the W3C Patent Policy.

Communication

The working mode of the group is described in detail on its wiki. In general the group does not hold teleconferences, and meets face to face at the TP/AC. It may hold more meetings, and certain specifications are developed with regular teleconferences. Note the Decision Policy below with regards to synchronous meetings.

Most of the technical work of the group will be done through discussions on one of the group's public mailing lists. Subscription to these lists is open to the public, subject to W3C norms of behavior.

Editors within the group will use either the W3C's public CVS repository or Mercurial Repository, or Github to maintain Editor's Draft of specifications. The group's action and issue tracking data will also be public, as will the Member-approved minutes from all teleconferences.

The group uses a Member-confidential mailing list (member-webapps) for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a particular member requests such a discussion. There is also a Team-confidential mailing list for coordination between the Team and Chairs.

Up-to-date information about the group (for example, details about deliverables, issues, actions, status, participants) is available from the Web Applications Working Group home page.

Decision Policy

As explained in the W3C Process Document (section 3.3), this group will seek to make decisions when there is consensus and with due process. The expectation is that 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 should put a question out for voting within the group (allowing for remote asynchronous participation -- using, for example, email and/or web-based survey techniques) and record a decision, along with any objections. The matter should then be considered resolved unless and until new information becomes available.

Any resolution taken in a face-to-face meeting or teleconference is to be considered provisional until 10 working days after the publication of the resolution in draft minutes sent to the working groups mailing list. If no objections are raised on the mailing list within that time, the resolution will be considered to have consensus as a resolution of the Working Group.

This charter is written in accordance with Section 3.4, Votes of the W3C Process Document 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.

About this Charter

This charter for the Web Applications Working Group has been created according to section 6.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.

Changes from the previous Web Applications Working Group Charter

This section is informative

The following is a brief summary of the important changes to the charter.

The following deliverables were explicitly added
  • Manifest for Web applications
  • Packing on the Web
  • Selection API
  • Service Workers
  • Streams API
Clarified
  • Web Components is a suite of specifications
  • Widget specfication work is complete
Moved to Maintenance
See Section 3.1.1
Removed
  • DOM4 (moved to HTML Working Group)
  • File API: Directories and System (work stopped)
  • File API: Writer (work stopped)
  • Selectors API (now part of DOM4)
  • Web Intents (work stopped)
  • Widgets URI Scheme (work stopped)
  • Widgets Updates (work stopped)

Yves Lafon, Team Contact
Xiaoqian Wu, Team Contact
Art Barstow, Nokia, Chair
Charles McCathieNevile, Yandex, Chair

Date: 2014-June-03