In a move that will likely earn the exultations of many a web developer, the W3C's Web API working group has published the First Public Working Draft of a specification that focuses on what are being called Progress Events.When a web application downloads data on demand, progress events can be used to monitor progress, construct loading bars, and perform operations once data has completed transferring.
The specification does not cover all aspects of the XMLHttpRequest object -- the XMLHttpRequest object is covered thoroughly by a separate specification that recently achieved "Last Call" status -- but the Progess Events 1.0 specification does focus on five events and their corresponding interfaces that are defined for use in AJAX applications.
Without getting into the gory details of the events and their interfaces, just know that when using a Progress Event:
There must be one "start" event
Followed by zero or more "progress" events
Followed by one event which can be of type "error", "abort", or "load" based on the intended outcome of the operation
As can be gathered by the title of the specification, the area of focus is on event types that can be used to monitor the progress of an operation and report feedback to the user. The primary use case is for the transfer of data, a la XMLHttpRequest. However, the working group is quick to point out that the specification is not limited to be being applied to the XMLHttpRequest object.
The creation and maintenance of standards such as the Progress Event and recently announced Last Call Working Draft of XMLHttpRequest bring developers closer to the holy grail of browser compatibility -- assuming the market leading browsers supports the standard. Furthermore, web toolkits such as Google Web Toolkit (GWT) can focus on functionality and not have to devote time and resources to resolving browser incompatibility issues.
Do you have experience in this area? Get involved and let your voice be heard. The specification has been published in order to generate comments from interested and experienced parties. See the working draft document for information on how to submit comments. You are encouraged not to hesitate because the Web API group has set an ambitious goal of achieving "Last Call" status by June 2007.