Author Archive: Larry Masinter

Testing: The Third Pillar of Standards

Recently, a series of “Test the Web Forward” events have been scheduled to promote getting the community involved in building test cases for important Web standards. A few months ago, I participated in “Test the Web Forward/Paris” in Paris.  The next “Test the Web Forward/Sydney” event is scheduled for February 8th and 9th in Sydney, Australia. These events, held in various cities around the world, are open to everyone who is passionate about Web standards, and bring together developers and standards experts.

Why is testing important? When we think about “standards,” we usually think about the two initial components: (1) specifications — written descriptions about how the standards work, and (2) implementations — software that implements the specification. A suite of test cases becomes an essential link between specifications and implementations.

When it comes to standards and standardization, what people care about is compatibility — the ability to use components from multiple sources with the expectation that those components will work together. This connection is there for all kinds of software standards, whether Application Program Interfaces (APIs), rules for communicating over the network (protocols), computer languages, or smaller component pieces (protocol elements) used by any of those.

On the Web, the APIs are frequently JavaScript, the protocol is often HTTP, and the languages include HTML, CSS, and JavaScript. URLs, host names and encoding labels and MIME types are protocol elements.

The “Create the Web” tour demonstrated the relationship between specification and implementation. “Test the Web Forward” brings in test cases to ensure that the promise of compatibility isn’t empty. Building the global information infrastructure requires a focus not only on new developments, but on compatibility, reliability, performance, and security. The challenge of testing is that the technology is complex, the specifications are new, and the testing needed is extensive.

I encourage everyone who is passionate about the Web and Web standards to attend the “Test the Web Forward” event in Sydney or other related events. Get involved and help make the Web a more interoperable place.

Larry Masinter
Principal Scientist

Governance and standards: Publishing and Linking on the Web

Governance is the process by which society defines expectations, grants power, or verifies performance, through laws, regulations, or other means. Societies govern communication, for example, to support copyright, privacy, or to help manage defamatory or illegal material. As the Internet becomes increasingly central to the way people communicate, it is also increasingly subject to governance.

Unfortunately, a number of problems commonly arise when dealing with governance of the Internet.

Regulations often don’t match the technology. Ordinarily, we use analogies to talk about technology; for example, we talk about “publishing a page”, but the actual process of putting up a web page is very different from physical publishing by making and distributing printed paper. So a rule “It’s okay to read this page, but you can’t make a copy of it” doesn’t acknowledge that, in order to read a page, the bits that make the page must necessarily be copied to the reader’s computer.

Different goals conflict. Law enforcement might require that a site owner keep records of everyone who posts information, in order to be able to track down those who post illegal or defamatory material, while, at the same time, privacy regulation might insist that the same site owner not keep records.

The internet is global, but governance is local. The jurisdiction of law, regulation and social values are geographically based, but the Internet has no simple boundaries. Yet values, regulation, laws from different jurisdictions are inconsistent, and often conflicting. Is it possible to conform to the norms of everyone from a single web site?

Technology standards can help reduce some of the difficulties by providing appropriate terminology, guidance and standards. For example, W3C standards for accessibility have helped reduce some of the unnecessary variability between accessibility guidelines in various countries. In another example, many countries have created regulations and laws that reference common standards for digital signatures of documents, which in turn helps extend the applications that can be supported by electronic communication.

Recently, as a member of the Technical Architecture Group of the World Wide Web Consortium, I’ve been helping produce a First Public Working Draft of a new document called Publishing and Linking on the Web.

This is the first step of getting community consensus on the document and any recommendations. Your thoughts are welcome! Please review the document, share it, discuss it, make comments. Only by discussion can we develop a a common understanding of the alignment of technology and values, and help standards groups, policy makers, and those building new Internet content and services.

 

 

 

Internationalized Resource Identifiers: Standards Progress

The idea of a Uniform Resource Locator (URL) is a key Web innovation: the “hyper” of hypertext. URLs function as a combined locator (how to find it) and identifier (how to name it) for reference to other Internet resources within documents (using hypertext, such as the HyperText Markup Language [HTML]), email, and a variety of other Internet protocols (e.g., the HyperText Transfer Protocol [HTTP]).
 
URLs were designed to be portable and easily transcribed at a time when most computers had very limited support for character sets. As a result, the allowed characters for a URL is limited to a subset of safe characters that are always available, much like identifiers in most programming languages: the ASCII letters, digits, and a few punctuation characters.  However, unlike programming languages, URLs are frequently made visible to users. Web users see and type URLs, and it is common for people to use URLs in advertising, written communication, and spoken announcements.
 
Since most of the world uses languages which are written with characters not allowed in URLs, there has been considerable interest in development of a kind of URL which allows the use of other (“non-ASCII”) characters drawn from Unicode — the standard for representing characters for the world’s languages. This new identifier is called an Internationalized Resource Identifier (IRI); it overlaps the existing URL syntax, based on the idea that some systems might still be URL-only while others might allow IRIs.
 
This was pretty good in theory, but in practice there have been a number of problems: For example, having multiple ways of writing the same identifier can cause security and reliability problems if implementations aren’t uniform. The standard, rather than converging, has undergone some pressure and divergence because of the wide variety of implementations.
 
Work continues to try to bring the concerned implementors together to work out the details and ensure that there is a single standard for IRIs in browsers, email, HTML, plain text, and other contexts. Specifications are developed in the World Wide Web consortium (W3C) and the Internet Engineering Task force. Adobe’s Larry Masinter and Roy Fielding continue to work on the related standards as editors, specification authors and reviewers.

As with most standards, the overall concept is simple; it’s the details that are difficult given that any changes to the core addressing standards for the Web have significant implications for security, reliability, and compatibility with existing deployed systems.