[uf-discuss] Some hcard feedback from a vCard implementor

Ryan King ryan at technorati.com
Tue Apr 4 11:38:36 PDT 2006


Hi Sam, welcome to the list!

On Apr 4, 2006, at 10:25 AM, Sam Roberts wrote:

> Hi, I'm the author of Vpim (http://vpim.rubyforge.org), an
> implementation (in progress) of vCard and iCalendar encoding/decoding
> for ruby. Some comments on the hcard specification.
>
> I notice hcard is trying to deduce semantic information from FN,  
> but I'd
> like to convince you this is a Bad Idea.

Don't bother, we already now its a bad idea. The "Implied N  
optimization" only applies in certain cases. In other cases, you can  
specify the N fields. See http://microformats.org/wiki/hcard#Implied_. 
22n.22_Optimization.

> ...
> Couple other thoughts:
>
> - You don't mention internationalization. Its a weakness in vCard. I'd
>   suggest that you specify hcard as being in unicode, with utf-8  
> without
>   a BOM as the preferred encoding.

There's no need to specify an encoding for hcard, that problem is  
deferred to the (x)html layer. Per the parsing document (http:// 
microformats.org/wiki/hcard-parsing), those encodings should be honored.

>   A note on what I've noticed about AddressBook. It sounds like you
>   already noticed that Apple mangles utf-8 on import (I haven't tried
>   utf-8 with a BOM, though). If interop with Apple is something you're
>   looking for, then you need to be either ASCII (or maybe some ancient
>   Mac character set), or else UCS-2. They started adding a BOM to the
>   start of their exported UCS-2 in the last year or so. Putting one in
>   is probably a good idea. I wouldn't try to embed character sets  
> inside
>   the card using parameters, not likely to be very portable.

Actually, we already have compatibility with Apple's Addressbook.app,  
by using UTF-16. I believe newer versions of AddressBook have fixed  
this bug.

> - The spec reads like a bunch of simple examples, not a spec,  
> though the
>   discussion of design principles is nice. hcalendar is even more
>   lacking, its just a cut-n-paste of hcard, with lots of information
>   removed! You won't get good interop without a more detailed spec
>   and great examples.

Hmm, I could consider the simplicity a feature. If there are areas of  
the spec that need more detail, please point them out, but I'm not a  
fan of complexity for its own sake.

>   Maybe I'm just not up on XHTML and the semantic web and the  
> structure
>   of the XML would be clear to me if I was, but I don't see any  
> general
>   process for converting vCard fields into XML. What I'd be looking  
> for
>   to add hcard as an output format for vCard is something like:

Are you looking to convert vCards into generic XML or into hCards?

>   vCard --
>
>     name[;pname=[pvalue[,pvalue]*]]*:value
>
>    ==>
>
>    hcard --
>
> 	<blah class="NAME">
> 	  <span type="pname">pvalue</span>
> 	  value
> 	</blah>
>
>    Followed by the short list of special rules/"optimizations".

I'm not sure what you're asking for here.

> ...
> - Don't make their mistake. Please put at least two examples in your
>   spec: an organization, and an individual. And make them COMPLICATED.
>   Two photos, a bunch of different kinds of addresses, real names
>   (middle names, suffixes, etc.).

I like have the spec simple, we have other space for examples: http:// 
microformats.org/wiki/hcard-examples.

> Final thought - from a programmers point of view, the inconsistency of
> human names and titles may be annoying (who needs multiple last names,
> really?), but thats how people are. Better to embrace something close
> to human conventions from the start than to try and get away with an
> overly simplified model, I think.

Um, actually, I think we are embracing human conventions. If there  
are places where we appear to not being doing so, please speak up.

-ryan
--
Ryan King
ryan at technorati.com


More information about the microformats-discuss mailing list