September 14th, 2010
Complete Web Standards with multiple browser implementations and comprehensive test suites are the backbone of the interoperable Web. Getting web standards through the complete standardisation process and turned into official W3C Recommendations takes a lot of effort. While it is tempting to view the latest editor’s draft of a specification as a “standard”, a large part of the complexity that ensures good interoperability happens in the “last mile”. In the last couple of weeks, several key web specifications have reached important milestones and these examples illustrate how the process works.
Last Call is the signal that the working group believes the spec is functionally complete and is ready for broad review from both other working groups and the public at large. The working group must respond to all the comments received during Last Call and this often results in changes to the specification. A further Last Call could be necessary if the changes are substantial.
Getting to Last Call
Last Tuesday the chairs of the HTML working group announced a provisional time line for preparing the W3C HTML5 specification for Last Call. This has yet to be fully discussed in the working group and so is subject to change but this is the first step to setting out a solid plan for moving HTML5 forward. HTML5 is such a large document that it is going to take time to arrive at consensus on the remaining bugs and issues.
The next day the chairs of the W3C WebApps working group made the Last Call Announcement for DOM Level 3 Events. The previous DOM Events specification became a Recommendation back in November 2000 so the new version has been a long time in the making. Internet Explorer 9 implements the DOM L3 Events specification as we showed on the IE Test Drive site. Although it isn’t strictly necessary for Last Call, we submitted a number of DOM Events tests to the working group for consideration. These are also available on the IE Test Center.
Call for Implementations – Demonstrating Interoperability
Once Last Call is over and the working group has satisfactorily handled all comments they make a request to move to Candidate Recommendation (CR) and the W3C Director issues a Call for Implementations. At this stage, specifications are relatively stable and generally only minor modifications are necessary so web developers can have confidence that browsers supporting these features will have a high level of interoperability. DOM L3 Events should reach CR in the next two or three months.
Moving a specification beyond CR can be a challenge, especially for a large and complex document. As an example, CSS 2.1 first moved to CR in February 2004. In general, the working group must show that each feature of a proposed standard has two or more independent and interoperable implementations. Lack of interoperability often comes about because of ambiguous language in the spec and sometimes changes are required to clarify the language.
There are many sites on the web that claim to test standards support but measuring whether different implementations are truly interoperable requires a comprehensive test suite. For example, the CSS 2.1 test suite contains about 10,000 tests. The test suite validates the quality of the specification text since all requirements must be testable. It also provides a way for browser vendors to test their implementation and achieve unambiguous interoperability.
Proposed Recommendation – the final phase before Recommendation
Last month the W3C CSS working group held a face-to-face meeting in Oslo. During the meeting, the working group agreed to publish the Release Candidate of the CSS 2.1 test suite on September 15 and all the major desktop browsers agreed to publish their results as an implementation report within 1 month (by October 15). Once this is complete, the chairs of the working group will present this evidence to the Director and request that the spec progress to Proposed Recommendation. For CSS 2.1, this should happen by the end of 2010. This is important because most of the new CSS3 modules depend upon CSS 2.1 being complete to make progress.
Proposed Recommendation (PR) is the final step before a web standard becomes an official W3C Recommendation. The W3C Director issues a Call for Review of a Proposed Recommendation to all members of the W3C. When it is clear that there is significant support from the W3C and the general public the Director announces the publication of a W3C Recommendation. All being well, CSS 2.1 should reach Recommendation status early in 2011.
The most important thing the community can do now to make the future of the web better for developers and users alike is to review the W3C HTML5 specifications and submit feedback to the public bug database. If you cannot do this for some reason, send mail to email@example.com where your comments will be recorded as a bug in the database for you.
Update 10/5/10 – adding a link to the HTML working groups public bug database.