Honoring Web Standards
Standing on the shoulders of giantsby Joe Honton
Standards make it possible for your software and my software to work together. Standards make it possible for the two of us to envision and deliver software that can be used by some unnamed person on the far side of the world. Standards allow hardware to read, write, execute, and share bits and bytes across devices large and small. And standards allow software created yesterday to work side-by-side with software that won't be finished until tomorrow.
We owe all of this to the dedication of the individuals who put in the effort, who worked to find common ground among divergent specs, who set aside competing visions to work towards unified goals, and who took the time to imagine a future where cooperation wins over competition. So let us recognize the organizations who gave us these gifts, and celebrate their historical achievements.
For those of us involved with internet and web software, the big names are easily identified: IETF, W3C, WHATWG, Ecma, Unicode, and so many more.
Internet Engineering Task Force
The IETF is the premier internet standards body. Its goal can be summed up with the simple slogan: "to make the internet work better". It's been delivering on that lofty goal with amazing success ever since it started, way back in 1986.
The standards it produces are published in the form of memorandums that are referred to as Request for Comments. When working with internet technologies it doesn't take long to stumble across the influence of RFCs. The ubiquitous use of the words
MUST, REQUIRED, SHALL, SHOULD, RECOMMENDED, MAY and
OPTIONAL, which we all recognize, comes from the world of RFCs.
By tradition, RFCs are authored by individuals or small working groups with intimate knowledge of the inner workings of the technology. This is in contrast to the slow, methodical, and often stodgy work of other standards organizations.
Once published, an RFC is never modified, instead amendments are made using a new RFC, thus making the older RFC obsolete, while keeping them forever alive in the archive. At the present time there are over 8700 RFCs.
Many well-known standards have been published by the IETF:
- IP, UDP and TCP: the hidden fundamentals of networking
- DNS: host name addressing
- SMTP: sending and receiving emails
- MIME and URI: identification of resources
- HTTP, FTP and IRC: protocols for hypertext, files and chat
- SSH and TLS: cryptographic safety
World Wide Web Consortium
The W3C is one of the most recognizable names in Web standards, and with good reason. Since 1994 it has served as an open forum for discussions about the Web. It's been the enabling body that has allowed close to 450 member organizations to work together to "lead the World Wide Web to its full potential".
Their premier work is instantly recognizable: CSS, HTML, DOM, XML, SVG. No other standards organization has these credentials. And they're not resting on their laurels. Important standards are now being developed in many evolving areas:
- ARIA: making the web accessible to the broadest set of people.
- WebRTC: real time peer-to-peer video, voice and data.
- OWL, RDFa, JSON-LD, and SPARQL: organizing the semantic web through classification, tagging, linking, and querying.
The W3C advances each candidate from draft to publication by soliciting comments from its member organizations. This careful approach results in a high level of community involvement, and early adoption of key aspects of the spec by the most important implementors. At the present time, the W3C has published more than 1250 working drafts on distinct topics, each potentially heading towards a formal standard.
Andrew S. Tanenbaum famously quipped that "the nice thing about standards is that you have so many to choose from". At the time, this was a not-so-subtle dig at companies that chose to go it alone, setting themselves up as having the standard. But the days of side-by-side competing standards have mostly disappeared, and the W3C has had a lot to do with it.
Web Hypertext Application Technology Working Group
WHATWG is an anomaly. It doesn't produce anything close to the variety or quantity of specs that the big standards organizations do. Instead, it has a single focus: HTML and related technologies.
WHATWG was born out of frustration and political intrigue. In 2004, three of the big browser players — Mozilla, Apple and Opera — became fed up with the W3C's trudging pace and their insistence that HTML must advance along the lines of XML. In response, the new group began work to advance HTML using a different approach, which they termed a "living standard". The result was the wildly successful adoption of HTML5.
WHATWG has continued to innovate through cooperation. With their membership having expanded to include Microsoft and Google, the group has been active in specifying these other key technologies:
- Web Sockets, Web Workers and local storage: extending the scope of HTML beyond its document-centric roots.
- Fetch and CORS: specifying a more robust network model for safe resource retrieval.
- DOM: formalizing and extending the document object model.
For a long time, we lived through dualing HTML standards. In 2019, fifteen years after WHATWG's formation, the W3C finally capitulated, ceding control over HTML to the de facto "living standard".
Ecma International allowed the standard to languish for nearly two decades letting frameworks, libraries, and individual developer efforts be the driving force of innovation. But beginning in 2015, the organization's TC39 committee infused the standards process with vital new energy. Most of their initial efforts were targeted at examining the biggest pain points and co-opting the best solutions available, tweaking them when necessary to fit the language.
EcmaScript has been on a juggernaut course ever since. Most of us who work on web projects owe a great deal of gratitude to the TC39 committee.
Of all the standards organizations, my personal favorite is the Unicode Consortium. Since its inception in 1991 it has had a single goal: to make sure that all of the text on computers for every language in the world is represented. Its work has been published in the eponymous Unicode Standard.
The motivation for creating the standard was the strong bias, in the computer science realm, towards the Latin script and the English language. As computers began to be used beyond the borders of America and Europe, a proliferation of separate code pages were developed to encode diacritics. That was followed by separate standards for encoding Russian, Japanese, Korean, and Chinese. It was obvious that other character encoding challenges would soon follow: the left-to-right writing systems of Hebrew and Arabic; the top-to-bottom writings of East Asian languages; the half-form glyphs of the Indic scripts; and the pictograms of ancient languages.
Undaunted, the Unicode Consortium has tackled all of these challenges. To date there have been thirteen versions of the standard, each fully compatible with the past. This remarkable feat has meant that there are no obsolete code points and no breaking changes.
Today, the Unicode Standard defines more than 150 writing systems, both modern and historic. It is used in documents, stylesheets, scripts, messaging systems, databases, and more. The Unicode Consortium has quietly done more to foster the international spread of web technologies than any other single standards body.
And so many more
There are many other fine organizations that are working to standardize aspects of our work with the internet and the web. I will mention just a few of them to demonstrate their diversity and to honor their contributions:
- The International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) for their wide ranging work on the standardization of computer languages, graphics, audio and video encoding, the Internet of Things, and artificial intelligence.
- The IEEE (always an acronym, rarely spelled out) for their standardization of the Portable Operating System Interface (POSIX), which allows us to use directories and file names and dot-dot notation (
../) interchangeably across all our devices.
- The Open Group for their publication of the Single UNIX Specification, which prevents the many different UNIX-like distros from splintering into unusable fiefdoms.
- The National Institute of Standards and Technology (NIST) for their cryptographic standards: DES, SHA, AES, and HMAC.
World Standards Day is celebrated internationally each year on October 14th. In the bustle of our daily work we seldom take the time to think about the organizations that have contributed so much to our success. Let us pause and give thanks, because we are standing on the shoulders of giants.