[uf-discuss] [Zen of Microformats] Two Fundamental Principles of Information Design

Danny Ayers danny.ayers at gmail.com
Thu Mar 8 11:08:29 PST 2007

On 08/03/07, Scott Reynen <scott at randomchaos.com> wrote:
> On Mar 8, 2007, at 9:04 AM, Ara Pehlivanian wrote:
> > Very clearly articulated. Kudos. I think that the only thing that
> > might be missing there (and maybe I'm just stating the obvious) is the
> > need to express which convention you're applying when using the class
> > value "family-name", i.e. Microformats. That way there won't be any
> > confusion in situations when for example, a product manufacturer
> > releases a list of their products "by family" and marks up their
> > content with the class "family-name", which isn't intended as a
> > Microformat and could be confused by a consuming agent. Perhaps a
> > namespace/schema is required to round off your example.
> >
> > What say you?
> In the HTML examples, we're currently using (or recommending anyway)
> profile URIs for such disambiguation [1], as namespaces are
> "considered harmful" [2].

Hmm, the arguments against namespaces may work in regard to XML/HTML
docs on the web, but "considered harmful" seems a broad stroke
(they're pretty handy in other contexts, like programming languages,
and work a treat in RDF). But the point about reuse of terms is a good

But anyhow, avoidance of naming clashes is the usual argument for
namespaces, in the current context this isn't really an issue, as the
names are determined and shared through convention. But there is a
specific aspect of disambiguation that's worth bearing in mind around
formats - the prevention of name squatting.

An analogous issue appears with "Well-known URLs" such as robots.txt,
the problem summed up by Tim Berners-Lee (on TAG) as:
The architecture of the web is that the space of identifiers on an
http web site is owned by the owner of the domain name. The owner,
"publisher", is free to allocate identifiers and define how they are

Any variation from this breaks the web.

A format like HTML has parts where the publisher can use their own
definitions. But the publisher's freedom is at risk if there are
well-known terms already in the space. Rather than breaking the web,
it's breaking the format.

For example, <div class="family-name">Novak<div> etc. might work fine,
but imagine you later discover an established practice amongst
biologists: <div class="family-name">Microhylidae</div>. Turns out
their existing systems consider your Costellos, Novaks and Smiths as a
classification term, alongside Narrow-mouthed frogs.

This is still really talking about naming clashes, but changes the
emphasis a little. Rather than saying:

'we're ok to create a convention using class="ƒ4m1£¥-n4m3", no-one
will ever use that by accident'

It's taking the responsibility locally by saying:

'we're ok to create a convention using class="family-name" because we
have mechanisms in place that mean other people aren't prevented from
using it for their own purposes'

In HTML, profile URIs are such a mechanism, and preempt such problems.

An additional benefit is that they use the web to good effect - the
URI can be dereferenced and further information obtained.


[1] http://microformats.org/wiki/profile-uris
[2] http://microformats.org/wiki/namespaces-considered-harmful
[3] http://microformats.org/about/

[4] http://www.w3.org/2001/tag/issues.html#siteData-36



More information about the microformats-discuss mailing list