Contents:
The mission of the W3C Web API Working Group is to develop specifications that enable improved client-side application development on the Web. This includes the development of programming interfaces to be made available in a Web client.
The target platforms for this Working Group includes desktop and mobile browsers as well as many specialty, browser-like environments that use Web client technologies. The goal is to promote universal access both for devices and users, including those with special needs.
Additionally, the Working Group has the goal to improve client-side application development through education, outreach and interoperability testing.
With the ubiquity of Web browsers and Web document formats across a range of platforms and devices, many developers are using the Web as an application environment. Examples of applications built on rich Web clients include reservation systems, online shopping or auction sites, games, multimedia applications, calendars, maps, chat applications, weather displays, clocks, interactive design applications, stock tickers, currency converters and data entry/display systems.
Web client applications typically have some form of programmatic control. They may run within the browser or within another host application. A Web client application is typically downloaded on demand each time it is "executed", allowing a developer to update the application for all users as needed. Such applications are usually smaller than regular desktop applications in terms of code size and functionality, and may have interactive rich graphical interfaces.
The scope of the Web API Working Group covers the technologies related to developing client-side applications on the Web. In particular, programming interfaces for client-side development, including network requests, timed events and platform interaction.
This Working Group should adopt, refine and possibly 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. Therefore, it is feasible for the Working Group to deliver APIs optimized for particular languages, such as ECMAscript. Other language interfaces, such as Java, Python, C# and Ruby, should be developed in cooperation with the organization responsible for the language.
Furthermore, the Working Group deliverables must have a strong emphasis on accessibility, internationalization and security.
Education, outreach and testing also play an important role in improving the current state of Web applications. The Working Group should aim to provide the community with resources that meet the educational requirements stated in the mission above.
The Working Group is chartered to 15 November 2007.
The Working Group is expected to meet face to face approximately 4 times a year and to have a 60-90 minute teleconference every week.
The following is a list of deliverables that are under consideration. In some cases the item is specifying existing behavior of Web clients. In other cases the item is extending existing behavior in order to meet additional requirements. There are also some items that are specifying new technologies.
The deliverables are listed in order of suggested priority. The Working Group may choose a different priority at any time.
This deliverable should begin by documenting the existing XMLHttpRequest interface. This interface is a core component of what is commonly called AJAX. A following deliverable may produce a more powerful HTTP library, with the goal that it is able to be used as a basis for implementing the first deliverable (ie. any new library should be able to be used to implement XMLHttpRequest).
Tentative milestones: First draft of specification during December. Candidate Recommendation 1st quarter of 2006.
This deliverable is commonly implemented as the "Window" object in modern browsers. It allows applications to communicate with the browser and is used when initiating timed events and navigating to new pages. This deliverable should begin by documenting the existing Window interface. However, as this Working Group is considering a range of Web clients that is not limited to existing desktop browsers, future revisions of the API may define behavior beyond current implementations in a compatible manner.
Tentative milestones: First draft of specification during December. Candidate Recommendation 1st quarter of 2006.
Currently a W3C Note, the DOM Level 3 Events specification is an essential piece of the W3C's Web application framework. This specification will be returned to the active Recommendation track, with required enhancements for modern web clients (such as mobile devices).
Tentative milestones: Candidate Recommendation 1st quarter of 2006.
Timed events schedule and/or repeat behavior. For
example, an application might want to update its state every
minute by downloading data and modifying the display.
This is commonly implemented using setTimeout
and related methods in modern browsers. This deliverable
should begin by documenting existing behavior. Future
revisions may define more advanced features in
a compatible manner.
Tentative milestones: First draft of specification during December. Candidate Recommendation 2nd quarter of 2006.
Network communication methods covered by this deliverable are network sockets and possibly protocols other than HTTP. This allows a Web application to perform more networking operations (eg. IRC, other instant messaging protocols, Java Message Service and Session Initiation Protocol). Also, it may be necessary to produce documentation for, or a specification of, connection policy and security.
Tentative milestones: First draft of specification during December. Candidate Recommendation 4th quarter of 2006.
This deliverable allows the Web application to store information such as user preferences in a protected area on the client machine. The storage system should have limited capacity and must have a clear security model. This facilitates more advanced Web applications, enabling them to store user preferences and possibly work in an offline environment, such as a laptop or mobile phone with intermittent connectivity.
Tentative milestones: First draft of specification 1st quarter 2006. Candidate Recommendation 1st quarter of 2007.
Currently a W3C Note, the DOM Level 3 XPath specification is a useful component in the W3C's Web application framework. This specification will be returned to the active Recommendation track with any required modifications.
Tentative milestones: Candidate Recommendation 3rd quarter of 2006.
Drag and drop functionality is a well-understood and often used feature in rich applications, but is difficult to implement in Web Applications.
Tentative milestones: First draft of specification 2nd quarter 2006. Candidate Recommendation 2nd quarter of 2007.
Many interactive applications require access to the state of resource downloads (such as embedded media). This information is used to guarantee consistent state (an application might not be able to progress until the image element's data is displayed) or to enhance the user experience (eg. by displaying a progress bar). Due to the difficulties of providing a platform independent specification of this technology, this deliverable may require further investigation and discussion.
Tentative milestones: First draft of specification 2nd quarter 2006. Candidate Recommendation 1st quarter of 2007.
This is a programmatic interface to the functionality provided by
the HTML file
form element. A Web
application may wish to submit data to a Web service, and
requires the user to attach a file. This deliverable will
provide an interface for programmatically attaching a
file in a secure manner (ie. the user must initiate
and control the action, the application does not have
access to the file system or the contents of the file).
Tentative milestones: First draft of specification 1st quarter 2006. Candidate Recommendation 1sst quarter of 2007.
Other, non-prioritized, deliverables include:
This may include a list of technologies to support in order to provide a standard interoperable Web application development platform.
Following the W3C process for specifications.
This may take the form of a weblog or W3C Notes with suggestions and guidelines for developing accessible Web applications.
Given that the rich Web client area is in a phase of rapid development, the Working Group may become aware of the urgent need for standardization of a technology not explicitly listed in this charter, but still in the scope of the Working Group.
Given the broad scope of this Working Group, with deliverables related to many W3C Activities, it will require close coordination with most Working Groups in the W3C Interaction Domain. This would include Web Application Formats, HTML, SVG, CSS, SMIL, Timed Text, Forms, CDF and Math.
The Working Group will also closely coordinate with the DOM Working Group, should the proposal to restart the DOM Activity be approved. The suggested plan is that the DOM Activity will maintain existing DOM Recommendations while the Web API Working Group develops enhancements (some of which may be part of the DOM).
The Working Group will closely coordinate with the W3C Mobile Web Initiative.
The Working Group will also coordinate with the horizontal activities at W3C, especially WAI, Internationalization and Quality Assurance. It will be represented on the Hypertext Coordination Group.
The following is a tentative list of external bodies the Working Group should collaborate with:
The proceedings of this working group are available only to W3C Members.
However, given that this work receives a large amount of interest from the general Web community, much of the existing work is publicly available, some domain experts are Web developers not represented directly by W3C Members and groups covering similar topics at other organizations are public, this Working Group must make an effort to engage in public communication. For example, the Working Group should publish specifications often, send summaries of Working Group activity to a public list and participate in those public lists, responding to comments in a timely manner.
The Web API Working Group shall communicate among its participants using the member-webapi mailing list (Member only).
The Working Group shall also maintain the public-webapi mailing list for public discussion of its work.
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.
Working Group participants are expected to contribute 20% of a Full-Time workload.
The W3C Team will contribute 30% of a Full-Time workload.
Dean Jackson, <dean@w3.org>