Decentralized Extensibility Worries the Bejesus Out of Me!

Decentralised ExtensibilityNoah Mendelsohn (an IBM Distinguished Engineer) defines Decentralized Extensibility (DE) in HTML5 as:

“The ability for a language to be extended by multiple parties who do not explicitly coordinate with each other.”

The rationale for DE is that:

“The Web is too big for any central group to invent or cooordinate all needed extensions to languages like HTML”

Indeed, HTML5 supports DE:

“When vendor-neutral extensions to this specification are needed, either this specification can be updated accordingly, or an extension specification can be written that overrides the requirements in this specification. When someone applying this specification to their activities decides that they will recognise the requirements of such an extension specification, it becomes an applicable specification for the purposes of conformance requirements in this specification.”

However, DE has been causing a lot of polarisation with the W3C and the Web Community in general but as of WWW2010 it still seems to be on the cards. Now it seems to me that supporting DE is going to be incredibly difficult, incredibly prone to errors, and incredibly easy to miss-use.

To me this seems to be a way for the big browser manufacturers to cut out the W3C process entirely while still conforming to W3C standards; standards which these manufacturers created. But in reality how can we expect specialist browsers and user agents, and extensions and plug-ins to support these extensions. Indeed, there is no requirement for full specifications of the underlying semantics or functionality to be published. Yet again we allow the possibility of descending back to multiple closed models of the Web as opposed to the open one maintained by universal standards. The W3C process maybe slow but that slowness allows everyone to catch up with the big players who have massive resources to throw at user agent development.

From the authors prospective, why would I write general content using specific extensions only supported by a single browser. The big manufacturers must already know this , and so it seems to me that they are either: (1) gambling on cornering the market and forcing everyone to write for their specific browser; (2) creating the ability to use extensions to their own content which hook into their own browser, or (3) usurping the W3C Standards process. All these seem bad to me for both accessibility and Web ergonomics in general.

But we already have this in the form of microformats, I hear you cry! Microformats have been bubbling under for two to three years, mainly being adopted by researchers and Web specialists, there has not yet been widespread adoption into the general Web building community. They are built using existing standards compliant technology and are intended to solve simple problems without the need for full language and technology redesigns. The formats created are meant to be read by humans (as opposed to semantic technologies) and follow an open and readable format; I think of microformats as RDFa Lite. This means that any application which can understand this microformat could add different presentation and interaction modalities to pages containing any defined microformat. But microformats suffer in similar ways to DE formats in that they are inconsistent between browsers, the lack of a universal standard means most browsers, sites, and proxies don’t handle them, and those that do handle them differently.

I see microformats as an incubator for new ideas which should be included in the next versions of the technology. In this case, the solution to handling DE is to centralise it under a fast W3C Recommendation addendum procedure. This continually chartered activity would look to move extension inclusion submissions to a recommendation addendum in, say, six months. In this way we can get fast turn around of extensions but ones that fit into a universally agreed and implemented specification.

About these ads

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s