"uid" microformats? (was Re: [uf-discuss] ISBN mark-up)

Joe Andrieu joe at andrieu.net
Tue Apr 25 22:13:04 PDT 2006


Hello.  I'm new to microformats and a bit confused on how one
disambiguates microformat names. It seems to be somewhat related to the
UID/URI issue. 

I'm not sure I understand all of the subtleties between the spec and
proposals around these concepts, so I may misuse some of these terms.
I'll use UID to mean a unique name, independent of how it my be located.

It appears to me that UID/URIs/URNs have the potential to appear in at
least four ways in relation to a microformat and I'm unclear about how
the four work in current plans.

1. UID/URI that identifies the microformat (class), e.g. vCard, vCoupon

2. UID/URI that identifies the content which /is/ embedded in this
particular microformat (instance)

3. UID/URI that identifies the singular thing which this microformat is
about (primary reference)

4. UID/URI that identifies some feature or element of this microformat
(aditional references)

As an example, here is an mythical hCoupon that uses ISBN as #3, its own
UID "vCoupon" as #1, a UID for this particular coupon as #2 (a GUID),
and URLs to vendors as examples of #4. In theory, such a coupon could be
cut & paste at one of the vendors, ala LiveClipboard. (Alternatively,
the URL to the vendor of course could embed the UID of the coupon, but
that is not shown in this example. And in particular requires a stable
destination URL on the vendors' side.) 

I also took my own suggestion at the end of this email and used it as
the outmost DIV.


<div class="microformat" uid="hCoupon"
href="http://www.joeandrieu.com/hCoupon">
 <div class="hCoupon" uid="{D5BCEF02-0968-4295-A200-3C4563237DA3}"
 href="http://www.joeandrieu.com/MemorialDayCoupon">
  <div class="advertisement">
   <h1>Celebrate Memorial Day and Buy This Book!</h1>
   <h2 class="title">Heller is Brilliant!</h2>
One of the defining anti-war books of the 20th Century. Buy it now as
part of the Memorial Day Weekend rememberance special!<p>
  </div>
  <div class="msrp" currency="USD" amount="16">Retail price:
  $16.00</div>
  <div class="price" currency="USD" amount="10">Buy with this coupon
  only $10.00!</div>
Valid from <span class="startdate" abbr="2006:04:20">April 20,
2006</span> to <span class="expirydate" 
abbr="2006:04:20">May 29, 2006</span>.
  <div class="product" type="book" uuid:ISBN="0684833395">
   <h3 class="title" >Catch-22</h3>
   by <span class="author">Joseph Heller</span>.<p>
  </div> 
Buy today at  <a class="vendor"
href="http://www.amazon.com/gp/product/0684833395">Amazon</a> or 
 <a class="vendor"
 href="http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0684833395">Barnes
 and Noble</a>
  <div class="promoter">
This coupon provided by
   <div class="vcard">
    <a class="url fn" href="http://www.joeandrieu.com">Joe Andrieu</a>
    <div class="org">Bob's Promotions Co</div>
   </div>
     <h1>This coupon an example only. Not valid for purchase.</h1>
 </div>
</div>


The UID of the coupon itself would/could be produced in real-time,
referencing a unique offer.

One could also have provided a UID or base URL for the vendors instead
of or perhaps in addition to the deep link offered here. That would
allow automation to perhaps engage with those vendors in a more
appropriate way (they don't really need the human-readable sales page).

In thinking about this example, it comes to mind that relying on a
simple text name like "hCoupon" as the distinguishing name of a
microformat is a bit dangerous.

If we are looking at the long picture, across decades and cultures, it
is easy to see hCoupon being overwritten by somebody or something in a
particular domain.  For all we know, this could be happening right now.
vCard is well entrenched, but hCoupon???  

Microformats seem to be of limited use if they can only be applied to
items that are based on formal standards. I know that a principle of
microformats is to "reuse building blocks from widely adopted standards"
but if microformats are going to take off, shouldn't there be a way to
disambiguate inevitable conflicts? 

How do microformats scale?

As microformats gain momentum, won't there be competing microformats? 
How does one say "I mean /that/ version of hCoupon"?  Alternatively, who
is to say which version of hCoupon is valid?  Who is the registrar? The
owners of microformats.org? If no registrar, then don't we need
something like both a UID and a URI in the microformat?

In a similar pattern, with XML, you always state the DOCTYPE as the
first line of the document.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

By my interpretation that has both a format UID and a locator URI for
that format.  Shouldn't there be a similar disambiguation for the
microformat class one is using?

This seems related to namespaces and I know only that they caused some
challenges with RDF...

Does it make sense for a microformat to actually label itself as such,
including a UID and a URI? 

<div class="microformat" uid="hCoupon"
href="http://www.joeandrieu.com/hCoupon">

or is the critical value of microformats linked to the implied
simplicity of reducing that entire line to
<div class="hCoupon">?

I certainly wouldn't want to label every element of a microformat with
the UID and URI, but couldn't composite microformats do it once and have
the URI refer to a DTD-equivalent that specifies the UID and URL for any
embedded microformats in the composite?

I'm not sure if I am misunderstanding the current plans for microformats
or if this is still an open issue.  I'd appreciate any feedback or
clarification.

-j
-- 
Joe Andrieu
joe at andrieu.net
+1(805)705-8651



More information about the microformats-discuss mailing list