The W3C Web API Working Group is chartered to develop standard APIs for client-side Web Application development. This work will include both documenting existing APIs such as XMLHttpRequest and developing new APIs in order to enable richer Web Applications.
This is a placeholder page for the Working Group. We'll soon be setting up a blog here. In the meantime we've included the list of deliverables from the Working Group charter.
- An API specification for HTTP functionality.
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).
- An API specification for a client interface.
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.
-
The DOM Level 3 Events specification (in coordination with a future DOM IG/WG).
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).
- An API specification for timed events.
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
setTimeoutand related methods in modern browsers. This deliverable should begin by documenting existing behavior. Future revisions may define more advanced features in a compatible manner. - API specifications for other network communication methods.
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.
- An API specification for persistent storage on the client.
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.
- The DOM Level 3 XPath specification (in coordination with the DOM IG/WG).
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.
- An API specification for drag and drop.
Drag and drop functionality is a well-understood and often used feature in rich applications, but is difficult to implement in Web Applications.
- An API specification for monitoring the progress of resources as they are downloaded.
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.
- An API specification for file upload.
This is a programmatic interface to the functionality provided by the HTML
fileform 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).
Other, non-prioritized, deliverables include:
- Guidelines for Web applications
This may include a list of technologies to support in order to provide a standard interoperable Web application development platform.
- Interoperability test suites for relevant deliverables.
Following the W3C process for specifications.
- Education and outreach material for Web developers.
This may take the form of a weblog or W3C Notes with suggestions and guidelines for developing accessible Web applications.
- Other items as required.
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.
More details on the Working Group's deliverables and roadmap are found in the charter.
The Working Group values any input from the community regarding its deliverables. Do you think something should be a different priority? Is something missing? Are there any mistakes? Please use the public mailing list (details in the sidebar) to give any feedback.