[uf-discuss] "authoritative hCards", a simpler proposl

Ryan King ryan at technorati.com
Thu Feb 8 17:20:12 PST 2007

I apologize for being semi-away for awhile.

Catching up in the last few days, I find that there are some  
probelems with the "authoritative hcards" proposals. I've already  
spoken up a bit, but I want to delineate my perspective and outline  
in full my counter-proposal.

First, the problems:

Problem 1: Not tackling the simplest problem first.

Before solving the problem of 'canonical' or 'authoritative' hCards,  
we should solve the problem of 'hcards representing the same person'.  
Before you can have trust you need identity.

Problem 2: Not understanding the scope of XFN.

XFN links apply to entire pages, not parts of pages. This means that  
using XFN links inside multiple hCards on the same page is not  
possible. Therefore, while using XFN's identity consolidation to  
consolidate hCards is useful (and can be used regardless of any other  
mechanisms), it is not sufficient, as it does not allow for the case  
of multiple hCards on a page, nor does it work for Organizations,  
only people.

Problem 3: No analysis of prior art.

Publishers have been using the UID property of hCard to signal  
"another hCard for this one". The hypothesis that's being tested is  
that using URL and UID on the same URL is sufficient for being able  
to connect hCards that represent the same entity.

(As a sidenote, I find that documentation of this experiment is hard  
to come by.)

Problem 4: Not reusing within the format in question.

Reusing properties from other microformats is great and certainly a  
design goal. However, first we must look within a given format to see  
if there's a property that can solve our problem.

Ok, enough of the negative stuff, on to a proposal.

My proposal is that we use UID+URL to hint that there's an hCard on  
the other end of that URL which represents the same entity. Also,  
multiple hCards with the same UID may be considered as representing  
the same entity.

Note that eventful.com is already using this. From http:// 

<div class="location vcard">
  <a rel="bookmark" class="url uid fn org" href="/venues/ 
V0-001-000212939-9">Pacific Science Center</a>
  <div class="adr">
   <span class="street-address">200 Second Ave. N</span><br />
   <span class="locality">Seattle</span>,
   <span class="region">Washington</span>
   <span class="postal-code">98109</span><br />
   <span class="country-name">United States</span>
  <div class="geo">
   <abbr class="latitude" title="47.5839">47.5839</abbr>
   <abbr class="longitude" title="-122.052">-122.052</abbr>

Notice that in the vcard for this location (within an hCalendar  
event), they link to the page for that venue (which contains another  
hCard for that venue).

I propose that this is a simpler solution which will work better.

Also, the algorithm for finding the most authoritative hCard:

1. if no uid or uid == the uid from the previous iteration/recursion  
=> you're done
2. if url == uid and there's an hCard at that url, recurse with the  
new hCard

A similar algorithm could be used to find all related hCards in the  
network, but only if you have access to a database of backlinks.

Ryan King
ryan at technorati.com

More information about the microformats-discuss mailing list