Success and Failure Criteria for IETF Standards

As Erik Duval commented on my recent report on the CETIS Future of Interoperability Standards meeting, “it would be very useful to have more explicit criteria for the success (and, as pointed out in the meeting, for the failure!) of open standards“.

Coincidentally the IETF have recently set up a wiki which aims to summarise successful and unsuccessful IETF standards. The wiki page on Applications Area is the most interesting for me, although the IETF’s views on applications (MIME, IMAP, HTTP, etc.) differs from mine!

The table has a 5-point scale on usage (take-up):

++ :  became an essential capability
+  :  gained significant usefulness
0  :  outcome still pending
-  :  only gained minor usefulness
-- :  complete failure

>  :  prompted extensive derivative work (optional additional ranking)

MIME, POP3 and HTTP seem to be regarded as successful (ranked ++ or ++>) whereas Atom  is only ranked ‘+’ and AtomPub gets a ‘-‘.

In the Web area what might be regarded as the successful and unsuccessful standards? And how do we judge when a standard is successful or unsuccessful?

Success and Failure Criteria for Web Standards

In a previous post I asked “Why Did SMIL and SVG Fail?” These, then, are two standards developed by the W3C which have failed to live up to their expectations and my blog post suggests reasons for such failures. But what general criteria might be used for identifying successful and unsuccessful Web standards? My attempt to seek an answer to this question is to look at some of the standards themselves and to consider whether they might be regarded as successful or unsuccessful and use this as a means of identifying the appropriate criteria.

HTML is clearly a successful W3C standard.  It is widely deployed and has been widely accepted in the market place with a wide range of creation and viewing tools available, both as open source and licensed products.  The HTML standard has also evolved over time, with standards published for HTML 1, HTML 2, HTML 3.2, HTML 4 and XHTML 1, and the HTML 5 standard currently being developed. The XHTML 2.o proposed standard in contrast, illustrates a failed attempt to provide an alternative development path for HTML which addressed shortcomings in the original series of HTML standards by removing the need to provide backwards compatibility with existing standards and viewers.

Observations:  The benefits of simplicity and market acceptance can trump the technical elegance of alternative which do not have a clear roadmap for significant deployment.

CSS is another W3C standard which can be regarded as successful. Unlike HTML, however, it had a somewhat difficult birth, having to compete with presentations tags which became standardised in HTML 3.2 and the flawed support in browsers which were at the time widely deployed (e.g. early version of the Netscape Navigator browser). Despite ongoing support problems (which nowadays relate to versions of the Internet Explorer browser)  CSS is widely regarded as the most appropriate way of described ways in which HTML structural elements should be displayed in a Web browser.

Observations:  Despite an overlong gestation period, standards may eventually become widely accepted.

XML can be regarded as another successful W3C. Interestingly since the XML 1.0 specification was ratified in  February 1998 there have been four further editions which have addressed various shortcomings together with a release of XML 1.1. There have also been two edition of XML 1.1, which provides independence from specific Unicode versions. The W3C Web site states thatYou are encouraged to create or generate XML 1.0 documents if you do not need the new features in XML 1.1; XML Parsers are expected to understand both XML 1.0 and XML 1.1.“.

Obervations: Successful standards may be stable and not require regular developments to provide new features.

The RSS family of standards is somewhat confusing, with RSS having several meanings, with  RDF Site Summary and Really Simple Syndication describing RSS 1.0 and RSS 2.0, which are independently managed forks in the development of the syndication format developed by Netscape and known, at one stage, as Rich Site Summary. The IETF has developed a complementary standard known as Atom, which has attempted to address the confusions caused in the forking of the standard and the uncertainties related to the governance of RSS 1.0 and RSS 2.0.  Despite the confusions behind the scenes RSS is widely accepted as a stable and mature syndication standard, with RSS feeds being provided as standard by many blogging platforms.  RSS is also increasingly used by other applications and development environments, such as Yahoo Pipes!, provide environments for developers to process RSS feeds.

Observations: Despite confusions over the multiple versions and governance, the simplicity provided by RSS has been valuable in its success.

JavaScript was initially developed by Netscape’s. According to Wikipedia the name was chosen as “a marketing ploy by Netscape to give JavaScript the cachet of what was then the hot new web-programming language“). The benefits of a client-side language resulted in Microsoft developing a JavaScript dialect which they called JScript. Eventually JavaScript became standardised under the name ECMAScript, although this name tends not to be widely used. Although in its early days interoperability problems and the lack of support for JavaScript in assistive technologies resulted in professional Web developers tending to avoid use of JavaScript, the popularity of AJAX (Asynchronous JavaScript and XML) in Web 2.0 applications provided tangible usability benefits to end users. With developments such as ARIA which enable usability benefits to be made available to users of assistive technologies we can now regard JavaScript as being a successful standard for the development of usable and interactive Web services.

Observations: Although competition between software vendors may initially result in interoperability problems, such competition may also help to demonstrate that there is a role in the marketplace for a new standard, with interoperability problems being resolved afterwards.

What Does This Tell Us?

HTML, CSS, XML, RSS and JavaScript are all standards which professional Web developers would probably be expected to have expertise in. But the standards themselves have been developed in different ways, with HTML’s developments. But despite the importance of these standards it would appear that there aren’t any clearly identifiable criteria which can be used to establish the reasons for the successes.   And the successes within W3C for HTML, CSS and XML have not been repeated for other W3C standards such as SMIL and SVG. So I have to admit defeat in my attempt to clearly  identify success criteria for Web standards based on a small number of examples – and I haven’t attempted to address the perhaps more contentious issues of the criteria for failed standards.  Can anyone help – or are we condemned to wait for the marketplace to eventually let us know what next year’s failures will be?