<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PhilipAshlock</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PhilipAshlock"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/Special:Contributions/PhilipAshlock"/>
	<updated>2026-04-15T15:27:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=8370</id>
		<title>hcard-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=8370"/>
		<updated>2006-07-11T00:17:59Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Spam prevention */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; hCard Brainstorming &amp;lt;/h1&amp;gt;&lt;br /&gt;
This page is for brainstorming about various uses and details of [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Authors ==&lt;br /&gt;
* [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
* [http://tantek.com/log/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [[User:Atamido|Atamido]]&lt;br /&gt;
* [[User:ChrisMessina|ChrisMessina]]&lt;br /&gt;
* [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
* ...&lt;br /&gt;
* ... and many others&lt;br /&gt;
&lt;br /&gt;
== Problems Being Solved ==&lt;br /&gt;
&lt;br /&gt;
Some of the problems that [[hcard|hCard]] helps to solve:&lt;br /&gt;
&lt;br /&gt;
* having to enter business cards that go out of date (subscribe to someone's syndicated [[hcard|hCard]] instead).&lt;br /&gt;
* annoying &amp;quot;update your contact info&amp;quot; email from various centralized contact info services&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* See [[hcard-examples]], which provides several illustrative instructive examples, as well as 1:1 hCard examples for each example in [http://www.ietf.org/rfc/rfc2426.txt RFC 2426].&lt;br /&gt;
&lt;br /&gt;
=== Using RFC2806 with hCard ===&lt;br /&gt;
&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2806.txt RFC 2806] defines the telephone scheme &amp;quot;tel:&amp;quot;, &amp;quot;fax:&amp;quot; and &amp;quot;modem:&amp;quot; to handle phone communications with URIs in the same way, &amp;quot;mailto:&amp;quot; is defined for email. It's part of the list or registered schemes by IANA : [http://www.iana.org/assignments/uri-schemes Uniform Resource Identifier (URI) SCHEMES]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
tel   telephone [RFC2806]&lt;br /&gt;
fax   fax       [RFC2806]&lt;br /&gt;
modem modem     [RFC2806]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is practical to write your tel number like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or even&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;Mr Smith's phone&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add support for &amp;quot;tel:&amp;quot; to your desktop and to your browser&lt;br /&gt;
&lt;br /&gt;
* For Gnome, edit ~/.gnome/Gnome and add something to the URL Handlers section. (Dan Connolly uses this to get galeon to launch telnum from [http://dev.w3.org/cvsweb/2001/telagent/ telagent sources] for tel URIs)&lt;br /&gt;
* In Mozilla, [http://dizzy.mozdev.org/ Dizzy]&lt;br /&gt;
* In Internet Explorer, [http://msdn.microsoft.com/workshop/networking/pluggable/overview/overview.asp Asynchronous Pluggable Protocols]&lt;br /&gt;
&lt;br /&gt;
On the CSS front… You could for example add automagically an icon. I have put the property !important for those who wants to add it to their own stylesheet in their browsers, so they know type of links when browsing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
a[href^=&amp;quot;tel:&amp;quot;]:before {&lt;br /&gt;
    content: '\260f  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&lt;br /&gt;
a[href^=&amp;quot;mailto:&amp;quot;]:before {&lt;br /&gt;
    content: '\2709  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Encoding &amp;quot;modern&amp;quot; attributes ==&lt;br /&gt;
&lt;br /&gt;
Since vCard was first established, various interactive communication technologies and addressing schemes have been widely adopted.  Although there aren't specific properties for these technologies / addressing schemes, they can be captured as URLs or email addresses.&lt;br /&gt;
&lt;br /&gt;
This has now been written up for the most part. See:&lt;br /&gt;
&lt;br /&gt;
http://microformats.org/wiki/hcard-examples#New_Types_of_Contact_Info&lt;br /&gt;
&lt;br /&gt;
Still to be addressed:&lt;br /&gt;
&lt;br /&gt;
* iChat mac.com  addresses, simply store &amp;quot;@mac.com&amp;quot; email addresses, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:steve@mac.com&amp;quot;&amp;amp;gt;...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* MSN Instant Messenger, you can simple store &amp;quot;@hotmail.com&amp;quot; or &amp;quot;@msn.com&amp;quot; or &amp;quot;@passport.com&amp;quot; email addresses.&lt;br /&gt;
* Internet Relay Chat (IRC), use &amp;quot;irc:&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
== CSS Styles ==&lt;br /&gt;
Not only can you create semantics with the hCard values, but you can add CSS styles to them as well. You are free to style the terms in any way you want, but here we can list a few ideas for how to style terms.&lt;br /&gt;
&lt;br /&gt;
If you want to encode hCard data, but do NOT want to display it in the HTML code, then you can hide that tag in CSS with the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display: none&amp;quot;&amp;gt;Hidden Data&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Transforming applications will still find the data and use it when converting hCards to vCards.&lt;br /&gt;
&lt;br /&gt;
== Auto-Discovery ==&lt;br /&gt;
There is currently a debate over the best way to add an auto discovery link to your HTML to extract the vCard.&lt;br /&gt;
&lt;br /&gt;
On the page with the hCard encoding, the best link would be as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/vcard&amp;quot; href=&amp;quot;...&amp;quot; /&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
this HTML page is an alternate view of the vCard.&lt;br /&gt;
&lt;br /&gt;
[[User:EtanWexler|EtanWexler]] disagrees with the value of the “type” attribute. The [http://www.iana.org/ Internet Assigned Numbers Authority] has no registration for a “text/vcard” type. The [http://www.iana.org/assignments/media-types/text/ registered and appropriate type] for vCard entities is “text/directory”, as defined in Internet RFC 2425, “[http://www.rfc-editor.org/rfc/rfc2425.txt A MIME Content-Type for Directory Information]”. RFC 2426, “[http://www.rfc-editor.org/rfc/rfc2425.txt vCard MIME Directory Profile]”, specifies the vCard profile for “text/directory” entities, which profile the MIME/HTTP header field “Content-Type” would indicate with a “profile” parameter whose value is “VCARD”. It is unclear whether the HTML/XHTML “type” attribute allows values with parameters. On 2004-05-23, [http://bjoern.hoehrmann.de/ Björn Höhrmann] sent to the [http://www.w3.org/2002/05/html/charter HTML Working Group] a [http://www.w3.org/mid/40ccdc4d.97400945@smtp.bjoern.hoehrmann.de request for clarification] on the issue.&lt;br /&gt;
&lt;br /&gt;
When on a different page, referencing that encoded page in the href would ''not'' be an alternate view of the current page. So a different rel type must be established to decribe that relationship. The ideas vary from specific to vague. The list and categories follow:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
rel=&amp;quot;contactinfo&amp;quot;&lt;br /&gt;
rel=&amp;quot;profile&amp;quot;&lt;br /&gt;
rel=&amp;quot;author&amp;quot;&lt;br /&gt;
rel='PIM'&lt;br /&gt;
rel='person'&lt;br /&gt;
rel='about'&lt;br /&gt;
rel='contact'&lt;br /&gt;
rel='hcard'&lt;br /&gt;
rel='microformat'&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of mixing two rel types to a single page.&lt;br /&gt;
rel=&amp;quot;hcard xfn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: using rel=&amp;quot;vcard&amp;quot; indicates a link directly to a vCard. If the document links to an hCard instead, the indication is untrue and inappropriate.&lt;br /&gt;
&lt;br /&gt;
=== Auto-Discovery for XFN ===&lt;br /&gt;
&lt;br /&gt;
An author will typically their XFN information on a specific page, rather than all pages.  In particular, a specific page separate from the home page of their blog, and thus it would be useful to have an explicit rel value to assist in auto-discovery of XFN information.&lt;br /&gt;
&lt;br /&gt;
This was suggested by Jens Alfke on 20050606 at the WWDC blogger's dinner.&lt;br /&gt;
&lt;br /&gt;
== geo improvements ==&lt;br /&gt;
&lt;br /&gt;
These improvements apply to both [[geo]] and [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
I (Tantek) have seen examples of where there is a human viewable/clickable presentation of a point on a map, and the desire to include the machine readable geo information with the same element, e.g. something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;machine-readable-geo-info&amp;quot;&amp;gt;&lt;br /&gt;
 human readable/clickable point on a map&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But to do this we must specify a syntax for putting both the latitude and longitude into the title attribute as the machine-readable-geo-info.&lt;br /&gt;
&lt;br /&gt;
Fortunately, there already is a syntax for that, in vCard RFC 2426 3.4.2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   Type value: A single structured value consisting of two float values&lt;br /&gt;
   separated by the SEMI-COLON character (ASCII decimal 59).&lt;br /&gt;
&lt;br /&gt;
   Type special notes: This type specifies information related to the&lt;br /&gt;
   global position of the object associated with the vCard. The value&lt;br /&gt;
   specifies latitude and longitude, in that order (i.e., &amp;quot;LAT LON&amp;quot;&lt;br /&gt;
   ordering).&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
   Type example:&lt;br /&gt;
&lt;br /&gt;
        GEO:37.386013;-122.082932&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;37.386013;-122.082932&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I think this is pretty much a no-brainer, because the rules for parsing &amp;quot;geo&amp;quot; are simply altered to:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== latitude longitude shorthand ===&lt;br /&gt;
&lt;br /&gt;
If a &amp;quot;geo&amp;quot; property lacks explicit &amp;quot;latitude&amp;quot; and &amp;quot;longitude&amp;quot; subproperties, then the &amp;quot;geo&amp;quot; property is treated like any other string property  (e.g. following rules for parsing &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;img alt&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; etc.), where that string value has the same literal syntax as specified in RFC 2426 section 3.4.2: single structured value consisting of two float values separated by the SEMI-COLON character (ASCII decimal 59), specifying latitude and longitude, in that order.&lt;br /&gt;
&lt;br /&gt;
=== geo links ===&lt;br /&gt;
&lt;br /&gt;
In addition, people may publish Google Maps links like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://maps.google.com/maps?q=37.386013+-122.082932&amp;quot;&amp;gt;this spot&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(N.B. I tried and failed to get Yahoo Maps and local to do something intelligent with both &amp;quot;37.386013;-122.082932&amp;quot; and &amp;quot;37.386013 -122.082932&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Is it worth permitting this to be a geo as well?&lt;br /&gt;
&lt;br /&gt;
I'm raising this to make sure it is considered.&lt;br /&gt;
&lt;br /&gt;
However, my first guess is NO for two reasons.&lt;br /&gt;
&lt;br /&gt;
# No such examples in the wild have been documented or seen as of yet (I certainly haven't seen any).&lt;br /&gt;
# It would involve additional parsing requirements which are almost certainly going to be site/domain specific, and encoding a particular site's query parameter syntax into a format seems like a bad idea (against principle of decentralization).  &lt;br /&gt;
&lt;br /&gt;
This could be mitigated if mapping services would simply accept the literal vCard GEO syntax &amp;quot;37.386013;-122.082932&amp;quot;, e.g. http://maps.google.com/maps?q=37.386013;-122.082932 (which currently doesn't work) then we could make a simple rule such as for hyperlinks, parse the href attribute for a geo value at the end of the href, delimited before the value by a &amp;quot;=&amp;quot; (or perhaps &amp;quot;/&amp;quot; for services that use friendlier URLs).&lt;br /&gt;
&lt;br /&gt;
=== altitude ===&lt;br /&gt;
&lt;br /&gt;
Some folks have asked for &amp;quot;altitude&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
&lt;br /&gt;
=== radius/zoom ===&lt;br /&gt;
&lt;br /&gt;
Kevin Marks has asked for &amp;quot;radius&amp;quot; or &amp;quot;zoom&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
=== ISO6709 ===&lt;br /&gt;
There is a description method for geographic coordinates named [http://en.wikipedia.org/wiki/ISO_6709 ISO6709] though some differs from the notation of vCard.&lt;br /&gt;
It can describe latitude and the longitude.  Height is optional.&lt;br /&gt;
If ISO6709 is used, it is likely to be able to write as follows. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
examples&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+37.386013-122.082932/&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+275916+0865640+8850/&amp;quot;&amp;gt;&lt;br /&gt;
 Mount Everest&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Issues with vCard Applications ==&lt;br /&gt;
See [[vcard-implementations]].&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
Q: since many of the components would be using CSS classes for encoding data, it is possible to MIX two different profiles. (e.g. hCard and XFN) There are no real constraints on where/how to enforce class names, these are based on the html profile, since it is difficult to associate the text within the attribute to a specific profile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;a href=&amp;quot;mailto:joe.smith@example.com&amp;quot; class=&amp;quot;fn&amp;quot; rel=&amp;quot;met&amp;quot;&amp;gt;Joe Smith&amp;lt;/a&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
Q: Preserving White space? Should the transforming applications preserve extra white space characters? For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://mywebsite.com/&amp;quot; class=&amp;quot;fn n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;other-names&amp;quot;&amp;gt;Q.&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Public&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When transformed into a vCard, the N property will pick apart the span tags and create the value for N correctly seperated by colons. The FN property will take a string and simply display it. There are two possible renderings for FN:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
John Q. Public&lt;br /&gt;
&lt;br /&gt;
    John&lt;br /&gt;
    Q.&lt;br /&gt;
    Public&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Either the white-space is preserved or it is not. Which should the transforming applications render?&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
A: The parsing application should follow the white space collapsing rules of the mime type it retrieves.  I.e. if it retrieves a &amp;quot;text/html&amp;quot; document, it should do HTML white space collapsing.&lt;br /&gt;
&lt;br /&gt;
-- [http://tantek.com/log/ Tantek]&lt;br /&gt;
&lt;br /&gt;
Many of the Questions and Answers are relevant to both [&amp;quot;hCal&amp;quot;] and hCard.&lt;br /&gt;
&lt;br /&gt;
Q: Would it be appropriate to wrap the name of the vCard owner with &amp;lt;dfn/&amp;gt;? This may give the hCard some added semantic value in the XHTML document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;agent&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;email&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;a class=&amp;quot;internet&amp;quot; href=&amp;quot;mailto:jfriday@host.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dfn&amp;gt;&lt;br /&gt;
       &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Joe Friday&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/dfn&amp;gt;&lt;br /&gt;
   &amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Area Administrator, Assistant&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
-- [http://www.ben-ward.co.uk/ Ben Ward]&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
Applications that are hCard aware or can convert hCard to vCard formats.&lt;br /&gt;
&lt;br /&gt;
=== Copy hCards favelet(s) ===&lt;br /&gt;
* I think a Favelet would work nicely here. When you find a page that is hCard friendly, you click the favlet and you get yourself a vCard. This is done!  See X2V in the implementations section of the [[hcard|hCard]] spec.&lt;br /&gt;
&lt;br /&gt;
=== Distributed Commentor Icons ===&lt;br /&gt;
&lt;br /&gt;
* See [http://thedredge.org/2005/06/using-hcards-in-your-blog/ using hCards in your blog] for an example of hCards used for comment authors (commentors).  The system used there, &amp;quot;Gravatars&amp;quot;, is a centralized site that serves commentor icons that requires login etc.  &lt;br /&gt;
&lt;br /&gt;
What if we gave each commentor the option of hosting their own icon?&lt;br /&gt;
&lt;br /&gt;
A distributed commentor icon implementation could work like this:&lt;br /&gt;
&lt;br /&gt;
# Given the URL of a commentor, look for an &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element with classname of &amp;quot;vcard&amp;quot; at the commentor's URL.  The &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element is supposed to be the contact information for the page (see [[hcard-faq|hCard FAQ]] for more info), so this makes sense.&lt;br /&gt;
# Next, look for the first element inside that hcard that has a classname of &amp;quot;logo&amp;quot;.&lt;br /&gt;
# Hopefully that element is an &amp;lt;code&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/code&amp;gt;, and if so, use its src to get the commentor's icon.&lt;br /&gt;
# Presto.  You've got distributed commentor icons!&lt;br /&gt;
&lt;br /&gt;
== Spam prevention ==&lt;br /&gt;
hCard uses &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links, and therefore&lt;br /&gt;
it automatically &amp;quot;inherits&amp;quot; the disadvantage of &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links:&lt;br /&gt;
These links can be easily detected by emails spiders (used by spammers).&lt;br /&gt;
&lt;br /&gt;
Email addresses are picked up like any other link crawled by a search engine and trustworthy crawlers may be deterred from adding emphasis while indexing these links by including rel=&amp;quot;nofollow&amp;quot; (See [[rel-nofollow]]). However, email addresses used for spam are crawled by email spiders which will likely ignore this attribute.&lt;br /&gt;
&lt;br /&gt;
There are ways to prevent email address detection by simple email spiders, while&lt;br /&gt;
still retaining full compatibility with (X)HTML applications.&lt;br /&gt;
One common way is to &amp;quot;encode&amp;quot; the the &amp;quot;m&amp;quot; of &amp;quot;mail&amp;quot; and &amp;quot;@&amp;quot; with character entities, yet it's unwise to follow a convention of only encoding specific characters because the email spiders can pick up on this too:&lt;br /&gt;
&lt;br /&gt;
Example of the original link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:john.smith@example.com&amp;quot;&amp;gt;john.smith@example.com&amp;lt;/a&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of the &amp;quot;encoded&amp;quot; link (with rel-nofollow added):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;e&amp;amp;amp;#109;ail&amp;quot; rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;&amp;amp;amp;#109;ailto:john.smith&amp;amp;amp;#064;example.com&amp;quot;&amp;gt;john.smith&amp;amp;amp;#064;example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simple email spiders which do not do character entity decoding will therefore not be able to find your email address.&lt;br /&gt;
&lt;br /&gt;
''Note:'' Perhaps there are or will be email spiders which can decode entities, so the this technique will only help with some (cheap) email spiders.&lt;br /&gt;
(See also: http://rbach.priv.at/Misc/2005/EmailSpiderTest)&lt;br /&gt;
&lt;br /&gt;
=== Other prevention methods to consider ===&lt;br /&gt;
* Using server-side code to implement character entities randomly&lt;br /&gt;
* Displaying the address in a way thought to be only human readable (thus breaking the link):&lt;br /&gt;
** Using an image instead of text (could still be machine readable using OCR)&lt;br /&gt;
** Using human readable text that conveys the need for editing before use (eg PLEASE-NO-SPAM_name@example_NO-SPAM.com)&lt;br /&gt;
* Using javascript for client-side decryption of an encrypted address (requires javascript to be enabled)&lt;br /&gt;
* Pointing to an email form or other URL instead of an email address&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* How to hCard encode entries in Popular blog software.&lt;br /&gt;
* Good reasons to publish your hCard&lt;br /&gt;
** as a business, get people to put you in their address book so they'll find you later&lt;br /&gt;
** as a business with an email list, get people to add you (with email address) to their address book so that your email list works via whitelisting via the address book.&lt;br /&gt;
&lt;br /&gt;
== Parsing ==&lt;br /&gt;
See separate [[hcard-parsing|hCard parsing]] page.&lt;br /&gt;
&lt;br /&gt;
== Post vCard additions ==&lt;br /&gt;
&lt;br /&gt;
Some have found vCard to be limiting in terms of the data/properties/fields they want to express in contact information.  Some implementations use vCard extensions to express such information.&lt;br /&gt;
&lt;br /&gt;
This section is for documentation of such suggested additions.  Note, we will require empirical evidence of actual *real world* examples on the Web of people publishing this information as part of contact information, before considering such additions/extensions.&lt;br /&gt;
&lt;br /&gt;
* altitude. From [[hcard-issues]].&lt;br /&gt;
** No evidence provided that contact information on the Web publishes this information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* The [[hcard-profile]] needs verification and perhaps a URL for retrieving the actual XMDP, rather than as &amp;amp;lt;pre&amp;amp;gt; text on a wiki page.&lt;br /&gt;
* Complete translating the examples from the vCard spec into hCard, and place them on a separate hCard examples page.&lt;br /&gt;
* Create a &amp;quot;rich&amp;quot; but realistic hCard example, say for example for a salesperson, who wants to put a whole bunch of contact information on their website in order to be found/contacted easily.&lt;br /&gt;
* Provide examples of how to encode instant messaging (IM) accounts. Figure out what would the mailto: or aim: URL in hCard look like in vCard. And take a look at what vCard applications do today with IM addresses.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2426.txt RFC 2426] vCard RFC&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2397 RFC 2397] data URI RFC&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.imc.org/pdi/ Personal Data Interchange (PDI) at the Internet Mail Consortium]&lt;br /&gt;
* [http://tantek.com/log/2004/07.html#d27t1049 Markup language design notes]&lt;br /&gt;
* [http://tantek.com/log/2002/12.html#L20021216t2238 A Touch of Class]&lt;br /&gt;
* [http://www.icao.int/mrtd/download/technical.cfm ICAO - Machine Readable Travel Documents format]&lt;br /&gt;
&lt;br /&gt;
== Other Implementations/Ideas ==&lt;br /&gt;
* [http://www.w3.org/TR/2001/NOTE-vcard-rdf-20010222/ Representing vCard Objects in RDF/XML] This could allow conversion of vCard data from XHTML to RDF and from RDF to XHTML&lt;br /&gt;
* It would also be possible to convert XFN and hCard to FoaF and back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ambiguous name components ==&lt;br /&gt;
&lt;br /&gt;
When automatically publishing hCards from pre-existing data, it's not necessarily possible to tell which words in a name map to which hCard properties. When the structure of a name is unknown, it is hard to ensure an automatically published hCard remains valid.&lt;br /&gt;
&lt;br /&gt;
There's currently no easy answer to this.&lt;br /&gt;
&lt;br /&gt;
One implementation suggestion is a 'best-guess' algorithm, something along the lines of:&lt;br /&gt;
&lt;br /&gt;
# If the name is one word, attempt [[hcard#Implied_.22nickname.22_Optimization|implied nickname optimization]]&lt;br /&gt;
# If the name is two words, attempt [[hcard#Implied_.22n.22_Optimization|implied n optimization]]&lt;br /&gt;
# For three or more words&lt;br /&gt;
## Perform a lookup against known sub-name combinations (e.g. 'Sarah Jane', 'Vander Wal')&lt;br /&gt;
## Apply the grammar &amp;quot;given-name additional-name(s) family-name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The principal behind this suggestion is that it's better to make a good guess and potentially miscategorize an ambiguous name component than to generate an invalid hCard.&lt;br /&gt;
&lt;br /&gt;
== Accepted Suggestions ==&lt;br /&gt;
&lt;br /&gt;
=== Encoding Company data as a Business Card (proposal) ===&lt;br /&gt;
&lt;br /&gt;
( Accepted: http://microformats.org/wiki/hcard#Organization_Contact_Info )&lt;br /&gt;
&lt;br /&gt;
In the wild there are several hCards that do not currently validate because they are businesses that have omitted the &amp;quot;fn&amp;quot; property in favor of the &amp;quot;org&amp;quot; property.&lt;br /&gt;
&lt;br /&gt;
Proposal: hCards representing a business or organization MUST set fn AND org to the same value.  Parsers may then use this equivalence, if detected, to treat an hCard as the contact info for a business or organization rather than an individual.&lt;br /&gt;
&lt;br /&gt;
Note that [http://microformats.org/wiki/vcard-implementations#organization_vs._individual Apple Address Book supports this semantic when importing vCards].&lt;br /&gt;
&lt;br /&gt;
See the [http://technorati.com/about/contact.html Technorati Contact Info] for an example.&lt;br /&gt;
&lt;br /&gt;
=== Implied &amp;quot;FN and N&amp;quot; Optimization (proposal) ===&lt;br /&gt;
&lt;br /&gt;
Right now a parser first looks for an &amp;quot;n&amp;quot; element.&lt;br /&gt;
&lt;br /&gt;
And then if no &amp;quot;n&amp;quot; is present, look for an &amp;quot;fn&amp;quot; element to use to imply an &amp;quot;n&amp;quot; element per the &amp;quot;implied n property&amp;quot; rules in the spec.&lt;br /&gt;
&lt;br /&gt;
BACKGROUND:&lt;br /&gt;
&lt;br /&gt;
Due to the prevalence of the use of &amp;quot;nicknames&amp;quot; or &amp;quot;handles&amp;quot; on the Web, in actual content published on the Web (e.g. authors of reviews), there has been a discussion about adding a &amp;quot;fn&amp;quot; shortcut to the &amp;quot;n&amp;quot; shortcut that used the &amp;quot;nickname&amp;quot; as a fallback.&lt;br /&gt;
&lt;br /&gt;
PROPOSAL:&lt;br /&gt;
&lt;br /&gt;
We should consider adding one more implied optimization after the steps documented above and that is:&lt;br /&gt;
&lt;br /&gt;
If no &amp;quot;fn&amp;quot; is present either, then look for a &amp;quot;nickname&amp;quot; element to use to imply both the &amp;quot;fn&amp;quot;, and the &amp;quot;n/given-name&amp;quot;, leaving the &amp;quot;n/family-name&amp;quot; as empty.&lt;br /&gt;
&lt;br /&gt;
This would enable &amp;quot;nickname&amp;quot; only hCards for denoting and individual on a website, which is quite common on blogs and reviews published on the Web.&lt;br /&gt;
* +1 [[User:Atamido|Atamido]]&lt;br /&gt;
* +1 [[User:ChrisMessina|ChrisMessina]] - note: multiple alternate nicknames should also be allowed&lt;br /&gt;
* +1 [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rejected Suggestions ==&lt;br /&gt;
&lt;br /&gt;
Suggestion: ''The use of class=&amp;quot;url&amp;quot; on an &amp;lt;a&amp;gt; tag to represent an hCard URL property is redundant. By virtue of the &amp;lt;a&amp;gt; tag you know this is a URL.''&lt;br /&gt;
&lt;br /&gt;
Rejected.  This is a bad suggestion because although it appears to reduce redunancy and keep things cleaner, it also creates a few problems. Without explicitly noting that this is a URL then any &amp;lt;a&amp;gt; tags within a 'vcard' would be considered a URL, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;ul class=&amp;quot;categories&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://w3c.org&amp;quot;&amp;gt;W3C&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is no way to &amp;quot;turn-off&amp;quot; the encoding of the W3C URL, whereas if &amp;quot;url&amp;quot; needed to be explicitly listed in the class attribute list, then by NOT listing it you could effectively turn it off.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=7270</id>
		<title>hcard-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=7270"/>
		<updated>2006-07-11T00:02:57Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Spam prevention */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; hCard Brainstorming &amp;lt;/h1&amp;gt;&lt;br /&gt;
This page is for brainstorming about various uses and details of [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Authors ==&lt;br /&gt;
* [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
* [http://tantek.com/log/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [[User:Atamido|Atamido]]&lt;br /&gt;
* [[User:ChrisMessina|ChrisMessina]]&lt;br /&gt;
* [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
* ...&lt;br /&gt;
* ... and many others&lt;br /&gt;
&lt;br /&gt;
== Problems Being Solved ==&lt;br /&gt;
&lt;br /&gt;
Some of the problems that [[hcard|hCard]] helps to solve:&lt;br /&gt;
&lt;br /&gt;
* having to enter business cards that go out of date (subscribe to someone's syndicated [[hcard|hCard]] instead).&lt;br /&gt;
* annoying &amp;quot;update your contact info&amp;quot; email from various centralized contact info services&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* See [[hcard-examples]], which provides several illustrative instructive examples, as well as 1:1 hCard examples for each example in [http://www.ietf.org/rfc/rfc2426.txt RFC 2426].&lt;br /&gt;
&lt;br /&gt;
=== Using RFC2806 with hCard ===&lt;br /&gt;
&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2806.txt RFC 2806] defines the telephone scheme &amp;quot;tel:&amp;quot;, &amp;quot;fax:&amp;quot; and &amp;quot;modem:&amp;quot; to handle phone communications with URIs in the same way, &amp;quot;mailto:&amp;quot; is defined for email. It's part of the list or registered schemes by IANA : [http://www.iana.org/assignments/uri-schemes Uniform Resource Identifier (URI) SCHEMES]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
tel   telephone [RFC2806]&lt;br /&gt;
fax   fax       [RFC2806]&lt;br /&gt;
modem modem     [RFC2806]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is practical to write your tel number like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or even&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;Mr Smith's phone&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add support for &amp;quot;tel:&amp;quot; to your desktop and to your browser&lt;br /&gt;
&lt;br /&gt;
* For Gnome, edit ~/.gnome/Gnome and add something to the URL Handlers section. (Dan Connolly uses this to get galeon to launch telnum from [http://dev.w3.org/cvsweb/2001/telagent/ telagent sources] for tel URIs)&lt;br /&gt;
* In Mozilla, [http://dizzy.mozdev.org/ Dizzy]&lt;br /&gt;
* In Internet Explorer, [http://msdn.microsoft.com/workshop/networking/pluggable/overview/overview.asp Asynchronous Pluggable Protocols]&lt;br /&gt;
&lt;br /&gt;
On the CSS front… You could for example add automagically an icon. I have put the property !important for those who wants to add it to their own stylesheet in their browsers, so they know type of links when browsing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
a[href^=&amp;quot;tel:&amp;quot;]:before {&lt;br /&gt;
    content: '\260f  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&lt;br /&gt;
a[href^=&amp;quot;mailto:&amp;quot;]:before {&lt;br /&gt;
    content: '\2709  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Encoding &amp;quot;modern&amp;quot; attributes ==&lt;br /&gt;
&lt;br /&gt;
Since vCard was first established, various interactive communication technologies and addressing schemes have been widely adopted.  Although there aren't specific properties for these technologies / addressing schemes, they can be captured as URLs or email addresses.&lt;br /&gt;
&lt;br /&gt;
This has now been written up for the most part. See:&lt;br /&gt;
&lt;br /&gt;
http://microformats.org/wiki/hcard-examples#New_Types_of_Contact_Info&lt;br /&gt;
&lt;br /&gt;
Still to be addressed:&lt;br /&gt;
&lt;br /&gt;
* iChat mac.com  addresses, simply store &amp;quot;@mac.com&amp;quot; email addresses, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:steve@mac.com&amp;quot;&amp;amp;gt;...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* MSN Instant Messenger, you can simple store &amp;quot;@hotmail.com&amp;quot; or &amp;quot;@msn.com&amp;quot; or &amp;quot;@passport.com&amp;quot; email addresses.&lt;br /&gt;
* Internet Relay Chat (IRC), use &amp;quot;irc:&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
== CSS Styles ==&lt;br /&gt;
Not only can you create semantics with the hCard values, but you can add CSS styles to them as well. You are free to style the terms in any way you want, but here we can list a few ideas for how to style terms.&lt;br /&gt;
&lt;br /&gt;
If you want to encode hCard data, but do NOT want to display it in the HTML code, then you can hide that tag in CSS with the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display: none&amp;quot;&amp;gt;Hidden Data&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Transforming applications will still find the data and use it when converting hCards to vCards.&lt;br /&gt;
&lt;br /&gt;
== Auto-Discovery ==&lt;br /&gt;
There is currently a debate over the best way to add an auto discovery link to your HTML to extract the vCard.&lt;br /&gt;
&lt;br /&gt;
On the page with the hCard encoding, the best link would be as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/vcard&amp;quot; href=&amp;quot;...&amp;quot; /&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
this HTML page is an alternate view of the vCard.&lt;br /&gt;
&lt;br /&gt;
[[User:EtanWexler|EtanWexler]] disagrees with the value of the “type” attribute. The [http://www.iana.org/ Internet Assigned Numbers Authority] has no registration for a “text/vcard” type. The [http://www.iana.org/assignments/media-types/text/ registered and appropriate type] for vCard entities is “text/directory”, as defined in Internet RFC 2425, “[http://www.rfc-editor.org/rfc/rfc2425.txt A MIME Content-Type for Directory Information]”. RFC 2426, “[http://www.rfc-editor.org/rfc/rfc2425.txt vCard MIME Directory Profile]”, specifies the vCard profile for “text/directory” entities, which profile the MIME/HTTP header field “Content-Type” would indicate with a “profile” parameter whose value is “VCARD”. It is unclear whether the HTML/XHTML “type” attribute allows values with parameters. On 2004-05-23, [http://bjoern.hoehrmann.de/ Björn Höhrmann] sent to the [http://www.w3.org/2002/05/html/charter HTML Working Group] a [http://www.w3.org/mid/40ccdc4d.97400945@smtp.bjoern.hoehrmann.de request for clarification] on the issue.&lt;br /&gt;
&lt;br /&gt;
When on a different page, referencing that encoded page in the href would ''not'' be an alternate view of the current page. So a different rel type must be established to decribe that relationship. The ideas vary from specific to vague. The list and categories follow:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
rel=&amp;quot;contactinfo&amp;quot;&lt;br /&gt;
rel=&amp;quot;profile&amp;quot;&lt;br /&gt;
rel=&amp;quot;author&amp;quot;&lt;br /&gt;
rel='PIM'&lt;br /&gt;
rel='person'&lt;br /&gt;
rel='about'&lt;br /&gt;
rel='contact'&lt;br /&gt;
rel='hcard'&lt;br /&gt;
rel='microformat'&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of mixing two rel types to a single page.&lt;br /&gt;
rel=&amp;quot;hcard xfn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: using rel=&amp;quot;vcard&amp;quot; indicates a link directly to a vCard. If the document links to an hCard instead, the indication is untrue and inappropriate.&lt;br /&gt;
&lt;br /&gt;
=== Auto-Discovery for XFN ===&lt;br /&gt;
&lt;br /&gt;
An author will typically their XFN information on a specific page, rather than all pages.  In particular, a specific page separate from the home page of their blog, and thus it would be useful to have an explicit rel value to assist in auto-discovery of XFN information.&lt;br /&gt;
&lt;br /&gt;
This was suggested by Jens Alfke on 20050606 at the WWDC blogger's dinner.&lt;br /&gt;
&lt;br /&gt;
== geo improvements ==&lt;br /&gt;
&lt;br /&gt;
These improvements apply to both [[geo]] and [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
I (Tantek) have seen examples of where there is a human viewable/clickable presentation of a point on a map, and the desire to include the machine readable geo information with the same element, e.g. something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;machine-readable-geo-info&amp;quot;&amp;gt;&lt;br /&gt;
 human readable/clickable point on a map&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But to do this we must specify a syntax for putting both the latitude and longitude into the title attribute as the machine-readable-geo-info.&lt;br /&gt;
&lt;br /&gt;
Fortunately, there already is a syntax for that, in vCard RFC 2426 3.4.2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   Type value: A single structured value consisting of two float values&lt;br /&gt;
   separated by the SEMI-COLON character (ASCII decimal 59).&lt;br /&gt;
&lt;br /&gt;
   Type special notes: This type specifies information related to the&lt;br /&gt;
   global position of the object associated with the vCard. The value&lt;br /&gt;
   specifies latitude and longitude, in that order (i.e., &amp;quot;LAT LON&amp;quot;&lt;br /&gt;
   ordering).&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
   Type example:&lt;br /&gt;
&lt;br /&gt;
        GEO:37.386013;-122.082932&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;37.386013;-122.082932&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I think this is pretty much a no-brainer, because the rules for parsing &amp;quot;geo&amp;quot; are simply altered to:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== latitude longitude shorthand ===&lt;br /&gt;
&lt;br /&gt;
If a &amp;quot;geo&amp;quot; property lacks explicit &amp;quot;latitude&amp;quot; and &amp;quot;longitude&amp;quot; subproperties, then the &amp;quot;geo&amp;quot; property is treated like any other string property  (e.g. following rules for parsing &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;img alt&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; etc.), where that string value has the same literal syntax as specified in RFC 2426 section 3.4.2: single structured value consisting of two float values separated by the SEMI-COLON character (ASCII decimal 59), specifying latitude and longitude, in that order.&lt;br /&gt;
&lt;br /&gt;
=== geo links ===&lt;br /&gt;
&lt;br /&gt;
In addition, people may publish Google Maps links like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://maps.google.com/maps?q=37.386013+-122.082932&amp;quot;&amp;gt;this spot&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(N.B. I tried and failed to get Yahoo Maps and local to do something intelligent with both &amp;quot;37.386013;-122.082932&amp;quot; and &amp;quot;37.386013 -122.082932&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Is it worth permitting this to be a geo as well?&lt;br /&gt;
&lt;br /&gt;
I'm raising this to make sure it is considered.&lt;br /&gt;
&lt;br /&gt;
However, my first guess is NO for two reasons.&lt;br /&gt;
&lt;br /&gt;
# No such examples in the wild have been documented or seen as of yet (I certainly haven't seen any).&lt;br /&gt;
# It would involve additional parsing requirements which are almost certainly going to be site/domain specific, and encoding a particular site's query parameter syntax into a format seems like a bad idea (against principle of decentralization).  &lt;br /&gt;
&lt;br /&gt;
This could be mitigated if mapping services would simply accept the literal vCard GEO syntax &amp;quot;37.386013;-122.082932&amp;quot;, e.g. http://maps.google.com/maps?q=37.386013;-122.082932 (which currently doesn't work) then we could make a simple rule such as for hyperlinks, parse the href attribute for a geo value at the end of the href, delimited before the value by a &amp;quot;=&amp;quot; (or perhaps &amp;quot;/&amp;quot; for services that use friendlier URLs).&lt;br /&gt;
&lt;br /&gt;
=== altitude ===&lt;br /&gt;
&lt;br /&gt;
Some folks have asked for &amp;quot;altitude&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
&lt;br /&gt;
=== radius/zoom ===&lt;br /&gt;
&lt;br /&gt;
Kevin Marks has asked for &amp;quot;radius&amp;quot; or &amp;quot;zoom&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
=== ISO6709 ===&lt;br /&gt;
There is a description method for geographic coordinates named [http://en.wikipedia.org/wiki/ISO_6709 ISO6709] though some differs from the notation of vCard.&lt;br /&gt;
It can describe latitude and the longitude.  Height is optional.&lt;br /&gt;
If ISO6709 is used, it is likely to be able to write as follows. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
examples&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+37.386013-122.082932/&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+275916+0865640+8850/&amp;quot;&amp;gt;&lt;br /&gt;
 Mount Everest&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Issues with vCard Applications ==&lt;br /&gt;
See [[vcard-implementations]].&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
Q: since many of the components would be using CSS classes for encoding data, it is possible to MIX two different profiles. (e.g. hCard and XFN) There are no real constraints on where/how to enforce class names, these are based on the html profile, since it is difficult to associate the text within the attribute to a specific profile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;a href=&amp;quot;mailto:joe.smith@example.com&amp;quot; class=&amp;quot;fn&amp;quot; rel=&amp;quot;met&amp;quot;&amp;gt;Joe Smith&amp;lt;/a&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
Q: Preserving White space? Should the transforming applications preserve extra white space characters? For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://mywebsite.com/&amp;quot; class=&amp;quot;fn n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;other-names&amp;quot;&amp;gt;Q.&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Public&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When transformed into a vCard, the N property will pick apart the span tags and create the value for N correctly seperated by colons. The FN property will take a string and simply display it. There are two possible renderings for FN:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
John Q. Public&lt;br /&gt;
&lt;br /&gt;
    John&lt;br /&gt;
    Q.&lt;br /&gt;
    Public&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Either the white-space is preserved or it is not. Which should the transforming applications render?&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
A: The parsing application should follow the white space collapsing rules of the mime type it retrieves.  I.e. if it retrieves a &amp;quot;text/html&amp;quot; document, it should do HTML white space collapsing.&lt;br /&gt;
&lt;br /&gt;
-- [http://tantek.com/log/ Tantek]&lt;br /&gt;
&lt;br /&gt;
Many of the Questions and Answers are relevant to both [&amp;quot;hCal&amp;quot;] and hCard.&lt;br /&gt;
&lt;br /&gt;
Q: Would it be appropriate to wrap the name of the vCard owner with &amp;lt;dfn/&amp;gt;? This may give the hCard some added semantic value in the XHTML document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;agent&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;email&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;a class=&amp;quot;internet&amp;quot; href=&amp;quot;mailto:jfriday@host.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dfn&amp;gt;&lt;br /&gt;
       &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Joe Friday&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/dfn&amp;gt;&lt;br /&gt;
   &amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Area Administrator, Assistant&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
-- [http://www.ben-ward.co.uk/ Ben Ward]&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
Applications that are hCard aware or can convert hCard to vCard formats.&lt;br /&gt;
&lt;br /&gt;
=== Copy hCards favelet(s) ===&lt;br /&gt;
* I think a Favelet would work nicely here. When you find a page that is hCard friendly, you click the favlet and you get yourself a vCard. This is done!  See X2V in the implementations section of the [[hcard|hCard]] spec.&lt;br /&gt;
&lt;br /&gt;
=== Distributed Commentor Icons ===&lt;br /&gt;
&lt;br /&gt;
* See [http://thedredge.org/2005/06/using-hcards-in-your-blog/ using hCards in your blog] for an example of hCards used for comment authors (commentors).  The system used there, &amp;quot;Gravatars&amp;quot;, is a centralized site that serves commentor icons that requires login etc.  &lt;br /&gt;
&lt;br /&gt;
What if we gave each commentor the option of hosting their own icon?&lt;br /&gt;
&lt;br /&gt;
A distributed commentor icon implementation could work like this:&lt;br /&gt;
&lt;br /&gt;
# Given the URL of a commentor, look for an &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element with classname of &amp;quot;vcard&amp;quot; at the commentor's URL.  The &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element is supposed to be the contact information for the page (see [[hcard-faq|hCard FAQ]] for more info), so this makes sense.&lt;br /&gt;
# Next, look for the first element inside that hcard that has a classname of &amp;quot;logo&amp;quot;.&lt;br /&gt;
# Hopefully that element is an &amp;lt;code&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/code&amp;gt;, and if so, use its src to get the commentor's icon.&lt;br /&gt;
# Presto.  You've got distributed commentor icons!&lt;br /&gt;
&lt;br /&gt;
== Spam prevention ==&lt;br /&gt;
hCard uses &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links, and therefore&lt;br /&gt;
it automatically &amp;quot;inherits&amp;quot; the disadvantage of &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links:&lt;br /&gt;
These links can be easily detected by emails spiders (used by spammers).&lt;br /&gt;
&lt;br /&gt;
Email addresses are picked up like any other link crawled by a search engine and trustworthy crawlers may be deterred from adding emphasis while indexing these links by including rel=&amp;quot;nofollow&amp;quot; (See [[rel-nofollow]]). However, email addresses used for spam are crawled by email spiders which will likely ignore this attribute.&lt;br /&gt;
&lt;br /&gt;
There are ways to prevent email address detection by simple email spiders, while&lt;br /&gt;
still retaining full compatibility with (X)HTML applications.&lt;br /&gt;
One common way is to &amp;quot;encode&amp;quot; the the &amp;quot;m&amp;quot; of &amp;quot;mail&amp;quot; and &amp;quot;@&amp;quot; with character entities, yet it's unwise to follow a convention of only encoding specific characters because the email spiders can pick up on this too:&lt;br /&gt;
&lt;br /&gt;
Example of the original link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:john.smith@example.com&amp;quot;&amp;gt;john.smith@example.com&amp;lt;/a&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of the &amp;quot;encoded&amp;quot; link (with rel-nofollow added):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;e&amp;amp;amp;#109;ail&amp;quot; rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;&amp;amp;amp;#109;ailto:john.smith&amp;amp;amp;#064;example.com&amp;quot;&amp;gt;john.smith&amp;amp;amp;#064;example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simple email spiders which do not do character entity decoding will therefore not be able to find your email address.&lt;br /&gt;
&lt;br /&gt;
''Note:'' Perhaps there are or will be email spiders which can decode entities, so the this technique will only help with some (cheap) email spiders.&lt;br /&gt;
(See also: http://rbach.priv.at/Misc/2005/EmailSpiderTest)&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* How to hCard encode entries in Popular blog software.&lt;br /&gt;
* Good reasons to publish your hCard&lt;br /&gt;
** as a business, get people to put you in their address book so they'll find you later&lt;br /&gt;
** as a business with an email list, get people to add you (with email address) to their address book so that your email list works via whitelisting via the address book.&lt;br /&gt;
&lt;br /&gt;
== Parsing ==&lt;br /&gt;
See separate [[hcard-parsing|hCard parsing]] page.&lt;br /&gt;
&lt;br /&gt;
== Post vCard additions ==&lt;br /&gt;
&lt;br /&gt;
Some have found vCard to be limiting in terms of the data/properties/fields they want to express in contact information.  Some implementations use vCard extensions to express such information.&lt;br /&gt;
&lt;br /&gt;
This section is for documentation of such suggested additions.  Note, we will require empirical evidence of actual *real world* examples on the Web of people publishing this information as part of contact information, before considering such additions/extensions.&lt;br /&gt;
&lt;br /&gt;
* altitude. From [[hcard-issues]].&lt;br /&gt;
** No evidence provided that contact information on the Web publishes this information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* The [[hcard-profile]] needs verification and perhaps a URL for retrieving the actual XMDP, rather than as &amp;amp;lt;pre&amp;amp;gt; text on a wiki page.&lt;br /&gt;
* Complete translating the examples from the vCard spec into hCard, and place them on a separate hCard examples page.&lt;br /&gt;
* Create a &amp;quot;rich&amp;quot; but realistic hCard example, say for example for a salesperson, who wants to put a whole bunch of contact information on their website in order to be found/contacted easily.&lt;br /&gt;
* Provide examples of how to encode instant messaging (IM) accounts. Figure out what would the mailto: or aim: URL in hCard look like in vCard. And take a look at what vCard applications do today with IM addresses.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2426.txt RFC 2426] vCard RFC&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2397 RFC 2397] data URI RFC&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.imc.org/pdi/ Personal Data Interchange (PDI) at the Internet Mail Consortium]&lt;br /&gt;
* [http://tantek.com/log/2004/07.html#d27t1049 Markup language design notes]&lt;br /&gt;
* [http://tantek.com/log/2002/12.html#L20021216t2238 A Touch of Class]&lt;br /&gt;
* [http://www.icao.int/mrtd/download/technical.cfm ICAO - Machine Readable Travel Documents format]&lt;br /&gt;
&lt;br /&gt;
== Other Implementations/Ideas ==&lt;br /&gt;
* [http://www.w3.org/TR/2001/NOTE-vcard-rdf-20010222/ Representing vCard Objects in RDF/XML] This could allow conversion of vCard data from XHTML to RDF and from RDF to XHTML&lt;br /&gt;
* It would also be possible to convert XFN and hCard to FoaF and back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ambiguous name components ==&lt;br /&gt;
&lt;br /&gt;
When automatically publishing hCards from pre-existing data, it's not necessarily possible to tell which words in a name map to which hCard properties. When the structure of a name is unknown, it is hard to ensure an automatically published hCard remains valid.&lt;br /&gt;
&lt;br /&gt;
There's currently no easy answer to this.&lt;br /&gt;
&lt;br /&gt;
One implementation suggestion is a 'best-guess' algorithm, something along the lines of:&lt;br /&gt;
&lt;br /&gt;
# If the name is one word, attempt [[hcard#Implied_.22nickname.22_Optimization|implied nickname optimization]]&lt;br /&gt;
# If the name is two words, attempt [[hcard#Implied_.22n.22_Optimization|implied n optimization]]&lt;br /&gt;
# For three or more words&lt;br /&gt;
## Perform a lookup against known sub-name combinations (e.g. 'Sarah Jane', 'Vander Wal')&lt;br /&gt;
## Apply the grammar &amp;quot;given-name additional-name(s) family-name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The principal behind this suggestion is that it's better to make a good guess and potentially miscategorize an ambiguous name component than to generate an invalid hCard.&lt;br /&gt;
&lt;br /&gt;
== Accepted Suggestions ==&lt;br /&gt;
&lt;br /&gt;
=== Encoding Company data as a Business Card (proposal) ===&lt;br /&gt;
&lt;br /&gt;
( Accepted: http://microformats.org/wiki/hcard#Organization_Contact_Info )&lt;br /&gt;
&lt;br /&gt;
In the wild there are several hCards that do not currently validate because they are businesses that have omitted the &amp;quot;fn&amp;quot; property in favor of the &amp;quot;org&amp;quot; property.&lt;br /&gt;
&lt;br /&gt;
Proposal: hCards representing a business or organization MUST set fn AND org to the same value.  Parsers may then use this equivalence, if detected, to treat an hCard as the contact info for a business or organization rather than an individual.&lt;br /&gt;
&lt;br /&gt;
Note that [http://microformats.org/wiki/vcard-implementations#organization_vs._individual Apple Address Book supports this semantic when importing vCards].&lt;br /&gt;
&lt;br /&gt;
See the [http://technorati.com/about/contact.html Technorati Contact Info] for an example.&lt;br /&gt;
&lt;br /&gt;
=== Implied &amp;quot;FN and N&amp;quot; Optimization (proposal) ===&lt;br /&gt;
&lt;br /&gt;
Right now a parser first looks for an &amp;quot;n&amp;quot; element.&lt;br /&gt;
&lt;br /&gt;
And then if no &amp;quot;n&amp;quot; is present, look for an &amp;quot;fn&amp;quot; element to use to imply an &amp;quot;n&amp;quot; element per the &amp;quot;implied n property&amp;quot; rules in the spec.&lt;br /&gt;
&lt;br /&gt;
BACKGROUND:&lt;br /&gt;
&lt;br /&gt;
Due to the prevalence of the use of &amp;quot;nicknames&amp;quot; or &amp;quot;handles&amp;quot; on the Web, in actual content published on the Web (e.g. authors of reviews), there has been a discussion about adding a &amp;quot;fn&amp;quot; shortcut to the &amp;quot;n&amp;quot; shortcut that used the &amp;quot;nickname&amp;quot; as a fallback.&lt;br /&gt;
&lt;br /&gt;
PROPOSAL:&lt;br /&gt;
&lt;br /&gt;
We should consider adding one more implied optimization after the steps documented above and that is:&lt;br /&gt;
&lt;br /&gt;
If no &amp;quot;fn&amp;quot; is present either, then look for a &amp;quot;nickname&amp;quot; element to use to imply both the &amp;quot;fn&amp;quot;, and the &amp;quot;n/given-name&amp;quot;, leaving the &amp;quot;n/family-name&amp;quot; as empty.&lt;br /&gt;
&lt;br /&gt;
This would enable &amp;quot;nickname&amp;quot; only hCards for denoting and individual on a website, which is quite common on blogs and reviews published on the Web.&lt;br /&gt;
* +1 [[User:Atamido|Atamido]]&lt;br /&gt;
* +1 [[User:ChrisMessina|ChrisMessina]] - note: multiple alternate nicknames should also be allowed&lt;br /&gt;
* +1 [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rejected Suggestions ==&lt;br /&gt;
&lt;br /&gt;
Suggestion: ''The use of class=&amp;quot;url&amp;quot; on an &amp;lt;a&amp;gt; tag to represent an hCard URL property is redundant. By virtue of the &amp;lt;a&amp;gt; tag you know this is a URL.''&lt;br /&gt;
&lt;br /&gt;
Rejected.  This is a bad suggestion because although it appears to reduce redunancy and keep things cleaner, it also creates a few problems. Without explicitly noting that this is a URL then any &amp;lt;a&amp;gt; tags within a 'vcard' would be considered a URL, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;ul class=&amp;quot;categories&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://w3c.org&amp;quot;&amp;gt;W3C&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is no way to &amp;quot;turn-off&amp;quot; the encoding of the W3C URL, whereas if &amp;quot;url&amp;quot; needed to be explicitly listed in the class attribute list, then by NOT listing it you could effectively turn it off.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=7269</id>
		<title>hcard-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=7269"/>
		<updated>2006-07-11T00:02:05Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Spam prevention */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; hCard Brainstorming &amp;lt;/h1&amp;gt;&lt;br /&gt;
This page is for brainstorming about various uses and details of [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Authors ==&lt;br /&gt;
* [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
* [http://tantek.com/log/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [[User:Atamido|Atamido]]&lt;br /&gt;
* [[User:ChrisMessina|ChrisMessina]]&lt;br /&gt;
* [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
* ...&lt;br /&gt;
* ... and many others&lt;br /&gt;
&lt;br /&gt;
== Problems Being Solved ==&lt;br /&gt;
&lt;br /&gt;
Some of the problems that [[hcard|hCard]] helps to solve:&lt;br /&gt;
&lt;br /&gt;
* having to enter business cards that go out of date (subscribe to someone's syndicated [[hcard|hCard]] instead).&lt;br /&gt;
* annoying &amp;quot;update your contact info&amp;quot; email from various centralized contact info services&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* See [[hcard-examples]], which provides several illustrative instructive examples, as well as 1:1 hCard examples for each example in [http://www.ietf.org/rfc/rfc2426.txt RFC 2426].&lt;br /&gt;
&lt;br /&gt;
=== Using RFC2806 with hCard ===&lt;br /&gt;
&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2806.txt RFC 2806] defines the telephone scheme &amp;quot;tel:&amp;quot;, &amp;quot;fax:&amp;quot; and &amp;quot;modem:&amp;quot; to handle phone communications with URIs in the same way, &amp;quot;mailto:&amp;quot; is defined for email. It's part of the list or registered schemes by IANA : [http://www.iana.org/assignments/uri-schemes Uniform Resource Identifier (URI) SCHEMES]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
tel   telephone [RFC2806]&lt;br /&gt;
fax   fax       [RFC2806]&lt;br /&gt;
modem modem     [RFC2806]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is practical to write your tel number like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or even&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;Mr Smith's phone&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add support for &amp;quot;tel:&amp;quot; to your desktop and to your browser&lt;br /&gt;
&lt;br /&gt;
* For Gnome, edit ~/.gnome/Gnome and add something to the URL Handlers section. (Dan Connolly uses this to get galeon to launch telnum from [http://dev.w3.org/cvsweb/2001/telagent/ telagent sources] for tel URIs)&lt;br /&gt;
* In Mozilla, [http://dizzy.mozdev.org/ Dizzy]&lt;br /&gt;
* In Internet Explorer, [http://msdn.microsoft.com/workshop/networking/pluggable/overview/overview.asp Asynchronous Pluggable Protocols]&lt;br /&gt;
&lt;br /&gt;
On the CSS front… You could for example add automagically an icon. I have put the property !important for those who wants to add it to their own stylesheet in their browsers, so they know type of links when browsing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
a[href^=&amp;quot;tel:&amp;quot;]:before {&lt;br /&gt;
    content: '\260f  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&lt;br /&gt;
a[href^=&amp;quot;mailto:&amp;quot;]:before {&lt;br /&gt;
    content: '\2709  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Encoding &amp;quot;modern&amp;quot; attributes ==&lt;br /&gt;
&lt;br /&gt;
Since vCard was first established, various interactive communication technologies and addressing schemes have been widely adopted.  Although there aren't specific properties for these technologies / addressing schemes, they can be captured as URLs or email addresses.&lt;br /&gt;
&lt;br /&gt;
This has now been written up for the most part. See:&lt;br /&gt;
&lt;br /&gt;
http://microformats.org/wiki/hcard-examples#New_Types_of_Contact_Info&lt;br /&gt;
&lt;br /&gt;
Still to be addressed:&lt;br /&gt;
&lt;br /&gt;
* iChat mac.com  addresses, simply store &amp;quot;@mac.com&amp;quot; email addresses, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:steve@mac.com&amp;quot;&amp;amp;gt;...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* MSN Instant Messenger, you can simple store &amp;quot;@hotmail.com&amp;quot; or &amp;quot;@msn.com&amp;quot; or &amp;quot;@passport.com&amp;quot; email addresses.&lt;br /&gt;
* Internet Relay Chat (IRC), use &amp;quot;irc:&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
== CSS Styles ==&lt;br /&gt;
Not only can you create semantics with the hCard values, but you can add CSS styles to them as well. You are free to style the terms in any way you want, but here we can list a few ideas for how to style terms.&lt;br /&gt;
&lt;br /&gt;
If you want to encode hCard data, but do NOT want to display it in the HTML code, then you can hide that tag in CSS with the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display: none&amp;quot;&amp;gt;Hidden Data&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Transforming applications will still find the data and use it when converting hCards to vCards.&lt;br /&gt;
&lt;br /&gt;
== Auto-Discovery ==&lt;br /&gt;
There is currently a debate over the best way to add an auto discovery link to your HTML to extract the vCard.&lt;br /&gt;
&lt;br /&gt;
On the page with the hCard encoding, the best link would be as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/vcard&amp;quot; href=&amp;quot;...&amp;quot; /&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
this HTML page is an alternate view of the vCard.&lt;br /&gt;
&lt;br /&gt;
[[User:EtanWexler|EtanWexler]] disagrees with the value of the “type” attribute. The [http://www.iana.org/ Internet Assigned Numbers Authority] has no registration for a “text/vcard” type. The [http://www.iana.org/assignments/media-types/text/ registered and appropriate type] for vCard entities is “text/directory”, as defined in Internet RFC 2425, “[http://www.rfc-editor.org/rfc/rfc2425.txt A MIME Content-Type for Directory Information]”. RFC 2426, “[http://www.rfc-editor.org/rfc/rfc2425.txt vCard MIME Directory Profile]”, specifies the vCard profile for “text/directory” entities, which profile the MIME/HTTP header field “Content-Type” would indicate with a “profile” parameter whose value is “VCARD”. It is unclear whether the HTML/XHTML “type” attribute allows values with parameters. On 2004-05-23, [http://bjoern.hoehrmann.de/ Björn Höhrmann] sent to the [http://www.w3.org/2002/05/html/charter HTML Working Group] a [http://www.w3.org/mid/40ccdc4d.97400945@smtp.bjoern.hoehrmann.de request for clarification] on the issue.&lt;br /&gt;
&lt;br /&gt;
When on a different page, referencing that encoded page in the href would ''not'' be an alternate view of the current page. So a different rel type must be established to decribe that relationship. The ideas vary from specific to vague. The list and categories follow:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
rel=&amp;quot;contactinfo&amp;quot;&lt;br /&gt;
rel=&amp;quot;profile&amp;quot;&lt;br /&gt;
rel=&amp;quot;author&amp;quot;&lt;br /&gt;
rel='PIM'&lt;br /&gt;
rel='person'&lt;br /&gt;
rel='about'&lt;br /&gt;
rel='contact'&lt;br /&gt;
rel='hcard'&lt;br /&gt;
rel='microformat'&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of mixing two rel types to a single page.&lt;br /&gt;
rel=&amp;quot;hcard xfn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: using rel=&amp;quot;vcard&amp;quot; indicates a link directly to a vCard. If the document links to an hCard instead, the indication is untrue and inappropriate.&lt;br /&gt;
&lt;br /&gt;
=== Auto-Discovery for XFN ===&lt;br /&gt;
&lt;br /&gt;
An author will typically their XFN information on a specific page, rather than all pages.  In particular, a specific page separate from the home page of their blog, and thus it would be useful to have an explicit rel value to assist in auto-discovery of XFN information.&lt;br /&gt;
&lt;br /&gt;
This was suggested by Jens Alfke on 20050606 at the WWDC blogger's dinner.&lt;br /&gt;
&lt;br /&gt;
== geo improvements ==&lt;br /&gt;
&lt;br /&gt;
These improvements apply to both [[geo]] and [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
I (Tantek) have seen examples of where there is a human viewable/clickable presentation of a point on a map, and the desire to include the machine readable geo information with the same element, e.g. something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;machine-readable-geo-info&amp;quot;&amp;gt;&lt;br /&gt;
 human readable/clickable point on a map&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But to do this we must specify a syntax for putting both the latitude and longitude into the title attribute as the machine-readable-geo-info.&lt;br /&gt;
&lt;br /&gt;
Fortunately, there already is a syntax for that, in vCard RFC 2426 3.4.2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   Type value: A single structured value consisting of two float values&lt;br /&gt;
   separated by the SEMI-COLON character (ASCII decimal 59).&lt;br /&gt;
&lt;br /&gt;
   Type special notes: This type specifies information related to the&lt;br /&gt;
   global position of the object associated with the vCard. The value&lt;br /&gt;
   specifies latitude and longitude, in that order (i.e., &amp;quot;LAT LON&amp;quot;&lt;br /&gt;
   ordering).&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
   Type example:&lt;br /&gt;
&lt;br /&gt;
        GEO:37.386013;-122.082932&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;37.386013;-122.082932&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I think this is pretty much a no-brainer, because the rules for parsing &amp;quot;geo&amp;quot; are simply altered to:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== latitude longitude shorthand ===&lt;br /&gt;
&lt;br /&gt;
If a &amp;quot;geo&amp;quot; property lacks explicit &amp;quot;latitude&amp;quot; and &amp;quot;longitude&amp;quot; subproperties, then the &amp;quot;geo&amp;quot; property is treated like any other string property  (e.g. following rules for parsing &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;img alt&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; etc.), where that string value has the same literal syntax as specified in RFC 2426 section 3.4.2: single structured value consisting of two float values separated by the SEMI-COLON character (ASCII decimal 59), specifying latitude and longitude, in that order.&lt;br /&gt;
&lt;br /&gt;
=== geo links ===&lt;br /&gt;
&lt;br /&gt;
In addition, people may publish Google Maps links like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://maps.google.com/maps?q=37.386013+-122.082932&amp;quot;&amp;gt;this spot&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(N.B. I tried and failed to get Yahoo Maps and local to do something intelligent with both &amp;quot;37.386013;-122.082932&amp;quot; and &amp;quot;37.386013 -122.082932&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Is it worth permitting this to be a geo as well?&lt;br /&gt;
&lt;br /&gt;
I'm raising this to make sure it is considered.&lt;br /&gt;
&lt;br /&gt;
However, my first guess is NO for two reasons.&lt;br /&gt;
&lt;br /&gt;
# No such examples in the wild have been documented or seen as of yet (I certainly haven't seen any).&lt;br /&gt;
# It would involve additional parsing requirements which are almost certainly going to be site/domain specific, and encoding a particular site's query parameter syntax into a format seems like a bad idea (against principle of decentralization).  &lt;br /&gt;
&lt;br /&gt;
This could be mitigated if mapping services would simply accept the literal vCard GEO syntax &amp;quot;37.386013;-122.082932&amp;quot;, e.g. http://maps.google.com/maps?q=37.386013;-122.082932 (which currently doesn't work) then we could make a simple rule such as for hyperlinks, parse the href attribute for a geo value at the end of the href, delimited before the value by a &amp;quot;=&amp;quot; (or perhaps &amp;quot;/&amp;quot; for services that use friendlier URLs).&lt;br /&gt;
&lt;br /&gt;
=== altitude ===&lt;br /&gt;
&lt;br /&gt;
Some folks have asked for &amp;quot;altitude&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
&lt;br /&gt;
=== radius/zoom ===&lt;br /&gt;
&lt;br /&gt;
Kevin Marks has asked for &amp;quot;radius&amp;quot; or &amp;quot;zoom&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
=== ISO6709 ===&lt;br /&gt;
There is a description method for geographic coordinates named [http://en.wikipedia.org/wiki/ISO_6709 ISO6709] though some differs from the notation of vCard.&lt;br /&gt;
It can describe latitude and the longitude.  Height is optional.&lt;br /&gt;
If ISO6709 is used, it is likely to be able to write as follows. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
examples&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+37.386013-122.082932/&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+275916+0865640+8850/&amp;quot;&amp;gt;&lt;br /&gt;
 Mount Everest&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Issues with vCard Applications ==&lt;br /&gt;
See [[vcard-implementations]].&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
Q: since many of the components would be using CSS classes for encoding data, it is possible to MIX two different profiles. (e.g. hCard and XFN) There are no real constraints on where/how to enforce class names, these are based on the html profile, since it is difficult to associate the text within the attribute to a specific profile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;a href=&amp;quot;mailto:joe.smith@example.com&amp;quot; class=&amp;quot;fn&amp;quot; rel=&amp;quot;met&amp;quot;&amp;gt;Joe Smith&amp;lt;/a&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
Q: Preserving White space? Should the transforming applications preserve extra white space characters? For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://mywebsite.com/&amp;quot; class=&amp;quot;fn n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;other-names&amp;quot;&amp;gt;Q.&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Public&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When transformed into a vCard, the N property will pick apart the span tags and create the value for N correctly seperated by colons. The FN property will take a string and simply display it. There are two possible renderings for FN:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
John Q. Public&lt;br /&gt;
&lt;br /&gt;
    John&lt;br /&gt;
    Q.&lt;br /&gt;
    Public&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Either the white-space is preserved or it is not. Which should the transforming applications render?&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
A: The parsing application should follow the white space collapsing rules of the mime type it retrieves.  I.e. if it retrieves a &amp;quot;text/html&amp;quot; document, it should do HTML white space collapsing.&lt;br /&gt;
&lt;br /&gt;
-- [http://tantek.com/log/ Tantek]&lt;br /&gt;
&lt;br /&gt;
Many of the Questions and Answers are relevant to both [&amp;quot;hCal&amp;quot;] and hCard.&lt;br /&gt;
&lt;br /&gt;
Q: Would it be appropriate to wrap the name of the vCard owner with &amp;lt;dfn/&amp;gt;? This may give the hCard some added semantic value in the XHTML document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;agent&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;email&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;a class=&amp;quot;internet&amp;quot; href=&amp;quot;mailto:jfriday@host.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dfn&amp;gt;&lt;br /&gt;
       &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Joe Friday&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/dfn&amp;gt;&lt;br /&gt;
   &amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Area Administrator, Assistant&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
-- [http://www.ben-ward.co.uk/ Ben Ward]&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
Applications that are hCard aware or can convert hCard to vCard formats.&lt;br /&gt;
&lt;br /&gt;
=== Copy hCards favelet(s) ===&lt;br /&gt;
* I think a Favelet would work nicely here. When you find a page that is hCard friendly, you click the favlet and you get yourself a vCard. This is done!  See X2V in the implementations section of the [[hcard|hCard]] spec.&lt;br /&gt;
&lt;br /&gt;
=== Distributed Commentor Icons ===&lt;br /&gt;
&lt;br /&gt;
* See [http://thedredge.org/2005/06/using-hcards-in-your-blog/ using hCards in your blog] for an example of hCards used for comment authors (commentors).  The system used there, &amp;quot;Gravatars&amp;quot;, is a centralized site that serves commentor icons that requires login etc.  &lt;br /&gt;
&lt;br /&gt;
What if we gave each commentor the option of hosting their own icon?&lt;br /&gt;
&lt;br /&gt;
A distributed commentor icon implementation could work like this:&lt;br /&gt;
&lt;br /&gt;
# Given the URL of a commentor, look for an &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element with classname of &amp;quot;vcard&amp;quot; at the commentor's URL.  The &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element is supposed to be the contact information for the page (see [[hcard-faq|hCard FAQ]] for more info), so this makes sense.&lt;br /&gt;
# Next, look for the first element inside that hcard that has a classname of &amp;quot;logo&amp;quot;.&lt;br /&gt;
# Hopefully that element is an &amp;lt;code&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/code&amp;gt;, and if so, use its src to get the commentor's icon.&lt;br /&gt;
# Presto.  You've got distributed commentor icons!&lt;br /&gt;
&lt;br /&gt;
== Spam prevention ==&lt;br /&gt;
hCard uses &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links, and therefore&lt;br /&gt;
it automatically &amp;quot;inherits&amp;quot; the disadvantage of &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links:&lt;br /&gt;
These links can be easily detected by emails spiders (used by spammers).&lt;br /&gt;
&lt;br /&gt;
Email addresses are picked up like any other link crawled by a search engine and trustworthy crawlers may be deterred from adding emphasis while indexing these links by including rel=&amp;quot;nofollow&amp;quot; (See [[rel-nofollow]]). However, email addresses used for spam are crawled by email spiders which will likely ignore this attribute.&lt;br /&gt;
&lt;br /&gt;
There are ways to prevent email address detection by simple email spiders, while&lt;br /&gt;
still retaining full compatibility with (X)HTML applications.&lt;br /&gt;
One common way is to &amp;quot;encode&amp;quot; the the &amp;quot;m&amp;quot; of &amp;quot;mail&amp;quot; and &amp;quot;@&amp;quot; with character entities, yet it's unwise to follow a convention of only encoding specific characters because the email spiders can pick up on this too:&lt;br /&gt;
&lt;br /&gt;
Example of the original link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:john.smith@example.com&amp;quot;&amp;gt;john.smith@example.com&amp;lt;/a&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of the &amp;quot;encoded&amp;quot; link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;e&amp;amp;amp;#109;ail&amp;quot; rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;&amp;amp;amp;#109;ailto:john.smith&amp;amp;amp;#064;example.com&amp;quot;&amp;gt;john.smith&amp;amp;amp;#064;example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simple email spiders which do not do character entity decoding will therefore not be able to find your email address.&lt;br /&gt;
&lt;br /&gt;
''Note:'' Perhaps there are or will be email spiders which can decode entities, so the this technique will only help with some (cheap) email spiders.&lt;br /&gt;
(See also: http://rbach.priv.at/Misc/2005/EmailSpiderTest)&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* How to hCard encode entries in Popular blog software.&lt;br /&gt;
* Good reasons to publish your hCard&lt;br /&gt;
** as a business, get people to put you in their address book so they'll find you later&lt;br /&gt;
** as a business with an email list, get people to add you (with email address) to their address book so that your email list works via whitelisting via the address book.&lt;br /&gt;
&lt;br /&gt;
== Parsing ==&lt;br /&gt;
See separate [[hcard-parsing|hCard parsing]] page.&lt;br /&gt;
&lt;br /&gt;
== Post vCard additions ==&lt;br /&gt;
&lt;br /&gt;
Some have found vCard to be limiting in terms of the data/properties/fields they want to express in contact information.  Some implementations use vCard extensions to express such information.&lt;br /&gt;
&lt;br /&gt;
This section is for documentation of such suggested additions.  Note, we will require empirical evidence of actual *real world* examples on the Web of people publishing this information as part of contact information, before considering such additions/extensions.&lt;br /&gt;
&lt;br /&gt;
* altitude. From [[hcard-issues]].&lt;br /&gt;
** No evidence provided that contact information on the Web publishes this information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* The [[hcard-profile]] needs verification and perhaps a URL for retrieving the actual XMDP, rather than as &amp;amp;lt;pre&amp;amp;gt; text on a wiki page.&lt;br /&gt;
* Complete translating the examples from the vCard spec into hCard, and place them on a separate hCard examples page.&lt;br /&gt;
* Create a &amp;quot;rich&amp;quot; but realistic hCard example, say for example for a salesperson, who wants to put a whole bunch of contact information on their website in order to be found/contacted easily.&lt;br /&gt;
* Provide examples of how to encode instant messaging (IM) accounts. Figure out what would the mailto: or aim: URL in hCard look like in vCard. And take a look at what vCard applications do today with IM addresses.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2426.txt RFC 2426] vCard RFC&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2397 RFC 2397] data URI RFC&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.imc.org/pdi/ Personal Data Interchange (PDI) at the Internet Mail Consortium]&lt;br /&gt;
* [http://tantek.com/log/2004/07.html#d27t1049 Markup language design notes]&lt;br /&gt;
* [http://tantek.com/log/2002/12.html#L20021216t2238 A Touch of Class]&lt;br /&gt;
* [http://www.icao.int/mrtd/download/technical.cfm ICAO - Machine Readable Travel Documents format]&lt;br /&gt;
&lt;br /&gt;
== Other Implementations/Ideas ==&lt;br /&gt;
* [http://www.w3.org/TR/2001/NOTE-vcard-rdf-20010222/ Representing vCard Objects in RDF/XML] This could allow conversion of vCard data from XHTML to RDF and from RDF to XHTML&lt;br /&gt;
* It would also be possible to convert XFN and hCard to FoaF and back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ambiguous name components ==&lt;br /&gt;
&lt;br /&gt;
When automatically publishing hCards from pre-existing data, it's not necessarily possible to tell which words in a name map to which hCard properties. When the structure of a name is unknown, it is hard to ensure an automatically published hCard remains valid.&lt;br /&gt;
&lt;br /&gt;
There's currently no easy answer to this.&lt;br /&gt;
&lt;br /&gt;
One implementation suggestion is a 'best-guess' algorithm, something along the lines of:&lt;br /&gt;
&lt;br /&gt;
# If the name is one word, attempt [[hcard#Implied_.22nickname.22_Optimization|implied nickname optimization]]&lt;br /&gt;
# If the name is two words, attempt [[hcard#Implied_.22n.22_Optimization|implied n optimization]]&lt;br /&gt;
# For three or more words&lt;br /&gt;
## Perform a lookup against known sub-name combinations (e.g. 'Sarah Jane', 'Vander Wal')&lt;br /&gt;
## Apply the grammar &amp;quot;given-name additional-name(s) family-name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The principal behind this suggestion is that it's better to make a good guess and potentially miscategorize an ambiguous name component than to generate an invalid hCard.&lt;br /&gt;
&lt;br /&gt;
== Accepted Suggestions ==&lt;br /&gt;
&lt;br /&gt;
=== Encoding Company data as a Business Card (proposal) ===&lt;br /&gt;
&lt;br /&gt;
( Accepted: http://microformats.org/wiki/hcard#Organization_Contact_Info )&lt;br /&gt;
&lt;br /&gt;
In the wild there are several hCards that do not currently validate because they are businesses that have omitted the &amp;quot;fn&amp;quot; property in favor of the &amp;quot;org&amp;quot; property.&lt;br /&gt;
&lt;br /&gt;
Proposal: hCards representing a business or organization MUST set fn AND org to the same value.  Parsers may then use this equivalence, if detected, to treat an hCard as the contact info for a business or organization rather than an individual.&lt;br /&gt;
&lt;br /&gt;
Note that [http://microformats.org/wiki/vcard-implementations#organization_vs._individual Apple Address Book supports this semantic when importing vCards].&lt;br /&gt;
&lt;br /&gt;
See the [http://technorati.com/about/contact.html Technorati Contact Info] for an example.&lt;br /&gt;
&lt;br /&gt;
=== Implied &amp;quot;FN and N&amp;quot; Optimization (proposal) ===&lt;br /&gt;
&lt;br /&gt;
Right now a parser first looks for an &amp;quot;n&amp;quot; element.&lt;br /&gt;
&lt;br /&gt;
And then if no &amp;quot;n&amp;quot; is present, look for an &amp;quot;fn&amp;quot; element to use to imply an &amp;quot;n&amp;quot; element per the &amp;quot;implied n property&amp;quot; rules in the spec.&lt;br /&gt;
&lt;br /&gt;
BACKGROUND:&lt;br /&gt;
&lt;br /&gt;
Due to the prevalence of the use of &amp;quot;nicknames&amp;quot; or &amp;quot;handles&amp;quot; on the Web, in actual content published on the Web (e.g. authors of reviews), there has been a discussion about adding a &amp;quot;fn&amp;quot; shortcut to the &amp;quot;n&amp;quot; shortcut that used the &amp;quot;nickname&amp;quot; as a fallback.&lt;br /&gt;
&lt;br /&gt;
PROPOSAL:&lt;br /&gt;
&lt;br /&gt;
We should consider adding one more implied optimization after the steps documented above and that is:&lt;br /&gt;
&lt;br /&gt;
If no &amp;quot;fn&amp;quot; is present either, then look for a &amp;quot;nickname&amp;quot; element to use to imply both the &amp;quot;fn&amp;quot;, and the &amp;quot;n/given-name&amp;quot;, leaving the &amp;quot;n/family-name&amp;quot; as empty.&lt;br /&gt;
&lt;br /&gt;
This would enable &amp;quot;nickname&amp;quot; only hCards for denoting and individual on a website, which is quite common on blogs and reviews published on the Web.&lt;br /&gt;
* +1 [[User:Atamido|Atamido]]&lt;br /&gt;
* +1 [[User:ChrisMessina|ChrisMessina]] - note: multiple alternate nicknames should also be allowed&lt;br /&gt;
* +1 [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rejected Suggestions ==&lt;br /&gt;
&lt;br /&gt;
Suggestion: ''The use of class=&amp;quot;url&amp;quot; on an &amp;lt;a&amp;gt; tag to represent an hCard URL property is redundant. By virtue of the &amp;lt;a&amp;gt; tag you know this is a URL.''&lt;br /&gt;
&lt;br /&gt;
Rejected.  This is a bad suggestion because although it appears to reduce redunancy and keep things cleaner, it also creates a few problems. Without explicitly noting that this is a URL then any &amp;lt;a&amp;gt; tags within a 'vcard' would be considered a URL, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;ul class=&amp;quot;categories&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://w3c.org&amp;quot;&amp;gt;W3C&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is no way to &amp;quot;turn-off&amp;quot; the encoding of the W3C URL, whereas if &amp;quot;url&amp;quot; needed to be explicitly listed in the class attribute list, then by NOT listing it you could effectively turn it off.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=7268</id>
		<title>hcard-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcard-brainstorming&amp;diff=7268"/>
		<updated>2006-07-10T23:52:37Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Spam prevention */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; hCard Brainstorming &amp;lt;/h1&amp;gt;&lt;br /&gt;
This page is for brainstorming about various uses and details of [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Authors ==&lt;br /&gt;
* [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
* [http://tantek.com/log/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [[User:Atamido|Atamido]]&lt;br /&gt;
* [[User:ChrisMessina|ChrisMessina]]&lt;br /&gt;
* [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
* ...&lt;br /&gt;
* ... and many others&lt;br /&gt;
&lt;br /&gt;
== Problems Being Solved ==&lt;br /&gt;
&lt;br /&gt;
Some of the problems that [[hcard|hCard]] helps to solve:&lt;br /&gt;
&lt;br /&gt;
* having to enter business cards that go out of date (subscribe to someone's syndicated [[hcard|hCard]] instead).&lt;br /&gt;
* annoying &amp;quot;update your contact info&amp;quot; email from various centralized contact info services&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* See [[hcard-examples]], which provides several illustrative instructive examples, as well as 1:1 hCard examples for each example in [http://www.ietf.org/rfc/rfc2426.txt RFC 2426].&lt;br /&gt;
&lt;br /&gt;
=== Using RFC2806 with hCard ===&lt;br /&gt;
&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2806.txt RFC 2806] defines the telephone scheme &amp;quot;tel:&amp;quot;, &amp;quot;fax:&amp;quot; and &amp;quot;modem:&amp;quot; to handle phone communications with URIs in the same way, &amp;quot;mailto:&amp;quot; is defined for email. It's part of the list or registered schemes by IANA : [http://www.iana.org/assignments/uri-schemes Uniform Resource Identifier (URI) SCHEMES]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
tel   telephone [RFC2806]&lt;br /&gt;
fax   fax       [RFC2806]&lt;br /&gt;
modem modem     [RFC2806]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is practical to write your tel number like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or even&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;tel&amp;quot;      href=&amp;quot;tel:+1-919-555-7878&amp;quot;&amp;gt;Mr Smith's phone&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add support for &amp;quot;tel:&amp;quot; to your desktop and to your browser&lt;br /&gt;
&lt;br /&gt;
* For Gnome, edit ~/.gnome/Gnome and add something to the URL Handlers section. (Dan Connolly uses this to get galeon to launch telnum from [http://dev.w3.org/cvsweb/2001/telagent/ telagent sources] for tel URIs)&lt;br /&gt;
* In Mozilla, [http://dizzy.mozdev.org/ Dizzy]&lt;br /&gt;
* In Internet Explorer, [http://msdn.microsoft.com/workshop/networking/pluggable/overview/overview.asp Asynchronous Pluggable Protocols]&lt;br /&gt;
&lt;br /&gt;
On the CSS front… You could for example add automagically an icon. I have put the property !important for those who wants to add it to their own stylesheet in their browsers, so they know type of links when browsing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
a[href^=&amp;quot;tel:&amp;quot;]:before {&lt;br /&gt;
    content: '\260f  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&lt;br /&gt;
a[href^=&amp;quot;mailto:&amp;quot;]:before {&lt;br /&gt;
    content: '\2709  ' !important;&lt;br /&gt;
    padding-left: 20px !important; }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Encoding &amp;quot;modern&amp;quot; attributes ==&lt;br /&gt;
&lt;br /&gt;
Since vCard was first established, various interactive communication technologies and addressing schemes have been widely adopted.  Although there aren't specific properties for these technologies / addressing schemes, they can be captured as URLs or email addresses.&lt;br /&gt;
&lt;br /&gt;
This has now been written up for the most part. See:&lt;br /&gt;
&lt;br /&gt;
http://microformats.org/wiki/hcard-examples#New_Types_of_Contact_Info&lt;br /&gt;
&lt;br /&gt;
Still to be addressed:&lt;br /&gt;
&lt;br /&gt;
* iChat mac.com  addresses, simply store &amp;quot;@mac.com&amp;quot; email addresses, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:steve@mac.com&amp;quot;&amp;amp;gt;...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* MSN Instant Messenger, you can simple store &amp;quot;@hotmail.com&amp;quot; or &amp;quot;@msn.com&amp;quot; or &amp;quot;@passport.com&amp;quot; email addresses.&lt;br /&gt;
* Internet Relay Chat (IRC), use &amp;quot;irc:&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
== CSS Styles ==&lt;br /&gt;
Not only can you create semantics with the hCard values, but you can add CSS styles to them as well. You are free to style the terms in any way you want, but here we can list a few ideas for how to style terms.&lt;br /&gt;
&lt;br /&gt;
If you want to encode hCard data, but do NOT want to display it in the HTML code, then you can hide that tag in CSS with the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display: none&amp;quot;&amp;gt;Hidden Data&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Transforming applications will still find the data and use it when converting hCards to vCards.&lt;br /&gt;
&lt;br /&gt;
== Auto-Discovery ==&lt;br /&gt;
There is currently a debate over the best way to add an auto discovery link to your HTML to extract the vCard.&lt;br /&gt;
&lt;br /&gt;
On the page with the hCard encoding, the best link would be as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/vcard&amp;quot; href=&amp;quot;...&amp;quot; /&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
this HTML page is an alternate view of the vCard.&lt;br /&gt;
&lt;br /&gt;
[[User:EtanWexler|EtanWexler]] disagrees with the value of the “type” attribute. The [http://www.iana.org/ Internet Assigned Numbers Authority] has no registration for a “text/vcard” type. The [http://www.iana.org/assignments/media-types/text/ registered and appropriate type] for vCard entities is “text/directory”, as defined in Internet RFC 2425, “[http://www.rfc-editor.org/rfc/rfc2425.txt A MIME Content-Type for Directory Information]”. RFC 2426, “[http://www.rfc-editor.org/rfc/rfc2425.txt vCard MIME Directory Profile]”, specifies the vCard profile for “text/directory” entities, which profile the MIME/HTTP header field “Content-Type” would indicate with a “profile” parameter whose value is “VCARD”. It is unclear whether the HTML/XHTML “type” attribute allows values with parameters. On 2004-05-23, [http://bjoern.hoehrmann.de/ Björn Höhrmann] sent to the [http://www.w3.org/2002/05/html/charter HTML Working Group] a [http://www.w3.org/mid/40ccdc4d.97400945@smtp.bjoern.hoehrmann.de request for clarification] on the issue.&lt;br /&gt;
&lt;br /&gt;
When on a different page, referencing that encoded page in the href would ''not'' be an alternate view of the current page. So a different rel type must be established to decribe that relationship. The ideas vary from specific to vague. The list and categories follow:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
rel=&amp;quot;contactinfo&amp;quot;&lt;br /&gt;
rel=&amp;quot;profile&amp;quot;&lt;br /&gt;
rel=&amp;quot;author&amp;quot;&lt;br /&gt;
rel='PIM'&lt;br /&gt;
rel='person'&lt;br /&gt;
rel='about'&lt;br /&gt;
rel='contact'&lt;br /&gt;
rel='hcard'&lt;br /&gt;
rel='microformat'&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of mixing two rel types to a single page.&lt;br /&gt;
rel=&amp;quot;hcard xfn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: using rel=&amp;quot;vcard&amp;quot; indicates a link directly to a vCard. If the document links to an hCard instead, the indication is untrue and inappropriate.&lt;br /&gt;
&lt;br /&gt;
=== Auto-Discovery for XFN ===&lt;br /&gt;
&lt;br /&gt;
An author will typically their XFN information on a specific page, rather than all pages.  In particular, a specific page separate from the home page of their blog, and thus it would be useful to have an explicit rel value to assist in auto-discovery of XFN information.&lt;br /&gt;
&lt;br /&gt;
This was suggested by Jens Alfke on 20050606 at the WWDC blogger's dinner.&lt;br /&gt;
&lt;br /&gt;
== geo improvements ==&lt;br /&gt;
&lt;br /&gt;
These improvements apply to both [[geo]] and [[hcard|hCard]].&lt;br /&gt;
&lt;br /&gt;
I (Tantek) have seen examples of where there is a human viewable/clickable presentation of a point on a map, and the desire to include the machine readable geo information with the same element, e.g. something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;machine-readable-geo-info&amp;quot;&amp;gt;&lt;br /&gt;
 human readable/clickable point on a map&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But to do this we must specify a syntax for putting both the latitude and longitude into the title attribute as the machine-readable-geo-info.&lt;br /&gt;
&lt;br /&gt;
Fortunately, there already is a syntax for that, in vCard RFC 2426 3.4.2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   Type value: A single structured value consisting of two float values&lt;br /&gt;
   separated by the SEMI-COLON character (ASCII decimal 59).&lt;br /&gt;
&lt;br /&gt;
   Type special notes: This type specifies information related to the&lt;br /&gt;
   global position of the object associated with the vCard. The value&lt;br /&gt;
   specifies latitude and longitude, in that order (i.e., &amp;quot;LAT LON&amp;quot;&lt;br /&gt;
   ordering).&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
   Type example:&lt;br /&gt;
&lt;br /&gt;
        GEO:37.386013;-122.082932&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;37.386013;-122.082932&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I think this is pretty much a no-brainer, because the rules for parsing &amp;quot;geo&amp;quot; are simply altered to:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== latitude longitude shorthand ===&lt;br /&gt;
&lt;br /&gt;
If a &amp;quot;geo&amp;quot; property lacks explicit &amp;quot;latitude&amp;quot; and &amp;quot;longitude&amp;quot; subproperties, then the &amp;quot;geo&amp;quot; property is treated like any other string property  (e.g. following rules for parsing &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;img alt&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; etc.), where that string value has the same literal syntax as specified in RFC 2426 section 3.4.2: single structured value consisting of two float values separated by the SEMI-COLON character (ASCII decimal 59), specifying latitude and longitude, in that order.&lt;br /&gt;
&lt;br /&gt;
=== geo links ===&lt;br /&gt;
&lt;br /&gt;
In addition, people may publish Google Maps links like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://maps.google.com/maps?q=37.386013+-122.082932&amp;quot;&amp;gt;this spot&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(N.B. I tried and failed to get Yahoo Maps and local to do something intelligent with both &amp;quot;37.386013;-122.082932&amp;quot; and &amp;quot;37.386013 -122.082932&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Is it worth permitting this to be a geo as well?&lt;br /&gt;
&lt;br /&gt;
I'm raising this to make sure it is considered.&lt;br /&gt;
&lt;br /&gt;
However, my first guess is NO for two reasons.&lt;br /&gt;
&lt;br /&gt;
# No such examples in the wild have been documented or seen as of yet (I certainly haven't seen any).&lt;br /&gt;
# It would involve additional parsing requirements which are almost certainly going to be site/domain specific, and encoding a particular site's query parameter syntax into a format seems like a bad idea (against principle of decentralization).  &lt;br /&gt;
&lt;br /&gt;
This could be mitigated if mapping services would simply accept the literal vCard GEO syntax &amp;quot;37.386013;-122.082932&amp;quot;, e.g. http://maps.google.com/maps?q=37.386013;-122.082932 (which currently doesn't work) then we could make a simple rule such as for hyperlinks, parse the href attribute for a geo value at the end of the href, delimited before the value by a &amp;quot;=&amp;quot; (or perhaps &amp;quot;/&amp;quot; for services that use friendlier URLs).&lt;br /&gt;
&lt;br /&gt;
=== altitude ===&lt;br /&gt;
&lt;br /&gt;
Some folks have asked for &amp;quot;altitude&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
&lt;br /&gt;
=== radius/zoom ===&lt;br /&gt;
&lt;br /&gt;
Kevin Marks has asked for &amp;quot;radius&amp;quot; or &amp;quot;zoom&amp;quot; as an extension to GEO.  Currently we are rejecting all property/value extensions to hCard/vCard.&lt;br /&gt;
=== ISO6709 ===&lt;br /&gt;
There is a description method for geographic coordinates named [http://en.wikipedia.org/wiki/ISO_6709 ISO6709] though some differs from the notation of vCard.&lt;br /&gt;
It can describe latitude and the longitude.  Height is optional.&lt;br /&gt;
If ISO6709 is used, it is likely to be able to write as follows. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
examples&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+37.386013-122.082932/&amp;quot;&amp;gt;&lt;br /&gt;
 Mountain View, CA&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;geo&amp;quot; title=&amp;quot;+275916+0865640+8850/&amp;quot;&amp;gt;&lt;br /&gt;
 Mount Everest&lt;br /&gt;
&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Issues with vCard Applications ==&lt;br /&gt;
See [[vcard-implementations]].&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
Q: since many of the components would be using CSS classes for encoding data, it is possible to MIX two different profiles. (e.g. hCard and XFN) There are no real constraints on where/how to enforce class names, these are based on the html profile, since it is difficult to associate the text within the attribute to a specific profile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;a href=&amp;quot;mailto:joe.smith@example.com&amp;quot; class=&amp;quot;fn&amp;quot; rel=&amp;quot;met&amp;quot;&amp;gt;Joe Smith&amp;lt;/a&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
Q: Preserving White space? Should the transforming applications preserve extra white space characters? For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://mywebsite.com/&amp;quot; class=&amp;quot;fn n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;other-names&amp;quot;&amp;gt;Q.&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Public&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When transformed into a vCard, the N property will pick apart the span tags and create the value for N correctly seperated by colons. The FN property will take a string and simply display it. There are two possible renderings for FN:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
John Q. Public&lt;br /&gt;
&lt;br /&gt;
    John&lt;br /&gt;
    Q.&lt;br /&gt;
    Public&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Either the white-space is preserved or it is not. Which should the transforming applications render?&lt;br /&gt;
&lt;br /&gt;
-- [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
A: The parsing application should follow the white space collapsing rules of the mime type it retrieves.  I.e. if it retrieves a &amp;quot;text/html&amp;quot; document, it should do HTML white space collapsing.&lt;br /&gt;
&lt;br /&gt;
-- [http://tantek.com/log/ Tantek]&lt;br /&gt;
&lt;br /&gt;
Many of the Questions and Answers are relevant to both [&amp;quot;hCal&amp;quot;] and hCard.&lt;br /&gt;
&lt;br /&gt;
Q: Would it be appropriate to wrap the name of the vCard owner with &amp;lt;dfn/&amp;gt;? This may give the hCard some added semantic value in the XHTML document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;agent&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;email&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;a class=&amp;quot;internet&amp;quot; href=&amp;quot;mailto:jfriday@host.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dfn&amp;gt;&lt;br /&gt;
       &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Joe Friday&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/dfn&amp;gt;&lt;br /&gt;
   &amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1-919-555-7878&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Area Administrator, Assistant&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
-- [http://www.ben-ward.co.uk/ Ben Ward]&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
Applications that are hCard aware or can convert hCard to vCard formats.&lt;br /&gt;
&lt;br /&gt;
=== Copy hCards favelet(s) ===&lt;br /&gt;
* I think a Favelet would work nicely here. When you find a page that is hCard friendly, you click the favlet and you get yourself a vCard. This is done!  See X2V in the implementations section of the [[hcard|hCard]] spec.&lt;br /&gt;
&lt;br /&gt;
=== Distributed Commentor Icons ===&lt;br /&gt;
&lt;br /&gt;
* See [http://thedredge.org/2005/06/using-hcards-in-your-blog/ using hCards in your blog] for an example of hCards used for comment authors (commentors).  The system used there, &amp;quot;Gravatars&amp;quot;, is a centralized site that serves commentor icons that requires login etc.  &lt;br /&gt;
&lt;br /&gt;
What if we gave each commentor the option of hosting their own icon?&lt;br /&gt;
&lt;br /&gt;
A distributed commentor icon implementation could work like this:&lt;br /&gt;
&lt;br /&gt;
# Given the URL of a commentor, look for an &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element with classname of &amp;quot;vcard&amp;quot; at the commentor's URL.  The &amp;lt;code&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element is supposed to be the contact information for the page (see [[hcard-faq|hCard FAQ]] for more info), so this makes sense.&lt;br /&gt;
# Next, look for the first element inside that hcard that has a classname of &amp;quot;logo&amp;quot;.&lt;br /&gt;
# Hopefully that element is an &amp;lt;code&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/code&amp;gt;, and if so, use its src to get the commentor's icon.&lt;br /&gt;
# Presto.  You've got distributed commentor icons!&lt;br /&gt;
&lt;br /&gt;
== Spam prevention ==&lt;br /&gt;
hCard uses &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links, and therefore&lt;br /&gt;
it automatically &amp;quot;inherits&amp;quot; the disadvantage of &amp;lt;code&amp;gt;mailto:&amp;lt;/code&amp;gt; links:&lt;br /&gt;
These links can be easily detected by emails spiders (used by spammers).&lt;br /&gt;
&lt;br /&gt;
Email addresses are picked up like any other link crawled by a search engine and trustworthy crawlers can be deterred from indexing these links by including rel=&amp;quot;nofollow&amp;quot; (See [[rel-nofollow]]). However, email addresses used for spam are usually crawled by untrustworthy email spiders which will likely ignore this attribute.&lt;br /&gt;
&lt;br /&gt;
There are ways to prevent email address detection by simple email spiders, while&lt;br /&gt;
still retaining full compatibility with (X)HTML applications.&lt;br /&gt;
One common way is to &amp;quot;encode&amp;quot; the the &amp;quot;m&amp;quot; of &amp;quot;mail&amp;quot; and &amp;quot;@&amp;quot; with character entities, yet it's unwise to follow a convention of only encoding specific characters because the email spiders can pick up on this too:&lt;br /&gt;
&lt;br /&gt;
Example of the original link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:john.smith@example.com&amp;quot;&amp;gt;john.smith@example.com&amp;lt;/a&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of the &amp;quot;encoded&amp;quot; link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;e&amp;amp;amp;#109;ail&amp;quot; rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;&amp;amp;amp;#109;ailto:john.smith&amp;amp;amp;#064;example.com&amp;quot;&amp;gt;john.smith&amp;amp;amp;#064;example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simple email spiders which do not do character entity decoding will therefore not be able to find your email address.&lt;br /&gt;
&lt;br /&gt;
''Note:'' Perhaps there are or will be email spiders which can decode entities, so the this technique will only help with some (cheap) email spiders.&lt;br /&gt;
(See also: http://rbach.priv.at/Misc/2005/EmailSpiderTest)&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* How to hCard encode entries in Popular blog software.&lt;br /&gt;
* Good reasons to publish your hCard&lt;br /&gt;
** as a business, get people to put you in their address book so they'll find you later&lt;br /&gt;
** as a business with an email list, get people to add you (with email address) to their address book so that your email list works via whitelisting via the address book.&lt;br /&gt;
&lt;br /&gt;
== Parsing ==&lt;br /&gt;
See separate [[hcard-parsing|hCard parsing]] page.&lt;br /&gt;
&lt;br /&gt;
== Post vCard additions ==&lt;br /&gt;
&lt;br /&gt;
Some have found vCard to be limiting in terms of the data/properties/fields they want to express in contact information.  Some implementations use vCard extensions to express such information.&lt;br /&gt;
&lt;br /&gt;
This section is for documentation of such suggested additions.  Note, we will require empirical evidence of actual *real world* examples on the Web of people publishing this information as part of contact information, before considering such additions/extensions.&lt;br /&gt;
&lt;br /&gt;
* altitude. From [[hcard-issues]].&lt;br /&gt;
** No evidence provided that contact information on the Web publishes this information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* The [[hcard-profile]] needs verification and perhaps a URL for retrieving the actual XMDP, rather than as &amp;amp;lt;pre&amp;amp;gt; text on a wiki page.&lt;br /&gt;
* Complete translating the examples from the vCard spec into hCard, and place them on a separate hCard examples page.&lt;br /&gt;
* Create a &amp;quot;rich&amp;quot; but realistic hCard example, say for example for a salesperson, who wants to put a whole bunch of contact information on their website in order to be found/contacted easily.&lt;br /&gt;
* Provide examples of how to encode instant messaging (IM) accounts. Figure out what would the mailto: or aim: URL in hCard look like in vCard. And take a look at what vCard applications do today with IM addresses.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2426.txt RFC 2426] vCard RFC&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2397 RFC 2397] data URI RFC&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.imc.org/pdi/ Personal Data Interchange (PDI) at the Internet Mail Consortium]&lt;br /&gt;
* [http://tantek.com/log/2004/07.html#d27t1049 Markup language design notes]&lt;br /&gt;
* [http://tantek.com/log/2002/12.html#L20021216t2238 A Touch of Class]&lt;br /&gt;
* [http://www.icao.int/mrtd/download/technical.cfm ICAO - Machine Readable Travel Documents format]&lt;br /&gt;
&lt;br /&gt;
== Other Implementations/Ideas ==&lt;br /&gt;
* [http://www.w3.org/TR/2001/NOTE-vcard-rdf-20010222/ Representing vCard Objects in RDF/XML] This could allow conversion of vCard data from XHTML to RDF and from RDF to XHTML&lt;br /&gt;
* It would also be possible to convert XFN and hCard to FoaF and back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ambiguous name components ==&lt;br /&gt;
&lt;br /&gt;
When automatically publishing hCards from pre-existing data, it's not necessarily possible to tell which words in a name map to which hCard properties. When the structure of a name is unknown, it is hard to ensure an automatically published hCard remains valid.&lt;br /&gt;
&lt;br /&gt;
There's currently no easy answer to this.&lt;br /&gt;
&lt;br /&gt;
One implementation suggestion is a 'best-guess' algorithm, something along the lines of:&lt;br /&gt;
&lt;br /&gt;
# If the name is one word, attempt [[hcard#Implied_.22nickname.22_Optimization|implied nickname optimization]]&lt;br /&gt;
# If the name is two words, attempt [[hcard#Implied_.22n.22_Optimization|implied n optimization]]&lt;br /&gt;
# For three or more words&lt;br /&gt;
## Perform a lookup against known sub-name combinations (e.g. 'Sarah Jane', 'Vander Wal')&lt;br /&gt;
## Apply the grammar &amp;quot;given-name additional-name(s) family-name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The principal behind this suggestion is that it's better to make a good guess and potentially miscategorize an ambiguous name component than to generate an invalid hCard.&lt;br /&gt;
&lt;br /&gt;
== Accepted Suggestions ==&lt;br /&gt;
&lt;br /&gt;
=== Encoding Company data as a Business Card (proposal) ===&lt;br /&gt;
&lt;br /&gt;
( Accepted: http://microformats.org/wiki/hcard#Organization_Contact_Info )&lt;br /&gt;
&lt;br /&gt;
In the wild there are several hCards that do not currently validate because they are businesses that have omitted the &amp;quot;fn&amp;quot; property in favor of the &amp;quot;org&amp;quot; property.&lt;br /&gt;
&lt;br /&gt;
Proposal: hCards representing a business or organization MUST set fn AND org to the same value.  Parsers may then use this equivalence, if detected, to treat an hCard as the contact info for a business or organization rather than an individual.&lt;br /&gt;
&lt;br /&gt;
Note that [http://microformats.org/wiki/vcard-implementations#organization_vs._individual Apple Address Book supports this semantic when importing vCards].&lt;br /&gt;
&lt;br /&gt;
See the [http://technorati.com/about/contact.html Technorati Contact Info] for an example.&lt;br /&gt;
&lt;br /&gt;
=== Implied &amp;quot;FN and N&amp;quot; Optimization (proposal) ===&lt;br /&gt;
&lt;br /&gt;
Right now a parser first looks for an &amp;quot;n&amp;quot; element.&lt;br /&gt;
&lt;br /&gt;
And then if no &amp;quot;n&amp;quot; is present, look for an &amp;quot;fn&amp;quot; element to use to imply an &amp;quot;n&amp;quot; element per the &amp;quot;implied n property&amp;quot; rules in the spec.&lt;br /&gt;
&lt;br /&gt;
BACKGROUND:&lt;br /&gt;
&lt;br /&gt;
Due to the prevalence of the use of &amp;quot;nicknames&amp;quot; or &amp;quot;handles&amp;quot; on the Web, in actual content published on the Web (e.g. authors of reviews), there has been a discussion about adding a &amp;quot;fn&amp;quot; shortcut to the &amp;quot;n&amp;quot; shortcut that used the &amp;quot;nickname&amp;quot; as a fallback.&lt;br /&gt;
&lt;br /&gt;
PROPOSAL:&lt;br /&gt;
&lt;br /&gt;
We should consider adding one more implied optimization after the steps documented above and that is:&lt;br /&gt;
&lt;br /&gt;
If no &amp;quot;fn&amp;quot; is present either, then look for a &amp;quot;nickname&amp;quot; element to use to imply both the &amp;quot;fn&amp;quot;, and the &amp;quot;n/given-name&amp;quot;, leaving the &amp;quot;n/family-name&amp;quot; as empty.&lt;br /&gt;
&lt;br /&gt;
This would enable &amp;quot;nickname&amp;quot; only hCards for denoting and individual on a website, which is quite common on blogs and reviews published on the Web.&lt;br /&gt;
* +1 [[User:Atamido|Atamido]]&lt;br /&gt;
* +1 [[User:ChrisMessina|ChrisMessina]] - note: multiple alternate nicknames should also be allowed&lt;br /&gt;
* +1 [[User:DimitriGlazkov|DimitriGlazkov]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rejected Suggestions ==&lt;br /&gt;
&lt;br /&gt;
Suggestion: ''The use of class=&amp;quot;url&amp;quot; on an &amp;lt;a&amp;gt; tag to represent an hCard URL property is redundant. By virtue of the &amp;lt;a&amp;gt; tag you know this is a URL.''&lt;br /&gt;
&lt;br /&gt;
Rejected.  This is a bad suggestion because although it appears to reduce redunancy and keep things cleaner, it also creates a few problems. Without explicitly noting that this is a URL then any &amp;lt;a&amp;gt; tags within a 'vcard' would be considered a URL, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;ul class=&amp;quot;categories&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://w3c.org&amp;quot;&amp;gt;W3C&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is no way to &amp;quot;turn-off&amp;quot; the encoding of the W3C URL, whereas if &amp;quot;url&amp;quot; needed to be explicitly listed in the class attribute list, then by NOT listing it you could effectively turn it off.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcalendar-faq&amp;diff=6499</id>
		<title>hcalendar-faq</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcalendar-faq&amp;diff=6499"/>
		<updated>2006-05-23T20:05:47Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Q&amp;amp;A */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= hCalendar FAQ =&lt;br /&gt;
&lt;br /&gt;
This page is for documenting Q&amp;amp;A about [[hcalendar|hCalendar]].  If you have a new question to ask, Please consider first asking your question on the [http://microformats.org/mailman/listinfo/microformats-discuss/ microformats-discuss] list.&lt;br /&gt;
&lt;br /&gt;
== Q&amp;amp;A ==&lt;br /&gt;
&lt;br /&gt;
# ''How do I use a class inside &amp;lt;span class=&amp;quot;vcalendar&amp;quot;&amp;gt; when I don't want the element I use it on to be a property of the calendar?''&lt;br /&gt;
#*Use a class name that isn't a defined iCalendar property name.&lt;br /&gt;
# ''What happens if the class is used both inside and outside &amp;lt;span class=&amp;quot;vcalendar&amp;quot;&amp;gt;?''&lt;br /&gt;
#* That works fine.&lt;br /&gt;
# ''What do I do if I want to add styling to a group of calendar events, especially if the calendar contains dynamic content? ''&lt;br /&gt;
#* You can write style rules that incorporate both the context of said group (say it is in an ordered list with class name &amp;quot;group&amp;quot; for example) and the events, e.g.:&amp;lt;code&amp;gt;ol.group .vevent { /* insert common styling here */ } &amp;lt;/code&amp;gt;&lt;br /&gt;
# ''What do you do if you don't want the calendar or card to be displayed?''&lt;br /&gt;
#* If you don't want the calendar or card to be displayed, why are you publishing it on the Web?&lt;br /&gt;
# ''What if you don't want specific properties to show up?''&lt;br /&gt;
#* You can trivially use CSS to hide (or otherwise alter the display) of certain properties.  E.g. if you want to hide the &amp;quot;location&amp;quot; from all your VEVENTs you would write a rule like this: &amp;lt;code&amp;gt; .vevent .location { display:none } &amp;lt;/code&amp;gt;. This won't, however, keep the properties from being read in the HTML source.&lt;br /&gt;
# ''If we use &amp;amp;lt;abbr&amp;amp;gt; title for the ISODate, how do we specify a different tooltip?''&lt;br /&gt;
#* For reasons of metadata transparency and visibility, it is recommended that you DO NOT specify a different tooltip.  However, if in your particular content or application you must, you can do so with a nested span e.g. &amp;lt;code&amp;gt; &amp;lt;abbr title=&amp;quot;20050221&amp;quot;&amp;gt;&amp;lt;span title=&amp;quot;tooltip text&amp;quot;&amp;gt;Feb. 21st&amp;lt;/span&amp;gt;&amp;lt;/abbr&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# ''Would the use of &amp;amp;lt;acronym&amp;amp;gt; for DTSTART be just as good as &amp;lt;abbr&amp;gt;?''&lt;br /&gt;
#* It could be, but there is no need.  The &amp;amp;lt;abbr&amp;amp;gt;  element is also preferred as it is better defined.  The &amp;amp;lt;acronym&amp;amp;gt; element, and in particular, the term &amp;quot;acronym&amp;quot; means different things to different people, and thus we are not using it in [[hcalendar|hCalendar]].&lt;br /&gt;
# ''What happens if a browser doesn't support &amp;amp;lt;abbr&amp;amp;gt;?''&lt;br /&gt;
#* Then the human readable contents inside the element are displayed, which is the desirable behavior.&lt;br /&gt;
# ''How is [[hcalendar|hCalendar]] different from xCalendar, i.e. [http://www.ietf.org/internet-drafts/draft-hare-xcalendar-03.txt draft iCalendar XML guidelines submitted to the IETF]?''&lt;br /&gt;
#* hCalendar and xCalendar are actually very similar in that they are both based on iCalendar standard, RFC2445. However, xCalendar is a way of representing iCalendar files using non-standard XML element names and attributes.  This is inadequate and unwieldly for serving on web pages. xCalendar is still a separate, encapsulated document in the context of the web, that requires yet another namespace. Nobody would ever look at an xCalendar XML file in the context of their ordinary browsing, unless it's XSLTed into something else, e.g. hCalendar. On the other hand, [[hcalendar|hCalendar]] is easily embeddable into normal XHTML web pages, easily stylable with CSS, cleanly separates human presentable date information vs. machine parsable ISO-8601 dates, etc. With hCalendar, calendar and events content appears both to the human user *and* to hCalendar-aware machine implementations, parsers, indexers, etc., on *today's* web.&lt;br /&gt;
# ''Can you provide more precise location data for an hCalendar event such as latitude and longitude?''&lt;br /&gt;
#* Yes, it is possible, by overlaying an [[hcard|hCard]] with the location markup (see [[hcalendar-brainstorming#hCard_locations|the brainstorming on hCard locations]]), e.g. using your lat long example (taking the values as given, someone feel free to fix these to be the real values). The code example(s) are presumed to be inside an element with a class name of &amp;quot;vevent&amp;quot;.  See the [[hcalendar-location-hcard-example]] page for details.  For more discussions of location data, geographic data, and research into current and potential future formats, see the [[location-formats|location formats]] page.&lt;br /&gt;
# ''When transforming an hCalendar to a .ics file, do I have to convert the time to UTC?''&lt;br /&gt;
#* Yes. The iCalendar format does not permit the time to be published with an offset. hCalendars can be published with offsets, because this promotes accuracy, as it can more easily be verified (timezone math is hard), but tools which transform hCalendar to iCalendar must transformat times to UTC.&lt;br /&gt;
# ''How are recurring events represented?''&lt;br /&gt;
#* If you take a look at [http://microformats.org/wiki/hcalendar-examples#Example_3 Example 3], there is a proposed means using an &amp;lt;em&amp;gt;RRULE&amp;lt;/em&amp;gt; property along with a &amp;lt;em&amp;gt;freq&amp;lt;/em&amp;gt; sub-property. It's a start - more brainstorming at [http://microformats.org/wiki/hcalendar-brainstorming#Recurring_Events hcalendar-brainstorming].&lt;br /&gt;
# ''How does one markup just the year as opposed to an entire date? e.g. to represent age, or discussing &amp;quot;the past year&amp;quot; ?&lt;br /&gt;
#* Depends on the context.  If by &amp;quot;the past year&amp;quot;, you mean the past *calendar* year, then mark it up as January 1st through December 31st.  If you mean the past 365 days, then mark it up according to whatever date it is relative to.  Etc.&lt;br /&gt;
# ''Are there any programs of services that convert from iCalendar to hCalender?''&lt;br /&gt;
#*At the moment there are no plans to create a program. There are several issues when converting, mainly HOW the information is represented in HTML. Since you can use just about any element which could the converter choose. This is not to say a converter shouldn't be built, but it is out of the scope of microformats.&lt;br /&gt;
# ''Is the list of possible types for an ADR and TEL case sensitive?''&lt;br /&gt;
#* No, enumerated values are case-INsensitive, therefore Home, home, HOME, etc are all equivalent&lt;br /&gt;
# ''Why won't Outlook import my ics file''&lt;br /&gt;
#* Outlook is picky about some properties. With outlook, UID, DTSTAMP and METHOD are mandatory. Be sure you have marked-up your hCalendar with a class=&amp;quot;uid&amp;quot; and a class=&amp;quot;dtstamp&amp;quot; in a class=&amp;quot;vevent&amp;quot;&lt;br /&gt;
# ''Can I use YYYY-MM-DDThh:mm:ss dates or do I have to use the YYYYMMDDThhmmss format?''&lt;br /&gt;
#* hCalendar specifies [http://en.wikipedia.org/wiki/ISO8601 ISO8601 datetime format], and both examples are valid, you can use with or without hyphens/colons/spaces.&lt;br /&gt;
# ''Do I have to specify detailed time and timezone information?''&lt;br /&gt;
#* Include as much information as necessary, minimally include YYYY-MM-DD&lt;br /&gt;
# ''Why do I have to use a 'T' between the date and time in ISO Dates?''&lt;br /&gt;
#* You can NOT use a white-space character, the 'T' is mandatory to separate the date from the time.&lt;br /&gt;
# ''Why are the root class names &amp;quot;vcalendar&amp;quot; and &amp;quot;vevent&amp;quot; and not &amp;quot;hcalendar&amp;quot;?''&lt;br /&gt;
#* [[hcalendar|hCalendar]] is based on the iCalendar spec (RFC 2445), which itself is based on vCalendar.  The names of objects have remained consistent throughout and are based on the original names from vCalendar.&lt;br /&gt;
# ''How do I mark-up a date-time with the proper timezone?''&lt;br /&gt;
#* There are two ways to do this. First, you can add your timezone offset to the end of your date-time like this: 2006-01-01T12:00:00-0600.  [[http://aa.usno.navy.mil/faq/docs/world_tzones.html See a world timezone offset map here]]. Also, be sure to adjust offset to account for [[http://en.wikipedia.org/wiki/Daylight_saving_time Daylight Saving Time]] for events within applicable dates and locations. The other option is to convert your date-time with a timezone into a UTC date-time. iCalendar requires that times be in UTC, but hCalendar also allows for encoding your date-times as proper ISO date-times with timezone offsets.&lt;br /&gt;
# ''Why does my event end a day earlier than I want?''&lt;br /&gt;
#* DTEND is not inclusive. If you want an event to end on January 2nd, then you will need to set DTEND to 2006-01-03, one day later. This is because the event will END the first second of the date provided, so if you specify 2006-01-02, then that says that the end of the event is at midnight between the 1st and 2nd.&lt;br /&gt;
# ''How do I represent a repeating event in hCalendar?''&lt;br /&gt;
#* See [[hcalendar-brainstorming#Recurring_Events|hCalendar brainstorming: Recurring Events]]&lt;br /&gt;
# ''What is the best way to represent a full address in the Location?''&lt;br /&gt;
#* See [[hcalendar-brainstorming#hCard_locations|hCalendar brainstorming: hCard locations]]&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcalendar&amp;diff=6448</id>
		<title>hcalendar</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcalendar&amp;diff=6448"/>
		<updated>2006-05-23T19:55:38Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; hCalendar &amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hCalendar is a simple, open, distributed calendaring and events format, based on the  iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hCalendar is one of several open [[microformats|microformat]] standards.&lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an [[hcalendar|hCalendar]] event?  Use the [http://microformats.org/code/hcalendar/creator hCalendar creator] to write up an event and publish it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
; Editor : [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc])&lt;br /&gt;
; Authors : [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
: [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2004}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Inspiration and Acknowledgments ===&lt;br /&gt;
Thanks to:&lt;br /&gt;
* Adam Bosworth for leading the [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation] which brought together a critical mass of interested parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), has been broadly interoperably implemented (e.g. Apple's &amp;quot;iCal&amp;quot; application built into MacOSX).&lt;br /&gt;
&lt;br /&gt;
In addition, bloggers often discuss events on their blogs -- upcoming events, writeups of past events, etc.  With just a tad bit of structure, bloggers can discuss events in their blog(s) in such a way that spiders and other aggregators can retrieve such events, automatically convert them to iCalendar, and use them in any iCalendar application or service.&lt;br /&gt;
&lt;br /&gt;
This specification introduces the '''hCalendar''' format, which is a 1:1 representation of the aforementioned iCalendar standard, in semantic XHTML.  Bloggers can both embed hCalendar events directly in their web pages, and style them with CSS to make them appear as desired.  In addition, hCalendar enables applications to retrieve information about such events directly from web pages without having to reference a separate file.&lt;br /&gt;
&lt;br /&gt;
== Semantic XHTML Design Principles ==&lt;br /&gt;
&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== In General ===&lt;br /&gt;
&lt;br /&gt;
The iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]) forms the basis of hCalendar.&lt;br /&gt;
&lt;br /&gt;
Note: the editor and authors of this specification are tracking the [http://lists.osafoundation.org/pipermail/ietf-calsify/ &amp;quot;iCal-Basic&amp;quot; effort] and intend to base the core hCalendar profile on iCal-Basic. See references for a link to the current draft.&lt;br /&gt;
&lt;br /&gt;
The basic format of hCalendar is to use iCalendar object/property names in lower-case for class names, and to map the nesting of iCalendar objects directly into nested XHTML.&lt;br /&gt;
&lt;br /&gt;
=== More Semantic Equivalents ===&lt;br /&gt;
&lt;br /&gt;
However, for some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.:&lt;br /&gt;
* &amp;lt;code&amp;gt;URL&amp;lt;/code&amp;gt; in iCalendar becomes  &amp;lt;code&amp;gt;&amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;...&amp;quot;&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/code&amp;gt; inside the element with &amp;lt;code&amp;gt;class=&amp;quot;vevent&amp;quot;&amp;lt;/code&amp;gt; in hCalendar.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATTENDEE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CONTACT&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;ORGANIZER&amp;lt;/code&amp;gt; in iCalendar may be represented by an [[hcard|hCard]] in hCalendar .&lt;br /&gt;
* A named &amp;lt;code&amp;gt;LOCATION&amp;lt;/code&amp;gt; (potentially with an address and/or geo) in iCalendar may be represented by a nested [[hcard|hCard]] in hCalendar.  Similarly, an address &amp;lt;code&amp;gt;LOCATION&amp;lt;/code&amp;gt; may be represented by an [[adr]], and a geo (latitude and longitude) &amp;lt;code&amp;gt;LOCATION&amp;lt;/code&amp;gt; may be represented by a [[geo]].&lt;br /&gt;
* &amp;lt;code&amp;gt;UID&amp;lt;/code&amp;gt; in iCalendar simply becomes another semantic applied to a specific URL for an hCalendar event.&lt;br /&gt;
&lt;br /&gt;
=== Singular vs. Plural Properties ===&lt;br /&gt;
&lt;br /&gt;
For properties which are singular (e.g. &amp;quot;N&amp;quot; and &amp;quot;FN&amp;quot; from vCard), the first descendant element with that class should take effect, any others being ignored.&lt;br /&gt;
&lt;br /&gt;
For properties which can be plural (e.g. &amp;quot;TEL&amp;quot; from vCard), each class instance should create a instance of that property.  Plural properties with subtypes (e.g. TEL with WORK, HOME, CELL from vCard) can be optimized to share a common element for the property itself, with each instance of subtype being an appropriately classed descendant of the property element.&lt;br /&gt;
&lt;br /&gt;
==== Plural Properties Singularized ====&lt;br /&gt;
&lt;br /&gt;
Since plural property names become their singular equivalents, even if the original plural property permitted only a single value with multiple components, those multiple components are represented each with their own singularly named property and the the property is effectively multivalued and subject to the above treatment of multivalued properties.&lt;br /&gt;
&lt;br /&gt;
=== Human vs. Machine readable ===&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element is used for a property, then the '&amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;' attribute of the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element is the value of the property, instead of the contents of the element,  which instead provide a human presentable version of the value.  This specification recommends that such &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; elements be used for the following iCalendar properties:&lt;br /&gt;
* DTSTART, DTEND, DURATION, RDATE, RRULE&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Here is a sample event in an iCalendar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
BEGIN:VCALENDAR&lt;br /&gt;
PRODID:-//XYZproduct//EN&lt;br /&gt;
VERSION:2.0&lt;br /&gt;
BEGIN:VEVENT&lt;br /&gt;
URL:http://www.web2con.com/&lt;br /&gt;
DTSTART:20051005&lt;br /&gt;
DTEND:20051008&lt;br /&gt;
SUMMARY:Web 2.0 Conference&lt;br /&gt;
LOCATION:Argent Hotel\, San Francisco\, CA&lt;br /&gt;
END:VEVENT&lt;br /&gt;
END:VCALENDAR&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and an equivalent event in hCalendar format with various elements optimized appropriately.  See [[hcalendar-example1-steps]] for the derivation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vevent&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://www.web2con.com/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Web 2.0 Conference&amp;lt;/span&amp;gt;: &lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtstart&amp;quot; title=&amp;quot;2005-10-05&amp;quot;&amp;gt;October 5&amp;lt;/abbr&amp;gt;-&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtend&amp;quot; title=&amp;quot;2005-10-08&amp;quot;&amp;gt;7&amp;lt;/abbr&amp;gt;,&lt;br /&gt;
 at the &amp;lt;span class=&amp;quot;location&amp;quot;&amp;gt;Argent Hotel, San Francisco, CA&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
which could be displayed as:&lt;br /&gt;
&lt;br /&gt;
[http://www.web2con.com/ Web 2.0 Conference: October 5-7, at the Argent Hotel, San Francisco, CA]&lt;br /&gt;
&lt;br /&gt;
Note 1: The product information is not necessary since hCalendar is an interchange format.  When transforming hCalendar back into iCalendar, the transforming engine should add its own product ID.&lt;br /&gt;
&lt;br /&gt;
Note 2: A surrounding &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;vcalendar&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element is optional, and is left out as such.  It is optional since the context of a vcalendar is implied when a vevent is encountered.  The implied context/scope is that of the document.  Authors may explicitly use elements with class=&amp;quot;vcalendar&amp;quot; to wrap sets of vevents that all belong to the same calendar, e.g. when publishing multiple calendars on the same page.&lt;br /&gt;
&lt;br /&gt;
Note 3: The version information is unnecessary in hCalendar markup directly since the version will be defined by the profile of hCalendar that is used/referred to in the 'profile' attribute of the &amp;lt;head&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
Note 4: ISO8601 dates (required by iCalendar) are not very human friendly.  In addition, the year is often understood implicitly by humans from the context.  Thus &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; elements are used to simultaneously provide a human friendly date and/or time in the visible contents of the element, while placing the respective machine parsable comprehensive ISO8601 datetime in the 'title' attribute.&lt;br /&gt;
The notation YYYY-MM-DD should be used for better readability.&lt;br /&gt;
&lt;br /&gt;
Note 5: The difference between the DTEND ISO8601 date (2005-10-08) and the human readable date (7) is NOT a mistake.  [http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html DTEND is exclusive], meaning, that the event ends just before the DTEND. Thus for events which start on one day and end on another day, the DTEND date must be specified as the day after the day that a human would say is the last day of the event.&lt;br /&gt;
&lt;br /&gt;
Note 6: The location in this example contains implicit structure (venue name, city, state) which could be marked up explicitly as an [[hcard|hCard]].  See [http://microformats.org/wiki/hcalendar-brainstorming#hCard_locations hCalendar brainstorming: hCard locations] for a informative explanation of how to do this.&lt;br /&gt;
&lt;br /&gt;
See [[hcalendar-examples]] for more hCalendar examples&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following sites have implemented hCalendar, and thus are a great place to start for anyone looking for examples &amp;quot;in the wild&amp;quot; to try parsing, indexing, organizing etc.  If events on your pages are marked up with hCalendar, feel free to add it to the top of this list.  Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&lt;br /&gt;
=== New Examples ===&lt;br /&gt;
Please add new examples to this section.&lt;br /&gt;
* [http://www.worldcupkickoff.com/ World Cup KickOff] where you can download and keep all the fixtures you are interested in so you will never miss a single game of the 2006 football World Cup!&lt;br /&gt;
* [http://www.socaltech.com socalTECH] is a news and information site. Their front page event listing is marked up with hCalendar.&lt;br /&gt;
* [http://www.webanalyticsassociation.org/en/calendarevents/search.asp  Web Analytics Association] - hCalendar microformat is in place on all Tendenci sites on the calendar events search page and consolidated list page.&lt;br /&gt;
* [http://www.tendenci.com/en/calendarevents/search.asp Tendenci Calendar Events] with hCalendar&lt;br /&gt;
* [http://www.argolon.com/2006/04/17/web20-conference-in-dublin/ Web2.0 Conference in Dublin] hCalendar event&lt;br /&gt;
* [http://www.meetup.com/ Meetup.com] has marked up [http://www.meetup.com/cities/us/ny/new_york city event calendars], [http://photo.meetup.com/100/events/ group event lists], and [http://www.meetup.com/ signed-in homepages] with hCalendar.&lt;br /&gt;
* [http://ukwindsurfing.com/ ukwindsurfing.com] has marked upcoming events with hCalendar, and the [http://ukwindsurfing.com/events/ events page] in a table.&lt;br /&gt;
* [http://ocono.com/ ocono.com] has marked up it's &amp;quot;Upcoming Events&amp;quot; list with hCalendar.&lt;br /&gt;
* [http://www.austinbloggers.org/ Austin Bloggers] has marked up their &amp;quot;Upcoming Events&amp;quot; box with hCalendar ([http://www.austinbloggers.org/blog/a/001123.html announcement]).&lt;br /&gt;
* Ning's cloneable Group app has [[hcalendar|hCalendar]] markup on its [http://group.ning.com/index.php?controller=event&amp;amp;action=list event calendar] and [http://group.ning.com/index.php?controller=event&amp;amp;action=view&amp;amp;id=727220 event detail] pages.&lt;br /&gt;
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] has [[hcard|hCard]] and [[hcalendar|hCalendar]] markup. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original here]).&lt;br /&gt;
* The National Arbor Day Foundation has started using hCalendars for their [http://arborday.org/programs/conferences/communityforestry/index.cfm upcoming] [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conferences].&lt;br /&gt;
* [http://www.multipack.co.uk The Multipack] features a vevent for the next meeting information.&lt;br /&gt;
* [http://www.stateofflux.com/ State of Flux street art site] has started adding events in hCalendar format&lt;br /&gt;
* The [http://barcamp.org/#BarCamps BarCamp home page lists upcoming BarCamps marked up with hCalendar] and even has a &amp;quot;Subscribe...&amp;quot; link.&lt;br /&gt;
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] has marked up the schedule and events for the week with hCalendar.&lt;br /&gt;
* [http://www.code4lib.org/2006/schedule code4lib Conference 2006 Schedule] is marked up with hCalendar as [http://www.code4lib.org/node/65 announced on their blog].&lt;br /&gt;
* [http://grouper.ieee.org/groups/754 IEEE 754 Working Group] - trying hCalendar for upcoming meetings.&lt;br /&gt;
* [http://www.pehuen.org/node/494  Elecciones 2005 Chile] - the first spanish language hCalendar event found in the wild.&lt;br /&gt;
* [http://www.codewitch.org/it/2005/11/17/no-creative-commons-no-party/ Giocolando » No Creative Commons? No Party!] is marked up with hCalendar&lt;br /&gt;
* [http://www.cmprofessionals.org/events/calendar.html CM Pros Events Calendar] by Bob Doyle&lt;br /&gt;
* [http://www.midgard-project.org/community/events/ Midgard CMS Event calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] &lt;br /&gt;
* [http://www.iowamilitaryveteransband.com/schedule/ Iowa Military Veterans Band Schedule] - hCalendar markup [http://weblog.randomchaos.com/archive/2005/10/24/Microformats/ added by Scott Reynen]&lt;br /&gt;
* [http://www.funfairgames.net/weblog/posts/00000011.html Upcoming events on Jason A.R. Moody Amusements Weblog] posted by Jason Moody on 15 Oct 2005. [http://www.funfairgames.net/weblog/index.html His weblog] in general has hCalendar events posted inside the blog posts.&lt;br /&gt;
* [http://tantek.com/microformats/2005/syndicate/tracks-sessions-schedule.html Syndicate - Tracks &amp;amp;amp; Sessions]&lt;br /&gt;
* [http://tantek.com/microformats/2005/web2/program.html Web 2.0 Conference schedule page marked up with hCalendar]&lt;br /&gt;
* [http://www.thisiscmon.com/ C'MON] is a rock band from Canada, and their [http://www.thisiscmon.com/shows/ tour dates] have been marked up by [http://www.d2digitalmedia.com/ Ray Dickman] with hCalendar.&lt;br /&gt;
* [http://ifreebusy.com/ ifreebusy.com] will display freebusy information using hCalendar. See this [http://ifreebusy.com/neiljensen/freebusy/ example].&lt;br /&gt;
* [http://we05.com/ Web Essentials 05] has marked up their [http://we05.com/program.cfm program schedule table with hCalendar], using the 'axis' and 'headers' attributes.&lt;br /&gt;
* [http://www.asdvbonaparte.nl/ ASDV Bonaparte] is a Dutch debating society. Their events calendar has been marked up with the hCalendar conventions.&lt;br /&gt;
* [http://chocnvodka.blogware.com/blog Suw Charman] has marked up [http://suw.org.uk/archives/category/events/ her events] with hCalendar.&lt;br /&gt;
* [http://www.blogbusinesssummit.com/ Blog Business Summit] has published their [http://www.blogbusinesssummit.com/details.htm event details] marked up with hCalendar.&lt;br /&gt;
* [http://eventful.com Eventful.com] publishes all events with hCalendar and venues with [[hcard|hCard]].  Took them only 15 minutes to implement both! Their Atom feeds also contain hCalendar/hCard.&lt;br /&gt;
* [http://upcoming.org Upcoming.org] publishes all events and lists of events with hCalendar.  Took them only an hour to add hCalendar support to the site.&lt;br /&gt;
* The [http://laughingsquid.com/squidlist/calendar/ Laughing Squid Calendar] events, [http://laughingsquid.com/squidlist/calendar/9949/2005/5/9 e.g. this party], now supports hCalendar.&lt;br /&gt;
* [http://paulschreiber.com/ Paul] Schreiber's [http://concerts.shrub.ca/ Sunnyvale House Concerts] site publishes hCalendar event information for upcoming concerts.  In addition the [http://concerts.shrub.ca/shows Past Shows] page contains hCalendar events for all past concerts.&lt;br /&gt;
* [http://paulschreiber.com/ Paul] Schreiber's [http://iceoasis.shrub.ca/ unofficial schedule site] publishes hCalendar information for upcoming hockey games at [http://www.iceoasis.com/ Ice Oasis]&lt;br /&gt;
* [http://www.complexspiral.com/ Complex Spiral Consulting], both in the &amp;quot;Events&amp;quot; box on left side, and the separate [http://www.complexspiral.com/events/ Events page]. &lt;br /&gt;
* [http://tantek.com/log Tantek's Thoughts], specifically the &amp;quot;Events&amp;quot; roll in the right-most column.&lt;br /&gt;
* [http://suda.co.uk/projects/holidays/ Lesser Known Holidays], a list of holidays on [http://suda.co.uk suda.co.uk] that can be imported via iCal and hCal so you can compare actual transformation versus intended.&lt;br /&gt;
* [http://norman.walsh.name/2005/itinerary/ Norm Walsh's travel schedule] use hCalendar as well as GRDDL.&lt;br /&gt;
* [http://www.policyawareweb.org/2005/ftf2/paw-mtg Policy Aware Web (PAW) Project Meeting] uses hCalendar to record date-related decisions, and uses a vtodo microformat to record action items.&lt;br /&gt;
* The [http://www.kiez-ev.de/ Kiez] is a small cinema and has published its [http://www.kiez-ev.de/programm.htm program] marked up with hCalendar.&lt;br /&gt;
* The [http://lufgi4.informatik.rwth-aachen.de Laboratory for Dependable Distributed Systems] publishes it's [http://lufgi4.informatik.rwth-aachen.de/cfps list of notable CfPs on dependability and security] with hCalendar-todo elements.&lt;br /&gt;
* The [http://laughingsquid.com/laughing-squid-10th-anniversary-party/ Laughing Squid 10th Anniversary Party] has an hcalendar page.&lt;br /&gt;
* SPRACI has hcalendar versions of its nightlife/clubbing/gigs/festivals listings for many cities worldwide - eg: [http://www.spraci.com/listhcalendar.php?parea=sydney&amp;amp;category=all Events in Sydney] (check the [http://www.spraci.com/api/ API] pages in the faq section of [http://www.spraci.com/ SPRACI] for more info about the area/city keywords and category tags to use to get data for your city/categories&lt;br /&gt;
* WWF-Australia events calendars: [http://wwf.org.au/act/events/ What's on], [http://wwf.org.au/act/volunteer/ Volunteer]&lt;br /&gt;
* [http://rubyholic.com rubyholic] uses hCalendar to publish calendars for ruby groups.&lt;br /&gt;
* [http://www.bath.ac.uk/whats-on/ University of Bath What's On] uses hCalendar on individual event pages&lt;br /&gt;
&lt;br /&gt;
=== Examples with some problems ===&lt;br /&gt;
* [http://www.bokle.de/ s'Bokle] is a German music pub. Their events calendar has been marked up with hCalendar.&lt;br /&gt;
** improper use of rrule --[[User:RyanKing|RyanKing]] 16:04, 6 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse hCalendars. If you have an hCalendar implementation, feel free to add it to the top of this list.  Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&lt;br /&gt;
=== Authoring ===&lt;br /&gt;
Implementations you can use to author, create, and publish hCalendar events.&lt;br /&gt;
&lt;br /&gt;
==== Blogging and CMS tools ====&lt;br /&gt;
;Midgard CMS : [http://www.midgard-project.org/documentation/net-nemein-calendar/ Midgard CMS - net.nemein.calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] &lt;br /&gt;
&lt;br /&gt;
;Drupal module : [http://hybernaut.com/upcoming-hcal Drupal Upcoming.org syndication module emits hCalendar]&lt;br /&gt;
;MovableType and WordPress plug-ins : [http://structuredblogging.org/formats.php StructuredBlogging] is a set of plugins  [http://structuredblogging.org/structuredblogging-wp-latest.zip for  WordPress] and [http://structuredblogging.org/structuredblogging-wp-latest.zip for MovableType] that supports embedding hCalendar and other microformats in templates and blog posts.&lt;br /&gt;
;Textpattern plug-in : [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding hCalendar and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].&lt;br /&gt;
&lt;br /&gt;
==== Browser scripts and plug-ins ====&lt;br /&gt;
Browser plugins that work with existing authoring tools:&lt;br /&gt;
; Any browser with javascript and a little bit of CSS : [http://microformats.org/code/hcalendar/creator microformats.org hCalendar creator]  (see also original: [http://theryanking.com/ Ryan King] has an [http://theryanking.com/microformats/hcalendar-creator.html hCalendar creator]).&lt;br /&gt;
; Firefox Greasemonkey user script hCalendar creator : [http://www.decafbad.com/blog/2005/06/08/greasemonkey_magic magic_hcalendar Greasemonkey user script by Les Orchard] - allows easy form entry of an event into any textarea, e.g. into a blog post text area.&lt;br /&gt;
; Firefox Greasemonkey user script hCalendar to Google Calendar: [http://torrez.us Elias Torres] has created a [http://torrez.us/archives/2006/04/13/431/ simple script] that will parse hCalendar entries and create a link to add event to [http://www.google.com/calendar/ Google Calendar's] service. Based on [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats George's] and [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats Arve's] work.&lt;br /&gt;
&lt;br /&gt;
==== Desktop Authoring Tools ====&lt;br /&gt;
;Dreamweaver Extension : [http://www.webstandards.org/action/dwtf/microformats/ Extension suite] for Dreamweaver 8 from the [http://webstandards.org/ Web Standards Project].&lt;br /&gt;
;xfy : &lt;br /&gt;
In [https://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations.&lt;br /&gt;
&lt;br /&gt;
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&amp;amp;lid=25 hCalendar via RSS] parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.&lt;br /&gt;
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=19&amp;amp;lid=23 hCalendar Marker XVCD] helps to mark up an event information in XHTML document with hCalendar. &lt;br /&gt;
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&amp;amp;lid=17 Simple RDF Calendar XVCD] is a schedule tool which uses RDF Calendar format. It also converts RDF Calendar format to iCalendar and hCalendar format.&lt;br /&gt;
&lt;br /&gt;
=== Conversion and Import ===&lt;br /&gt;
Implementations you can use to importing into a Calendar Application, typically by converting hCalendar to iCalendar/vCalendar.&lt;br /&gt;
&lt;br /&gt;
==== Web Services ====&lt;br /&gt;
These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.&lt;br /&gt;
* [http://feeds.technorati.com/events Technorati Events Feed service] uses X2V library to parse hCalendar and return iCalendar (.ics).  Note friendly URL, e.g. http://feeds.technorati.com/events/http%3A//microformats.org&lt;br /&gt;
* [http://suda.co.uk/projects/X2V/ X2V] parses hCalendar and produces a .ics (iCalendar) stream.  Note: needs to be updated to track changes in the specification as they occur.&lt;br /&gt;
* [http://lifelint.net/ Life Lint Parser] parses hCalendar and produces .ics, .rdf and debugging information and attempts to be more fully compliant to the iCal standard than previous implementations.  It can be used in the same manner as X2V.  Can output iCal (w optional Outlook 2002 compat), and RDF.&lt;br /&gt;
==== Firefox Greasemonkey Plugins ====&lt;br /&gt;
* [http://george.hotelling.net/90percent/ George] has built a [http://george.hotelling.net/90percent/geekery/greasemonkey_and_microformats.php Greasemonkey user script that detects hCalendar events and allows users to easily add them to their calendar application(s)].&lt;br /&gt;
* [http://blogmatrix.blogmatrix.com/ David Janes] has produced a [[Greasemonkey]] [http://www.blogmatrix.com/include/microformat-find.user.js script] that finds many microformat elements, including hCalendar events, and [http://blog.davidjanes.com/mtarchives/2005_08.html#003379 provides a popup menu of actions]. The hCalendar to vCalendar conversion is done internally within the script. ''This does not work with FireFox 1.5+/GreaseMonkey 0.6.4+.''&lt;br /&gt;
==== Aggregators ====&lt;br /&gt;
* [http://kula.jp/software/endo/screenshots/ Endo], an OS X aggregator, supports discovering hCal and adding those events to iCal. Look at the last screenshot at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
=== Browsing ===&lt;br /&gt;
Implementations that detect, display and otherwise highlight hCalendar events in pages.&lt;br /&gt;
&lt;br /&gt;
* In [http://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations. &amp;quot;hCalendar via RSS&amp;quot; parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.&lt;br /&gt;
* [http://web.mit.edu/glasser/www/JSCalendar/ JSCalendar] parses hCalendar and produces a displayable HTML table/CSS-based calendar.&lt;br /&gt;
&lt;br /&gt;
==== Firefox extension ====&lt;br /&gt;
[http://blog.codeeg.com/tails-firefox-extension/ Tails is a Firefox Extension] that will display the presence of microformats ([[hcard|hCard]], [[hcalendar|hCalendar]], [[hreview|hReview]], [[xfolk|xFolk]]) on a webpage.&lt;br /&gt;
&lt;br /&gt;
==== Flock extension ====&lt;br /&gt;
[http://blog.codeeg.com/2006/03/20/flock-tails-flocktails/ Flocktails] - port of Tails extension for Flock 0.5.12 that looks for hCards, hCalendar, xFolk and hReview and tosses them into a handy topbar&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
Open source libraries of hCalendar parsers and other related code for building hCalendar implementations.&lt;br /&gt;
; Javascript : [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats simple hCalendar parser] by [http://virtuelvis.com/ Arve Bersvendsen]&lt;br /&gt;
; PHP : [http://randomchaos.com/microformats/base/ Microformat Base] is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard.&lt;br /&gt;
; Ruby : [http://opensource.reevoo.com/2006/03/08/release-uformats-12/ uformats] is a ruby library that can parse [[hCalendar]], [[hCard]], [[hReview]] and [[rel-tag]]&lt;br /&gt;
; XSLT :&lt;br /&gt;
* X2V is available as an XSLT library&lt;br /&gt;
* [http://dev.w3.org/cvsweb/2001/palmagent/ palmagent] by [[User:DanC]] includes  toICal.xsl and test materials; it works much like xhtml2vcal.xsl in X2V. See also: [http://www.w3.org/2002/12/cal/ RDF Calendar workspace] with icalendar test materials.&lt;br /&gt;
&lt;br /&gt;
=== Potential implementations ===&lt;br /&gt;
&lt;br /&gt;
These are open source projects that could be potentially enhanced to support hCalendar.&lt;br /&gt;
&lt;br /&gt;
* [http://www.k5n.us/webcalendar.php?topic=About WebCalendar]&lt;br /&gt;
* [http://phpicalendar.net/documentation/index.php?title=Main_Page PHP iCalendar]&lt;br /&gt;
* [http://www.vcalendar.org VCalendar]&lt;br /&gt;
* Investigation: [http://wiki.mozilla.org/Calendar_Talk:Lightning#hCalendar_publish_and_subscribe_support Mozilla Calendar / Lightning / Sunbird hCalendar support discussion]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2445.txt iCalendar RFC2445]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://w3.org/TR/REC-CSS1 CSS1]&lt;br /&gt;
* [http://tantek.com/log/2004/09.html#hcalendar hCalendar term introduced and defined on the Web, 20040930]&lt;br /&gt;
* [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation, 20040911]&lt;br /&gt;
* [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 Simple Semantic Formats presentation, 20040910]&lt;br /&gt;
* [http://www.ietf.org/internet-drafts/draft-royer-ical-basic-04.txt iCal-Basic draft 04]&lt;br /&gt;
* Contributed from http://developers.technorati.com/wiki/hCalendar&lt;br /&gt;
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]&lt;br /&gt;
&lt;br /&gt;
==== Related ====&lt;br /&gt;
* [[icalendar-implementations|iCalendar implementations]]&lt;br /&gt;
* [[hcalendar-tests]]&lt;br /&gt;
* [http://lists.osafoundation.org/pipermail/ietf-calsify/ IETF-calsify archives]&lt;br /&gt;
* [http://www.livejournal.com/users/jwz/444651.html jwz - Hula] (required reading)&lt;br /&gt;
* [http://www.jwz.org/doc/groupware.html Groupware Bad by Jamie Zawinski] crystalizes the reason for hCalendar ('''emphasis''' added):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;quot;Right now people can do that by publishing .ics files, but  it's not trivial to do so, and it's work on the part of other people  to look at them. '''If it's not HTML hanging off our friend's home page  that can be viewed in any browser on a public terminal in a library,  the bar to entry is too high and it's useless.'''&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://muddybranch.thejkgroup.com/ Jason Klemow's blog]&lt;br /&gt;
* [http://www.softwarestudio.org/iCal/2445Issues.html RFC2445 Issues List]&lt;br /&gt;
* [http://ietf.webdav.org/calsify/ CALSIFY WG Links And Resources]&lt;br /&gt;
&lt;br /&gt;
=== Similar Work ===&lt;br /&gt;
* [[XOXO]]&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
This specification is a work in progress.  As additional aspects are discussed, understood, and written, they will be added.  There is a separate document where we are keeping our brainstorms and other explorations relating to hCalendar:&lt;br /&gt;
&lt;br /&gt;
* [[hcalendar-brainstorming]]&lt;br /&gt;
&lt;br /&gt;
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
** [http://weblog.infoworld.com/udell/2006/01/11.html#a1368 Moving forward with microformats] by [http://weblog.infoworld.com/udell Jon Udell] provides an hCalendar example and some discussion.&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about hCalendar, check the [[hcalendar-faq]], and if you don't find answers, add your questions!&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
* Please add any issues with the specification to the separate [[hcalendar-issues]] document.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcalendar&amp;diff=6446</id>
		<title>hcalendar</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcalendar&amp;diff=6446"/>
		<updated>2006-05-23T19:43:30Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; hCalendar &amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hCalendar is a simple, open, distributed calendaring and events format, based on the  iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hCalendar is one of several open [[microformats|microformat]] standards.&lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an [[hcalendar|hCalendar]] event?  Use the [http://microformats.org/code/hcalendar/creator hCalendar creator] to write up an event and publish it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
; Editor : [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc])&lt;br /&gt;
; Authors : [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
: [http://suda.co.uk/ Brian Suda]&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2004}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Inspiration and Acknowledgments ===&lt;br /&gt;
Thanks to:&lt;br /&gt;
* Adam Bosworth for leading the [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation] which brought together a critical mass of interested parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), has been broadly interoperably implemented (e.g. Apple's &amp;quot;iCal&amp;quot; application built into MacOSX).&lt;br /&gt;
&lt;br /&gt;
In addition, bloggers often discuss events on their blogs -- upcoming events, writeups of past events, etc.  With just a tad bit of structure, bloggers can discuss events in their blog(s) in such a way that spiders and other aggregators can retrieve such events, automatically convert them to iCalendar, and use them in any iCalendar application or service.&lt;br /&gt;
&lt;br /&gt;
This specification introduces the '''hCalendar''' format, which is a 1:1 representation of the aforementioned iCalendar standard, in semantic XHTML.  Bloggers can both embed hCalendar events directly in their web pages, and style them with CSS to make them appear as desired.  In addition, hCalendar enables applications to retrieve information about such events directly from web pages without having to reference a separate file.&lt;br /&gt;
&lt;br /&gt;
== Semantic XHTML Design Principles ==&lt;br /&gt;
&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== In General ===&lt;br /&gt;
&lt;br /&gt;
The iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]) forms the basis of hCalendar.&lt;br /&gt;
&lt;br /&gt;
Note: the editor and authors of this specification are tracking the [http://lists.osafoundation.org/pipermail/ietf-calsify/ &amp;quot;iCal-Basic&amp;quot; effort] and intend to base the core hCalendar profile on iCal-Basic. See references for a link to the current draft.&lt;br /&gt;
&lt;br /&gt;
The basic format of hCalendar is to use iCalendar object/property names in lower-case for class names, and to map the nesting of iCalendar objects directly into nested XHTML.&lt;br /&gt;
&lt;br /&gt;
=== More Semantic Equivalents ===&lt;br /&gt;
&lt;br /&gt;
However, for some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.:&lt;br /&gt;
* &amp;lt;code&amp;gt;URL&amp;lt;/code&amp;gt; in iCalendar becomes  &amp;lt;code&amp;gt;&amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;...&amp;quot;&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/code&amp;gt; inside the element with &amp;lt;code&amp;gt;class=&amp;quot;vevent&amp;quot;&amp;lt;/code&amp;gt; in hCalendar.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATTENDEE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CONTACT&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;ORGANIZER&amp;lt;/code&amp;gt; in iCalendar may be represented by an [[hcard|hCard]] in hCalendar .&lt;br /&gt;
* A named &amp;lt;code&amp;gt;LOCATION&amp;lt;/code&amp;gt; (potentially with an address and/or geo) in iCalendar may be represented by a nested [[hcard|hCard]] in hCalendar.  Similarly, an address &amp;lt;code&amp;gt;LOCATION&amp;lt;/code&amp;gt; may be represented by an [[adr]], and a geo (latitude and longitude) &amp;lt;code&amp;gt;LOCATION&amp;lt;/code&amp;gt; may be represented by a [[geo]].&lt;br /&gt;
* &amp;lt;code&amp;gt;UID&amp;lt;/code&amp;gt; in iCalendar simply becomes another semantic applied to a specific URL for an hCalendar event.&lt;br /&gt;
&lt;br /&gt;
=== Singular vs. Plural Properties ===&lt;br /&gt;
&lt;br /&gt;
For properties which are singular (e.g. &amp;quot;N&amp;quot; and &amp;quot;FN&amp;quot; from vCard), the first descendant element with that class should take effect, any others being ignored.&lt;br /&gt;
&lt;br /&gt;
For properties which can be plural (e.g. &amp;quot;TEL&amp;quot; from vCard), each class instance should create a instance of that property.  Plural properties with subtypes (e.g. TEL with WORK, HOME, CELL from vCard) can be optimized to share a common element for the property itself, with each instance of subtype being an appropriately classed descendant of the property element.&lt;br /&gt;
&lt;br /&gt;
==== Plural Properties Singularized ====&lt;br /&gt;
&lt;br /&gt;
Since plural property names become their singular equivalents, even if the original plural property permitted only a single value with multiple components, those multiple components are represented each with their own singularly named property and the the property is effectively multivalued and subject to the above treatment of multivalued properties.&lt;br /&gt;
&lt;br /&gt;
=== Human vs. Machine readable ===&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element is used for a property, then the '&amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;' attribute of the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element is the value of the property, instead of the contents of the element,  which instead provide a human presentable version of the value.  This specification recommends that such &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; elements be used for the following iCalendar properties:&lt;br /&gt;
* DTSTART, DTEND, DURATION, RDATE, RRULE&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Here is a sample event in an iCalendar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
BEGIN:VCALENDAR&lt;br /&gt;
PRODID:-//XYZproduct//EN&lt;br /&gt;
VERSION:2.0&lt;br /&gt;
BEGIN:VEVENT&lt;br /&gt;
URL:http://www.web2con.com/&lt;br /&gt;
DTSTART:20051005&lt;br /&gt;
DTEND:20051008&lt;br /&gt;
SUMMARY:Web 2.0 Conference&lt;br /&gt;
LOCATION:Argent Hotel\, San Francisco\, CA&lt;br /&gt;
END:VEVENT&lt;br /&gt;
END:VCALENDAR&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and an equivalent event in hCalendar format with various elements optimized appropriately.  See [[hcalendar-example1-steps]] for the derivation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vevent&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://www.web2con.com/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Web 2.0 Conference&amp;lt;/span&amp;gt;: &lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtstart&amp;quot; title=&amp;quot;2005-10-05&amp;quot;&amp;gt;October 5&amp;lt;/abbr&amp;gt;-&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtend&amp;quot; title=&amp;quot;2005-10-08&amp;quot;&amp;gt;7&amp;lt;/abbr&amp;gt;,&lt;br /&gt;
 at the &amp;lt;span class=&amp;quot;location&amp;quot;&amp;gt;Argent Hotel, San Francisco, CA&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
which could be displayed as:&lt;br /&gt;
&lt;br /&gt;
[http://www.web2con.com/ Web 2.0 Conference: October 5-7, at the Argent Hotel, San Francisco, CA]&lt;br /&gt;
&lt;br /&gt;
Note 1: The product information is not necessary since hCalendar is an interchange format.  When transforming hCalendar back into iCalendar, the transforming engine should add its own product ID.&lt;br /&gt;
&lt;br /&gt;
Note 2: A surrounding &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;vcalendar&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element is optional, and is left out as such.  It is optional since the context of a vcalendar is implied when a vevent is encountered.  The implied context/scope is that of the document.  Authors may explicitly use elements with class=&amp;quot;vcalendar&amp;quot; to wrap sets of vevents that all belong to the same calendar, e.g. when publishing multiple calendars on the same page.&lt;br /&gt;
&lt;br /&gt;
Note 3: The version information is unnecessary in hCalendar markup directly since the version will be defined by the profile of hCalendar that is used/referred to in the 'profile' attribute of the &amp;lt;head&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
Note 4: ISO8601 dates (required by iCalendar) are not very human friendly.  In addition, the year is often understood implicitly by humans from the context.  Thus &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;abbr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; elements are used to simultaneously provide a human friendly date and/or time in the visible contents of the element, while placing the respective machine parsable comprehensive ISO8601 datetime in the 'title' attribute.&lt;br /&gt;
The notation YYYY-MM-DD should be used for better readability. The [http://en.wikipedia.org/wiki/ISO8601#Combined_representations ISO8601 standard] is valid with or without hyphens/colons/spaces (either YYYY-MM-DDThh:mm:ss or YYYYMMDDThhmmss are acceptable uses).&lt;br /&gt;
&lt;br /&gt;
Note 5: The difference between the DTEND ISO8601 date (2005-10-08) and the human readable date (7) is NOT a mistake.  [http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html DTEND is exclusive], meaning, that the event ends just before the DTEND. Thus for events which start on one day and end on another day, the DTEND date must be specified as the day after the day that a human would say is the last day of the event.&lt;br /&gt;
&lt;br /&gt;
Note 6: The location in this example contains implicit structure (venue name, city, state) which could be marked up explicitly as an [[hcard|hCard]].  See [http://microformats.org/wiki/hcalendar-brainstorming#hCard_locations hCalendar brainstorming: hCard locations] for a informative explanation of how to do this.&lt;br /&gt;
&lt;br /&gt;
See [[hcalendar-examples]] for more hCalendar examples&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following sites have implemented hCalendar, and thus are a great place to start for anyone looking for examples &amp;quot;in the wild&amp;quot; to try parsing, indexing, organizing etc.  If events on your pages are marked up with hCalendar, feel free to add it to the top of this list.  Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&lt;br /&gt;
=== New Examples ===&lt;br /&gt;
Please add new examples to this section.&lt;br /&gt;
* [http://www.worldcupkickoff.com/ World Cup KickOff] where you can download and keep all the fixtures you are interested in so you will never miss a single game of the 2006 football World Cup!&lt;br /&gt;
* [http://www.socaltech.com socalTECH] is a news and information site. Their front page event listing is marked up with hCalendar.&lt;br /&gt;
* [http://www.webanalyticsassociation.org/en/calendarevents/search.asp  Web Analytics Association] - hCalendar microformat is in place on all Tendenci sites on the calendar events search page and consolidated list page.&lt;br /&gt;
* [http://www.tendenci.com/en/calendarevents/search.asp Tendenci Calendar Events] with hCalendar&lt;br /&gt;
* [http://www.argolon.com/2006/04/17/web20-conference-in-dublin/ Web2.0 Conference in Dublin] hCalendar event&lt;br /&gt;
* [http://www.meetup.com/ Meetup.com] has marked up [http://www.meetup.com/cities/us/ny/new_york city event calendars], [http://photo.meetup.com/100/events/ group event lists], and [http://www.meetup.com/ signed-in homepages] with hCalendar.&lt;br /&gt;
* [http://ukwindsurfing.com/ ukwindsurfing.com] has marked upcoming events with hCalendar, and the [http://ukwindsurfing.com/events/ events page] in a table.&lt;br /&gt;
* [http://ocono.com/ ocono.com] has marked up it's &amp;quot;Upcoming Events&amp;quot; list with hCalendar.&lt;br /&gt;
* [http://www.austinbloggers.org/ Austin Bloggers] has marked up their &amp;quot;Upcoming Events&amp;quot; box with hCalendar ([http://www.austinbloggers.org/blog/a/001123.html announcement]).&lt;br /&gt;
* Ning's cloneable Group app has [[hcalendar|hCalendar]] markup on its [http://group.ning.com/index.php?controller=event&amp;amp;action=list event calendar] and [http://group.ning.com/index.php?controller=event&amp;amp;action=view&amp;amp;id=727220 event detail] pages.&lt;br /&gt;
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] has [[hcard|hCard]] and [[hcalendar|hCalendar]] markup. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original here]).&lt;br /&gt;
* The National Arbor Day Foundation has started using hCalendars for their [http://arborday.org/programs/conferences/communityforestry/index.cfm upcoming] [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conferences].&lt;br /&gt;
* [http://www.multipack.co.uk The Multipack] features a vevent for the next meeting information.&lt;br /&gt;
* [http://www.stateofflux.com/ State of Flux street art site] has started adding events in hCalendar format&lt;br /&gt;
* The [http://barcamp.org/#BarCamps BarCamp home page lists upcoming BarCamps marked up with hCalendar] and even has a &amp;quot;Subscribe...&amp;quot; link.&lt;br /&gt;
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] has marked up the schedule and events for the week with hCalendar.&lt;br /&gt;
* [http://www.code4lib.org/2006/schedule code4lib Conference 2006 Schedule] is marked up with hCalendar as [http://www.code4lib.org/node/65 announced on their blog].&lt;br /&gt;
* [http://grouper.ieee.org/groups/754 IEEE 754 Working Group] - trying hCalendar for upcoming meetings.&lt;br /&gt;
* [http://www.pehuen.org/node/494  Elecciones 2005 Chile] - the first spanish language hCalendar event found in the wild.&lt;br /&gt;
* [http://www.codewitch.org/it/2005/11/17/no-creative-commons-no-party/ Giocolando » No Creative Commons? No Party!] is marked up with hCalendar&lt;br /&gt;
* [http://www.cmprofessionals.org/events/calendar.html CM Pros Events Calendar] by Bob Doyle&lt;br /&gt;
* [http://www.midgard-project.org/community/events/ Midgard CMS Event calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] &lt;br /&gt;
* [http://www.iowamilitaryveteransband.com/schedule/ Iowa Military Veterans Band Schedule] - hCalendar markup [http://weblog.randomchaos.com/archive/2005/10/24/Microformats/ added by Scott Reynen]&lt;br /&gt;
* [http://www.funfairgames.net/weblog/posts/00000011.html Upcoming events on Jason A.R. Moody Amusements Weblog] posted by Jason Moody on 15 Oct 2005. [http://www.funfairgames.net/weblog/index.html His weblog] in general has hCalendar events posted inside the blog posts.&lt;br /&gt;
* [http://tantek.com/microformats/2005/syndicate/tracks-sessions-schedule.html Syndicate - Tracks &amp;amp;amp; Sessions]&lt;br /&gt;
* [http://tantek.com/microformats/2005/web2/program.html Web 2.0 Conference schedule page marked up with hCalendar]&lt;br /&gt;
* [http://www.thisiscmon.com/ C'MON] is a rock band from Canada, and their [http://www.thisiscmon.com/shows/ tour dates] have been marked up by [http://www.d2digitalmedia.com/ Ray Dickman] with hCalendar.&lt;br /&gt;
* [http://ifreebusy.com/ ifreebusy.com] will display freebusy information using hCalendar. See this [http://ifreebusy.com/neiljensen/freebusy/ example].&lt;br /&gt;
* [http://we05.com/ Web Essentials 05] has marked up their [http://we05.com/program.cfm program schedule table with hCalendar], using the 'axis' and 'headers' attributes.&lt;br /&gt;
* [http://www.asdvbonaparte.nl/ ASDV Bonaparte] is a Dutch debating society. Their events calendar has been marked up with the hCalendar conventions.&lt;br /&gt;
* [http://chocnvodka.blogware.com/blog Suw Charman] has marked up [http://suw.org.uk/archives/category/events/ her events] with hCalendar.&lt;br /&gt;
* [http://www.blogbusinesssummit.com/ Blog Business Summit] has published their [http://www.blogbusinesssummit.com/details.htm event details] marked up with hCalendar.&lt;br /&gt;
* [http://eventful.com Eventful.com] publishes all events with hCalendar and venues with [[hcard|hCard]].  Took them only 15 minutes to implement both! Their Atom feeds also contain hCalendar/hCard.&lt;br /&gt;
* [http://upcoming.org Upcoming.org] publishes all events and lists of events with hCalendar.  Took them only an hour to add hCalendar support to the site.&lt;br /&gt;
* The [http://laughingsquid.com/squidlist/calendar/ Laughing Squid Calendar] events, [http://laughingsquid.com/squidlist/calendar/9949/2005/5/9 e.g. this party], now supports hCalendar.&lt;br /&gt;
* [http://paulschreiber.com/ Paul] Schreiber's [http://concerts.shrub.ca/ Sunnyvale House Concerts] site publishes hCalendar event information for upcoming concerts.  In addition the [http://concerts.shrub.ca/shows Past Shows] page contains hCalendar events for all past concerts.&lt;br /&gt;
* [http://paulschreiber.com/ Paul] Schreiber's [http://iceoasis.shrub.ca/ unofficial schedule site] publishes hCalendar information for upcoming hockey games at [http://www.iceoasis.com/ Ice Oasis]&lt;br /&gt;
* [http://www.complexspiral.com/ Complex Spiral Consulting], both in the &amp;quot;Events&amp;quot; box on left side, and the separate [http://www.complexspiral.com/events/ Events page]. &lt;br /&gt;
* [http://tantek.com/log Tantek's Thoughts], specifically the &amp;quot;Events&amp;quot; roll in the right-most column.&lt;br /&gt;
* [http://suda.co.uk/projects/holidays/ Lesser Known Holidays], a list of holidays on [http://suda.co.uk suda.co.uk] that can be imported via iCal and hCal so you can compare actual transformation versus intended.&lt;br /&gt;
* [http://norman.walsh.name/2005/itinerary/ Norm Walsh's travel schedule] use hCalendar as well as GRDDL.&lt;br /&gt;
* [http://www.policyawareweb.org/2005/ftf2/paw-mtg Policy Aware Web (PAW) Project Meeting] uses hCalendar to record date-related decisions, and uses a vtodo microformat to record action items.&lt;br /&gt;
* The [http://www.kiez-ev.de/ Kiez] is a small cinema and has published its [http://www.kiez-ev.de/programm.htm program] marked up with hCalendar.&lt;br /&gt;
* The [http://lufgi4.informatik.rwth-aachen.de Laboratory for Dependable Distributed Systems] publishes it's [http://lufgi4.informatik.rwth-aachen.de/cfps list of notable CfPs on dependability and security] with hCalendar-todo elements.&lt;br /&gt;
* The [http://laughingsquid.com/laughing-squid-10th-anniversary-party/ Laughing Squid 10th Anniversary Party] has an hcalendar page.&lt;br /&gt;
* SPRACI has hcalendar versions of its nightlife/clubbing/gigs/festivals listings for many cities worldwide - eg: [http://www.spraci.com/listhcalendar.php?parea=sydney&amp;amp;category=all Events in Sydney] (check the [http://www.spraci.com/api/ API] pages in the faq section of [http://www.spraci.com/ SPRACI] for more info about the area/city keywords and category tags to use to get data for your city/categories&lt;br /&gt;
* WWF-Australia events calendars: [http://wwf.org.au/act/events/ What's on], [http://wwf.org.au/act/volunteer/ Volunteer]&lt;br /&gt;
* [http://rubyholic.com rubyholic] uses hCalendar to publish calendars for ruby groups.&lt;br /&gt;
* [http://www.bath.ac.uk/whats-on/ University of Bath What's On] uses hCalendar on individual event pages&lt;br /&gt;
&lt;br /&gt;
=== Examples with some problems ===&lt;br /&gt;
* [http://www.bokle.de/ s'Bokle] is a German music pub. Their events calendar has been marked up with hCalendar.&lt;br /&gt;
** improper use of rrule --[[User:RyanKing|RyanKing]] 16:04, 6 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse hCalendars. If you have an hCalendar implementation, feel free to add it to the top of this list.  Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&lt;br /&gt;
=== Authoring ===&lt;br /&gt;
Implementations you can use to author, create, and publish hCalendar events.&lt;br /&gt;
&lt;br /&gt;
==== Blogging and CMS tools ====&lt;br /&gt;
;Midgard CMS : [http://www.midgard-project.org/documentation/net-nemein-calendar/ Midgard CMS - net.nemein.calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] &lt;br /&gt;
&lt;br /&gt;
;Drupal module : [http://hybernaut.com/upcoming-hcal Drupal Upcoming.org syndication module emits hCalendar]&lt;br /&gt;
;MovableType and WordPress plug-ins : [http://structuredblogging.org/formats.php StructuredBlogging] is a set of plugins  [http://structuredblogging.org/structuredblogging-wp-latest.zip for  WordPress] and [http://structuredblogging.org/structuredblogging-wp-latest.zip for MovableType] that supports embedding hCalendar and other microformats in templates and blog posts.&lt;br /&gt;
;Textpattern plug-in : [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding hCalendar and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].&lt;br /&gt;
&lt;br /&gt;
==== Browser scripts and plug-ins ====&lt;br /&gt;
Browser plugins that work with existing authoring tools:&lt;br /&gt;
; Any browser with javascript and a little bit of CSS : [http://microformats.org/code/hcalendar/creator microformats.org hCalendar creator]  (see also original: [http://theryanking.com/ Ryan King] has an [http://theryanking.com/microformats/hcalendar-creator.html hCalendar creator]).&lt;br /&gt;
; Firefox Greasemonkey user script hCalendar creator : [http://www.decafbad.com/blog/2005/06/08/greasemonkey_magic magic_hcalendar Greasemonkey user script by Les Orchard] - allows easy form entry of an event into any textarea, e.g. into a blog post text area.&lt;br /&gt;
; Firefox Greasemonkey user script hCalendar to Google Calendar: [http://torrez.us Elias Torres] has created a [http://torrez.us/archives/2006/04/13/431/ simple script] that will parse hCalendar entries and create a link to add event to [http://www.google.com/calendar/ Google Calendar's] service. Based on [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats George's] and [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats Arve's] work.&lt;br /&gt;
&lt;br /&gt;
==== Desktop Authoring Tools ====&lt;br /&gt;
;Dreamweaver Extension : [http://www.webstandards.org/action/dwtf/microformats/ Extension suite] for Dreamweaver 8 from the [http://webstandards.org/ Web Standards Project].&lt;br /&gt;
;xfy : &lt;br /&gt;
In [https://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations.&lt;br /&gt;
&lt;br /&gt;
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&amp;amp;lid=25 hCalendar via RSS] parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.&lt;br /&gt;
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=19&amp;amp;lid=23 hCalendar Marker XVCD] helps to mark up an event information in XHTML document with hCalendar. &lt;br /&gt;
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&amp;amp;lid=17 Simple RDF Calendar XVCD] is a schedule tool which uses RDF Calendar format. It also converts RDF Calendar format to iCalendar and hCalendar format.&lt;br /&gt;
&lt;br /&gt;
=== Conversion and Import ===&lt;br /&gt;
Implementations you can use to importing into a Calendar Application, typically by converting hCalendar to iCalendar/vCalendar.&lt;br /&gt;
&lt;br /&gt;
==== Web Services ====&lt;br /&gt;
These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.&lt;br /&gt;
* [http://feeds.technorati.com/events Technorati Events Feed service] uses X2V library to parse hCalendar and return iCalendar (.ics).  Note friendly URL, e.g. http://feeds.technorati.com/events/http%3A//microformats.org&lt;br /&gt;
* [http://suda.co.uk/projects/X2V/ X2V] parses hCalendar and produces a .ics (iCalendar) stream.  Note: needs to be updated to track changes in the specification as they occur.&lt;br /&gt;
* [http://lifelint.net/ Life Lint Parser] parses hCalendar and produces .ics, .rdf and debugging information and attempts to be more fully compliant to the iCal standard than previous implementations.  It can be used in the same manner as X2V.  Can output iCal (w optional Outlook 2002 compat), and RDF.&lt;br /&gt;
==== Firefox Greasemonkey Plugins ====&lt;br /&gt;
* [http://george.hotelling.net/90percent/ George] has built a [http://george.hotelling.net/90percent/geekery/greasemonkey_and_microformats.php Greasemonkey user script that detects hCalendar events and allows users to easily add them to their calendar application(s)].&lt;br /&gt;
* [http://blogmatrix.blogmatrix.com/ David Janes] has produced a [[Greasemonkey]] [http://www.blogmatrix.com/include/microformat-find.user.js script] that finds many microformat elements, including hCalendar events, and [http://blog.davidjanes.com/mtarchives/2005_08.html#003379 provides a popup menu of actions]. The hCalendar to vCalendar conversion is done internally within the script. ''This does not work with FireFox 1.5+/GreaseMonkey 0.6.4+.''&lt;br /&gt;
==== Aggregators ====&lt;br /&gt;
* [http://kula.jp/software/endo/screenshots/ Endo], an OS X aggregator, supports discovering hCal and adding those events to iCal. Look at the last screenshot at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
=== Browsing ===&lt;br /&gt;
Implementations that detect, display and otherwise highlight hCalendar events in pages.&lt;br /&gt;
&lt;br /&gt;
* In [http://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations. &amp;quot;hCalendar via RSS&amp;quot; parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.&lt;br /&gt;
* [http://web.mit.edu/glasser/www/JSCalendar/ JSCalendar] parses hCalendar and produces a displayable HTML table/CSS-based calendar.&lt;br /&gt;
&lt;br /&gt;
==== Firefox extension ====&lt;br /&gt;
[http://blog.codeeg.com/tails-firefox-extension/ Tails is a Firefox Extension] that will display the presence of microformats ([[hcard|hCard]], [[hcalendar|hCalendar]], [[hreview|hReview]], [[xfolk|xFolk]]) on a webpage.&lt;br /&gt;
&lt;br /&gt;
==== Flock extension ====&lt;br /&gt;
[http://blog.codeeg.com/2006/03/20/flock-tails-flocktails/ Flocktails] - port of Tails extension for Flock 0.5.12 that looks for hCards, hCalendar, xFolk and hReview and tosses them into a handy topbar&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
Open source libraries of hCalendar parsers and other related code for building hCalendar implementations.&lt;br /&gt;
; Javascript : [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats simple hCalendar parser] by [http://virtuelvis.com/ Arve Bersvendsen]&lt;br /&gt;
; PHP : [http://randomchaos.com/microformats/base/ Microformat Base] is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard.&lt;br /&gt;
; Ruby : [http://opensource.reevoo.com/2006/03/08/release-uformats-12/ uformats] is a ruby library that can parse [[hCalendar]], [[hCard]], [[hReview]] and [[rel-tag]]&lt;br /&gt;
; XSLT :&lt;br /&gt;
* X2V is available as an XSLT library&lt;br /&gt;
* [http://dev.w3.org/cvsweb/2001/palmagent/ palmagent] by [[User:DanC]] includes  toICal.xsl and test materials; it works much like xhtml2vcal.xsl in X2V. See also: [http://www.w3.org/2002/12/cal/ RDF Calendar workspace] with icalendar test materials.&lt;br /&gt;
&lt;br /&gt;
=== Potential implementations ===&lt;br /&gt;
&lt;br /&gt;
These are open source projects that could be potentially enhanced to support hCalendar.&lt;br /&gt;
&lt;br /&gt;
* [http://www.k5n.us/webcalendar.php?topic=About WebCalendar]&lt;br /&gt;
* [http://phpicalendar.net/documentation/index.php?title=Main_Page PHP iCalendar]&lt;br /&gt;
* [http://www.vcalendar.org VCalendar]&lt;br /&gt;
* Investigation: [http://wiki.mozilla.org/Calendar_Talk:Lightning#hCalendar_publish_and_subscribe_support Mozilla Calendar / Lightning / Sunbird hCalendar support discussion]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2445.txt iCalendar RFC2445]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://w3.org/TR/REC-CSS1 CSS1]&lt;br /&gt;
* [http://tantek.com/log/2004/09.html#hcalendar hCalendar term introduced and defined on the Web, 20040930]&lt;br /&gt;
* [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation, 20040911]&lt;br /&gt;
* [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 Simple Semantic Formats presentation, 20040910]&lt;br /&gt;
* [http://www.ietf.org/internet-drafts/draft-royer-ical-basic-04.txt iCal-Basic draft 04]&lt;br /&gt;
* Contributed from http://developers.technorati.com/wiki/hCalendar&lt;br /&gt;
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]&lt;br /&gt;
&lt;br /&gt;
==== Related ====&lt;br /&gt;
* [[icalendar-implementations|iCalendar implementations]]&lt;br /&gt;
* [[hcalendar-tests]]&lt;br /&gt;
* [http://lists.osafoundation.org/pipermail/ietf-calsify/ IETF-calsify archives]&lt;br /&gt;
* [http://www.livejournal.com/users/jwz/444651.html jwz - Hula] (required reading)&lt;br /&gt;
* [http://www.jwz.org/doc/groupware.html Groupware Bad by Jamie Zawinski] crystalizes the reason for hCalendar ('''emphasis''' added):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;quot;Right now people can do that by publishing .ics files, but  it's not trivial to do so, and it's work on the part of other people  to look at them. '''If it's not HTML hanging off our friend's home page  that can be viewed in any browser on a public terminal in a library,  the bar to entry is too high and it's useless.'''&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://muddybranch.thejkgroup.com/ Jason Klemow's blog]&lt;br /&gt;
* [http://www.softwarestudio.org/iCal/2445Issues.html RFC2445 Issues List]&lt;br /&gt;
* [http://ietf.webdav.org/calsify/ CALSIFY WG Links And Resources]&lt;br /&gt;
&lt;br /&gt;
=== Similar Work ===&lt;br /&gt;
* [[XOXO]]&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
This specification is a work in progress.  As additional aspects are discussed, understood, and written, they will be added.  There is a separate document where we are keeping our brainstorms and other explorations relating to hCalendar:&lt;br /&gt;
&lt;br /&gt;
* [[hcalendar-brainstorming]]&lt;br /&gt;
&lt;br /&gt;
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
** [http://weblog.infoworld.com/udell/2006/01/11.html#a1368 Moving forward with microformats] by [http://weblog.infoworld.com/udell Jon Udell] provides an hCalendar example and some discussion.&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about hCalendar, check the [[hcalendar-faq]], and if you don't find answers, add your questions!&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
* Please add any issues with the specification to the separate [[hcalendar-issues]] document.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=irc&amp;diff=6372</id>
		<title>irc</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=irc&amp;diff=6372"/>
		<updated>2006-05-12T03:39:34Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* People on irc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= Microformats IRC =&lt;br /&gt;
&lt;br /&gt;
We have an IRC channel, [irc://irc.freenode.net#microformats #microformats on the freenode network].&lt;br /&gt;
&lt;br /&gt;
There's typically someone there at any point during the day, though there isn't always active discussion. Sometimes, though this is the best place to discuss issues that need lots of back and forth discussion.&lt;br /&gt;
&lt;br /&gt;
== People on irc ==&lt;br /&gt;
A list of IRC regulars and their normal timezones. (winter/summer)&lt;br /&gt;
&lt;br /&gt;
* [[User:Amette|amette]] (+1000)&lt;br /&gt;
* [[User:B.K._DeLong|bkdelong]] (-0500/-0400)&lt;br /&gt;
* [[User:Ben Ward|BenWard]] (+0000)&lt;br /&gt;
* [[User:BenjaminCarlyle|BenjaminCarlyle]] (+1000)&lt;br /&gt;
* [[User:Boneill|boneill]] (+0000)&lt;br /&gt;
* [[User:Brian|briansuda]] (-0600/-0500)&lt;br /&gt;
* [[User:ColinDDevroe|cdevroe]] (-0500/-0600)&lt;br /&gt;
* [[User:Cgriego|cgriego]] (-0600/-0500)&lt;br /&gt;
* [[User:ChrisCasciano|pnhChris]] (-0500/-0400)&lt;br /&gt;
* [[User:ChrisMessina|factoryjoe]] (-0800/-0700)&lt;br /&gt;
* [[User:ChristopherStJohn|cks]] (-0600/-0500)&lt;br /&gt;
* [[User:DanC|DanC]] (-0600/-0500)&lt;br /&gt;
** office hours: Wednesday afternoons, America/Chicago time&lt;br /&gt;
* [[User:Dave Cardwell|davecardwell]] (+0000)&lt;br /&gt;
* [[User:DimitriGlazkov|dglazkov]] (-0600/-0500)&lt;br /&gt;
* [[User:EdwardOConnor|hober]] (-0800/-0700)&lt;br /&gt;
* [[User:Enric|enric]] (-0800/-0700)&lt;br /&gt;
* [[User:Evan|evanpro]] (-0500)&lt;br /&gt;
* [[User:Fil|Fil]] (+0200)&lt;br /&gt;
* [[User:Hlb|hlb]] (+0800-0700)&lt;br /&gt;
* [[User:IanHickson|Hixie]] (-0800/-0700)&lt;br /&gt;
* [[User:Izo|IZO]]&lt;br /&gt;
* [[User:JoeGregorio|jcgregorio]]&lt;br /&gt;
* [[User:Jonathan_Arkell|jonnay]] (-0700/0600)&lt;br /&gt;
* [[User:Keri Henare|kerihenare]] (+1200)&lt;br /&gt;
* [http://epeus.blogspot.com/ KevinMarks] (-0800/-0700)&lt;br /&gt;
* [[User:Mark Mansour|Mark Mansour]] (+1100)&lt;br /&gt;
* [[User:neuro|neuro`]]&lt;br /&gt;
* [[User:RobertBachmann|RobertBachmann]] (+0100/+0200)&lt;br /&gt;
** Office hours: Wednesday, 20:30-21:30 UTC&lt;br /&gt;
* [[User:RyanKing|kingryan]] (-0800/-0700)&lt;br /&gt;
** [http://theryanking.com/blog/archives/2006/04/19/office-hours/ Office hours]: Wednesday, 21:00 UTC&lt;br /&gt;
* [[User:Dana Benson|Snowden]] (-0800/-0700)&lt;br /&gt;
* [[User:Steve Ganz|SteveGanz]] (-0800/-0700)&lt;br /&gt;
* [[User:Tantek|Tantek]] (-0800/-0700)&lt;br /&gt;
* [[User:Dan Kubb|dkubb]] (-0800/-0700)&lt;br /&gt;
&lt;br /&gt;
=== Greetings ===&lt;br /&gt;
To display a brief description of who you are each time you join the channel, you can create a definition for your username. To do so pass the &amp;lt;tt&amp;gt;?def&amp;lt;/tt&amp;gt; command using something like the following convention (be brief):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;?def jdoe is John Doe and can be found online at &amp;lt;nowiki&amp;gt;http://www.jdoewebsite.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about using JiBot commands can be found on the [http://joi.ito.com/joiwiki/JiBot jibot website]&lt;br /&gt;
&lt;br /&gt;
=== bots ===&lt;br /&gt;
&lt;br /&gt;
* [[mfbot]]&lt;br /&gt;
* [[mflogbot]]&lt;br /&gt;
* [http://joi.ito.com/joiwiki/JiBot jibot]&lt;br /&gt;
&lt;br /&gt;
== Logs ==&lt;br /&gt;
&lt;br /&gt;
Available here: http://rbach.priv.at/Microformats-IRC/&lt;br /&gt;
&lt;br /&gt;
== IRC meetups ==&lt;br /&gt;
&lt;br /&gt;
The idea of having IRC meetups (that is, a set time for meeting on IRC) has been suggested by [[User:RyanKing|Ryan King]], as it appears to work well for the WordPress community and may help us from time-to-time. As of yet, there are no plans to have meetups, though.&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=5740</id>
		<title>zen-garden</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=5740"/>
		<updated>2006-02-04T05:21:04Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Interested parties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Microformats Zen Garden =&lt;br /&gt;
&lt;br /&gt;
A [http://www.csszengarden.com/ CSS Zen Garden] for microformats is essential for popular adoption. Getting something that &amp;quot;looks cool&amp;quot; for &amp;quot;free&amp;quot; should be a key attraction for convincing authors to &amp;quot;steal&amp;quot; microformatted data and cut'n'paste it into their own sites, and for that matter, to reuse style sheets for microformatted data as well.&lt;br /&gt;
&lt;br /&gt;
Developers of microformat-savvy tools would also benefit from common idioms for presenting and editing microformatted data (for example, consider the impact of Apple's Address Book person-layout/edit view on many other Mac applications).&lt;br /&gt;
&lt;br /&gt;
Unlike the original Zen Garden, Javascript may also prove essential to unlocking designers' flexibility: people have expressed interest in hooking hCards to maps, or [http://web.mit.edu/glasser/www/JSCalendar/ this example of a renderer for hCalendar] [http://web.mit.edu/glasser/www/JSCalendar/hcalendar.html grid views].&lt;br /&gt;
&lt;br /&gt;
== Interested parties ==&lt;br /&gt;
&lt;br /&gt;
People who would be willing to spend time on the garden.&lt;br /&gt;
 &lt;br /&gt;
* [[User:RobertBachmann|Robert Bachmann]]&lt;br /&gt;
** could act as a point person&lt;br /&gt;
** writing the sample document&lt;br /&gt;
** providing styles (but he's not a good designer)&lt;br /&gt;
&lt;br /&gt;
* [[User:Scott Reynen|Scott Reynen]]&lt;br /&gt;
** could make the backend submission and switcher functionality&lt;br /&gt;
&lt;br /&gt;
* Malarkey (Andy Clarke http://www.stuffandnonsense.co.uk)&lt;br /&gt;
** Designer&lt;br /&gt;
** I agreed to help by contributing design themes after talking with Kevin and Tantek&lt;br /&gt;
&lt;br /&gt;
* [[User:PhilipAshlock|Philip Ashlock]] (http://www.philaestheta.com)&lt;br /&gt;
** Designer/Developer&lt;br /&gt;
** I agree to help by developing interface design - clean attractive implementations&lt;br /&gt;
** I have a server and domain names to contribute&lt;br /&gt;
** I have live data to implement with a university website and a record label website&lt;br /&gt;
** My university will essentially be paying me for development work&lt;br /&gt;
** Suggestions for where efforts should be focused are most appreciated&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
* What license should be used? --[[User:RobertBachmann|Robert Bachmann]] 10:34, 21 Oct 2005 (PDT)&lt;br /&gt;
** My personal favorites are http://creativecommons.org/licenses/by/2.0/ and http://creativecommons.org/licenses/publicdomain/ --[[User:RobertBachmann|Robert Bachmann]] 14:03, 21 Oct 2005 (PDT)&lt;br /&gt;
* Should the example page contain examples for all microformats or should there be one example page per microformat? --[[User:RobertBachmann|Robert Bachmann]] 08:57, 24 Oct 2005 (PDT)&lt;br /&gt;
** I think the example pages should mirror real world examples as much as practical. In some cases, microformats will be mixed, and in others they will occur independently, and it would be nice to have an environment in which to test microformat applications on such a diversity of example data. On the other hand, I can see some benefit in keeping it simple to encourage use. --[[User:ScottReynen|Scott Reynen]] 12:44, 26 Oct 2005 (CST)&lt;br /&gt;
&lt;br /&gt;
=== Back end prototype ===&lt;br /&gt;
Coded by Scott Reynen&lt;br /&gt;
&lt;br /&gt;
* Demo: http://www.randomchaos.com/mfzen/&lt;br /&gt;
* Source: http://www.randomchaos.com/source/&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=4747</id>
		<title>zen-garden</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=4747"/>
		<updated>2006-02-04T05:12:57Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Interested parties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Microformats Zen Garden =&lt;br /&gt;
&lt;br /&gt;
A [http://www.csszengarden.com/ CSS Zen Garden] for microformats is essential for popular adoption. Getting something that &amp;quot;looks cool&amp;quot; for &amp;quot;free&amp;quot; should be a key attraction for convincing authors to &amp;quot;steal&amp;quot; microformatted data and cut'n'paste it into their own sites, and for that matter, to reuse style sheets for microformatted data as well.&lt;br /&gt;
&lt;br /&gt;
Developers of microformat-savvy tools would also benefit from common idioms for presenting and editing microformatted data (for example, consider the impact of Apple's Address Book person-layout/edit view on many other Mac applications).&lt;br /&gt;
&lt;br /&gt;
Unlike the original Zen Garden, Javascript may also prove essential to unlocking designers' flexibility: people have expressed interest in hooking hCards to maps, or [http://web.mit.edu/glasser/www/JSCalendar/ this example of a renderer for hCalendar] [http://web.mit.edu/glasser/www/JSCalendar/hcalendar.html grid views].&lt;br /&gt;
&lt;br /&gt;
== Interested parties ==&lt;br /&gt;
&lt;br /&gt;
People who would be willing to spend time on the garden.&lt;br /&gt;
 &lt;br /&gt;
* [[User:RobertBachmann|Robert Bachmann]]&lt;br /&gt;
** could act as a point person&lt;br /&gt;
** writing the sample document&lt;br /&gt;
** providing styles (but he's not a good designer)&lt;br /&gt;
&lt;br /&gt;
* [[User:Scott Reynen|Scott Reynen]]&lt;br /&gt;
** could make the backend submission and switcher functionality&lt;br /&gt;
&lt;br /&gt;
* Malarkey (Andy Clarke http://www.stuffandnonsense.co.uk)&lt;br /&gt;
** Designer&lt;br /&gt;
** I agreed to help by contributing design themes after talking with Kevin and Tantek&lt;br /&gt;
&lt;br /&gt;
* [[User:PhilipAshlock|Philip Ashlock]] (http://www.philaestheta.com)&lt;br /&gt;
** Designer/Developer&lt;br /&gt;
** I agree to help by developing interface design - clean attractive implementations&lt;br /&gt;
** I have a server and domain names to contribute&lt;br /&gt;
** I have lots of live data from a university to work with &lt;br /&gt;
** My university will essentially be paying me for development work&lt;br /&gt;
** Suggestions for where efforts should be focused are most appreciated&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
* What license should be used? --[[User:RobertBachmann|Robert Bachmann]] 10:34, 21 Oct 2005 (PDT)&lt;br /&gt;
** My personal favorites are http://creativecommons.org/licenses/by/2.0/ and http://creativecommons.org/licenses/publicdomain/ --[[User:RobertBachmann|Robert Bachmann]] 14:03, 21 Oct 2005 (PDT)&lt;br /&gt;
* Should the example page contain examples for all microformats or should there be one example page per microformat? --[[User:RobertBachmann|Robert Bachmann]] 08:57, 24 Oct 2005 (PDT)&lt;br /&gt;
** I think the example pages should mirror real world examples as much as practical. In some cases, microformats will be mixed, and in others they will occur independently, and it would be nice to have an environment in which to test microformat applications on such a diversity of example data. On the other hand, I can see some benefit in keeping it simple to encourage use. --[[User:ScottReynen|Scott Reynen]] 12:44, 26 Oct 2005 (CST)&lt;br /&gt;
&lt;br /&gt;
=== Back end prototype ===&lt;br /&gt;
Coded by Scott Reynen&lt;br /&gt;
&lt;br /&gt;
* Demo: http://www.randomchaos.com/mfzen/&lt;br /&gt;
* Source: http://www.randomchaos.com/source/&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=4746</id>
		<title>zen-garden</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=4746"/>
		<updated>2006-02-04T05:08:23Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Interested parties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Microformats Zen Garden =&lt;br /&gt;
&lt;br /&gt;
A [http://www.csszengarden.com/ CSS Zen Garden] for microformats is essential for popular adoption. Getting something that &amp;quot;looks cool&amp;quot; for &amp;quot;free&amp;quot; should be a key attraction for convincing authors to &amp;quot;steal&amp;quot; microformatted data and cut'n'paste it into their own sites, and for that matter, to reuse style sheets for microformatted data as well.&lt;br /&gt;
&lt;br /&gt;
Developers of microformat-savvy tools would also benefit from common idioms for presenting and editing microformatted data (for example, consider the impact of Apple's Address Book person-layout/edit view on many other Mac applications).&lt;br /&gt;
&lt;br /&gt;
Unlike the original Zen Garden, Javascript may also prove essential to unlocking designers' flexibility: people have expressed interest in hooking hCards to maps, or [http://web.mit.edu/glasser/www/JSCalendar/ this example of a renderer for hCalendar] [http://web.mit.edu/glasser/www/JSCalendar/hcalendar.html grid views].&lt;br /&gt;
&lt;br /&gt;
== Interested parties ==&lt;br /&gt;
&lt;br /&gt;
People who would be willing to spend time on the garden.&lt;br /&gt;
 &lt;br /&gt;
* [[User:RobertBachmann|Robert Bachmann]]&lt;br /&gt;
** could act as a point person&lt;br /&gt;
** writing the sample document&lt;br /&gt;
** providing styles (but he's not a good designer)&lt;br /&gt;
&lt;br /&gt;
* [[User:Scott Reynen|Scott Reynen]]&lt;br /&gt;
** could make the backend submission and switcher functionality&lt;br /&gt;
&lt;br /&gt;
* Malarkey (Andy Clarke http://www.stuffandnonsense.co.uk)&lt;br /&gt;
** Designer&lt;br /&gt;
** I agreed to help by contributing design themes after talking with Kevin and Tantek&lt;br /&gt;
&lt;br /&gt;
* [[User:PhilipAshlock|Philip Ashlock]] (http://www.philaestheta.com)&lt;br /&gt;
** Designer/Developer&lt;br /&gt;
** I agree to help by developing interface design - clean attractive implementations&lt;br /&gt;
** I have lots of live data from a university to work with&lt;br /&gt;
** My university will essentially be paying me for development work&lt;br /&gt;
** Suggestions for where efforts should be focused are most appreciated&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
* What license should be used? --[[User:RobertBachmann|Robert Bachmann]] 10:34, 21 Oct 2005 (PDT)&lt;br /&gt;
** My personal favorites are http://creativecommons.org/licenses/by/2.0/ and http://creativecommons.org/licenses/publicdomain/ --[[User:RobertBachmann|Robert Bachmann]] 14:03, 21 Oct 2005 (PDT)&lt;br /&gt;
* Should the example page contain examples for all microformats or should there be one example page per microformat? --[[User:RobertBachmann|Robert Bachmann]] 08:57, 24 Oct 2005 (PDT)&lt;br /&gt;
** I think the example pages should mirror real world examples as much as practical. In some cases, microformats will be mixed, and in others they will occur independently, and it would be nice to have an environment in which to test microformat applications on such a diversity of example data. On the other hand, I can see some benefit in keeping it simple to encourage use. --[[User:ScottReynen|Scott Reynen]] 12:44, 26 Oct 2005 (CST)&lt;br /&gt;
&lt;br /&gt;
=== Back end prototype ===&lt;br /&gt;
Coded by Scott Reynen&lt;br /&gt;
&lt;br /&gt;
* Demo: http://www.randomchaos.com/mfzen/&lt;br /&gt;
* Source: http://www.randomchaos.com/source/&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=4745</id>
		<title>zen-garden</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=zen-garden&amp;diff=4745"/>
		<updated>2006-02-04T05:05:51Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: /* Interested parties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Microformats Zen Garden =&lt;br /&gt;
&lt;br /&gt;
A [http://www.csszengarden.com/ CSS Zen Garden] for microformats is essential for popular adoption. Getting something that &amp;quot;looks cool&amp;quot; for &amp;quot;free&amp;quot; should be a key attraction for convincing authors to &amp;quot;steal&amp;quot; microformatted data and cut'n'paste it into their own sites, and for that matter, to reuse style sheets for microformatted data as well.&lt;br /&gt;
&lt;br /&gt;
Developers of microformat-savvy tools would also benefit from common idioms for presenting and editing microformatted data (for example, consider the impact of Apple's Address Book person-layout/edit view on many other Mac applications).&lt;br /&gt;
&lt;br /&gt;
Unlike the original Zen Garden, Javascript may also prove essential to unlocking designers' flexibility: people have expressed interest in hooking hCards to maps, or [http://web.mit.edu/glasser/www/JSCalendar/ this example of a renderer for hCalendar] [http://web.mit.edu/glasser/www/JSCalendar/hcalendar.html grid views].&lt;br /&gt;
&lt;br /&gt;
== Interested parties ==&lt;br /&gt;
&lt;br /&gt;
People who would be willing to spend time on the garden.&lt;br /&gt;
 &lt;br /&gt;
* [[User:RobertBachmann|Robert Bachmann]]&lt;br /&gt;
** could act as a point person&lt;br /&gt;
** writing the sample document&lt;br /&gt;
** providing styles (but he's not a good designer)&lt;br /&gt;
&lt;br /&gt;
* [[User:Scott Reynen|Scott Reynen]]&lt;br /&gt;
** could make the backend submission and switcher functionality&lt;br /&gt;
&lt;br /&gt;
* Malarkey (Andy Clarke http://www.stuffandnonsense.co.uk)&lt;br /&gt;
** Designer&lt;br /&gt;
** I agreed to help by contributing design themes after talking with Kevin and Tantek&lt;br /&gt;
&lt;br /&gt;
* [[User:PhilipAshlock|Philip Ashlock]] (http://www.philaeshteta.com)&lt;br /&gt;
** Designer/Developer&lt;br /&gt;
** I agree to help by developing interface design - clean attractive implementations&lt;br /&gt;
** I have lots of live data from a university to work with&lt;br /&gt;
** My university will essentially be paying me for development work&lt;br /&gt;
** Suggestions for where efforts should be focused are most appreciated&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
* What license should be used? --[[User:RobertBachmann|Robert Bachmann]] 10:34, 21 Oct 2005 (PDT)&lt;br /&gt;
** My personal favorites are http://creativecommons.org/licenses/by/2.0/ and http://creativecommons.org/licenses/publicdomain/ --[[User:RobertBachmann|Robert Bachmann]] 14:03, 21 Oct 2005 (PDT)&lt;br /&gt;
* Should the example page contain examples for all microformats or should there be one example page per microformat? --[[User:RobertBachmann|Robert Bachmann]] 08:57, 24 Oct 2005 (PDT)&lt;br /&gt;
** I think the example pages should mirror real world examples as much as practical. In some cases, microformats will be mixed, and in others they will occur independently, and it would be nice to have an environment in which to test microformat applications on such a diversity of example data. On the other hand, I can see some benefit in keeping it simple to encourage use. --[[User:ScottReynen|Scott Reynen]] 12:44, 26 Oct 2005 (CST)&lt;br /&gt;
&lt;br /&gt;
=== Back end prototype ===&lt;br /&gt;
Coded by Scott Reynen&lt;br /&gt;
&lt;br /&gt;
* Demo: http://www.randomchaos.com/mfzen/&lt;br /&gt;
* Source: http://www.randomchaos.com/source/&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=User:PhilipAshlock&amp;diff=19515</id>
		<title>User:PhilipAshlock</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=User:PhilipAshlock&amp;diff=19515"/>
		<updated>2006-02-04T05:05:40Z</updated>

		<summary type="html">&lt;p&gt;PhilipAshlock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AIM: philaestheta&lt;br /&gt;
&lt;br /&gt;
[http://www.philaestheta.com Website with contact info ]&lt;/div&gt;</summary>
		<author><name>PhilipAshlock</name></author>
	</entry>
</feed>