W3C and the Standardisation Process

Steven Pemberton, CWI and W3C, Amsterdam

About me

Researcher at CWI in Amsterdam (first non-military internet site in Europe - 1988, whole of Europe connected to USA with 64kb link!)

Co-designed the programming language ABC, that was later used as the basis for Python

Organised 2 workshops at the first Web conference in 1994

Chaired the first style and internationalization workshops at W3C.

Co-author of HTML4, CSS, XHTML, XML Events, XForms, RDFa, etc

Activity lead of W3C HTML and Forms Activities, co-chair of XHTML2 Working Group


Not your normal standards organisation.

More a distributed software architecture design organisation.

Founded 1994, by Tim Berners-Lee, creator of the Web.

Centres in Boston, South of France, Tokyo. Offices in around 18 other regions.

Around 50 FTE all around the world (not including offices).

More than 110 'recommendations' to its name, Royalty free

Around 400 members from more than 40 countries.

Aim: "leading the web to its full potential"

Working groups (WGs)

Work is done in working groups

They are chartered for a period to produce some technology

Charter delineates what may and may not be done

Charter period can be extended

Group size: a half dozen to 70 or more. Any member may join. Invited experts are possible.

Sweet spot: 12 to 15 members.

Chair, or two, plus team contact


Usually one year

No W3C resources except web space and teleconference bridges

Idea is to develop an area before becoming a WG

Working Group communication


Weekly phone meeting of an hour: time zones are a major challenge.

Three or four Face-to-face meetings (FtF or F2F) per year

More frequently occurring: Virtual Face-to-faces (multi-hour calls, with or without video, and collaboration software).

Web Technology Everywhere

Almost every exchange has a URI: emails, minutes, documents

Almost everything is in HTML; proprietary document types are seriously frowned upon. No MS Word, little PDF, no Powerpoint.

Conference calls

You may think it is a challenge having a meeting with 70 people over the telephone.

You would be right...

Managing conference calls

Principle tool: IRC backchannel with supporting software:

Three agents:

Zakim - phone bridge

RRSagent - minuting

Tracker - Action tracking


Presence management

12:57:01 [Zakim] +Roland_Merrick
12:57:17 [Roland] Zakim, Roland_Merrick is Roland
12:57:17 [Zakim] +Roland; got it
13:04:20 [oedipus] zakim, who is here?
13:04:20 [Zakim] On the phone I see Roland,
    Gregory_Rosmaita, Markus, Steven
13:04:21 [Zakim] On IRC I see alessio, mgylling, Roland, 
    Zakim, RRSAgent, Steven, oedipus, trackbot
14:02:46 [Zakim] Team_(xhtml)13:00Z has ended
14:02:47 [Zakim] Attendees were Roland, Gregory_Rosmaita,
    +, Markus, Steven, Alessio, ShaneM, Tina

Agenda management

15:07:02 <plh> zakim, move to next agendum
15:07:02 <Zakim> agendum 9. "action items" taken up
   [from plh]

Queue management

13:29:35 <ivan> q+
* Zakim sees Bert, ivan in the queue
13:31:42 <koalie> ack bert
13:31:42 <Zakim> Bert, you wanted to note that
    that goes way beyond CSS's interest...

Noise management and muting

zakim, who is noisy?
zakim, mute Steven

Many commands are available using touch tones as well.


Minute taking, and correcting

15:04:14 [oedipus] SP: received a lot of feedback at AC meeting on how should be structured
15:04:31 [Steven] s/feedback/input/

Minutes production and editing

15:05:06 [oedipus] rrsagent, make minutes
15:05:06 [RRSAgent] I have made the request to generate http://www.w3.org/2009/03/26-xhtml-minutes.html oedipus

Off-the-record remarks

15:07:31 [Steven] [off] But don't tell anyone :-)


Action tracking/issue management

14:05:59 [oedipus] ACTION: Gregory - draft example of
    P with prose list and structural list
14:05:59 [trackbot] Created ACTION-65 - - draft example of
    P with prose list and structural list 
    [on Gregory Rosmaita - due 2009-04-02].



Requirements - helps make decisions about features later

Working draft *

Last call → Disposition of comments

Candidate recommendation (CR), tests, implementations

Proposed recommendation (PR), vote


(Later: Proposed edited recommendation, leading to Recommendation again)


Some monolithic

Some modular

Even down to a single attribute

Some specs are non-normative, such as documentation, primers, use cases, guidelines, good usage practices

Dealing with comments

Comments comes from everywhere, not just within W3C

Need a tracking system

Triage of issues: obvious/editorial, research/future, discuss

Deal with easy issues first; try setting timelimits to discussion (eg 5 or 10 minute rule)

Comments that do not include constructive suggestions do not need to be taken as seriously as those that do.

Try to have solutions ready, avoid designing on the fly

Working together

Consensus, straw polls and voting

Don't ask "does everyone agree with that?", but "any objections?"

Don't reopen issues if there is no new information.

Objections are possible; dissenters cannot stop a draft, but it helps not to have any

Use food to get to a conclusion; Use beer (out of hours) to oil the wheels of the group

There will always be difficult people.

Avoid ratholing. Search for compromise. The magic phrase to listen for "I can live with that"

Specification production

Alas no standard method

Each WG chooses its own method


Automatisation or handwork

W3C does have a 'publication format requirements checker'.

Issue Tracking

Likewise, no standard facilities

Various software to help, such as Bugzilla, Jitterbug

Some groups do it by handwork (e.g. text file).


Note that the testing is of the spec, not of the software

No standard methodology

Test generation

Some mechanised approaches


Coordination groups, such as Hypertext Coordination Group, XML Coordination Group

Yearly Technical plenary week, tries to bring as many groups as possible together at one location.

Some coordination going on in the background, such as Backplane Incubator

Some specs develop into more generally applicable technologies, eg XML Events, RDFa

Horizontal Groups



(Usability, device independence)