VCard4: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(reviewed thru section 6.2.8)
(update summary based on having a "done" RFC)
 
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
vCard 4 is work in progress (by the vcarddav group in IETF) on an update/replacement to/for vCard 3, RFC 2426.
vCard 4 is defined by [http://tools.ietf.org/html/rfc6350 RFC6350] ([http://www.ietf.org/rfc/rfc6350.txt text version]) and was developed the vcarddav group in IETF as an update/replacement to/for vCard 3, RFC 2426.


In many ways vCard4 breaks backward compatibility with vCard3.
In many ways vCard4 is a big step forward from vCard3 in terms of a standard for exchanging contact information.


In addition, vCard4 appears to be evolving in a different direction from (and in some way incompatibly with) the nascent Portable Contacts standard, which itself evolved incrementally and fairly cleanly/compatibly from [[hCard]] which was based on vCard3.
Also, in some minor ways vCard4 appears to be evolving in a different direction from (and in some way incompatibly with) the nascent Portable Contacts standard, which itself evolved incrementally and fairly cleanly/compatibly from [[hCard]] which was based on vCard3.
 
Finally, vCard4 adds a number of features which would make much more sense as orthogonal extensions (groups, calendaring, syncing).


This page documents known vCard4 issues from our analysis of the work in progress, in comparison to hCard/vCard3 and in comparison to Portable Contacts.
This page documents known vCard4 issues from our analysis of the work in progress, in comparison to hCard/vCard3 and in comparison to Portable Contacts.


Our goal is to encourage vCard4 to converge with Portable Contacts in order to avoid a schism in identity/profile formats on the web.
Our goal is to encourage vCard4 stick to a identity-centric core, and to converge with (or at least become compatible with) Portable Contacts in order to avoid a schism in identity/profile formats on the web.
 
— [[User:Tantek|Tantek]]
 
== vcarddav ==
 
The IETF VCARDDAV was formed to develop vCard4 among other things.
 
Mailing list:
* http://www.ietf.org/mail-archive/web/vcarddav/current/maillist.html


— [[User:Tantek|Tantek]] 17:50, 14 August 2010 (PDT)
Wiki: unknown. Unofficial vCard related wiki documentation has been maintained by microformats.org (and was incorporated as feedback into early drafts of vCard4)
* vCard3:
** http://microformats.org/wiki/vcard-errata
** http://microformats.org/wiki/vcard-suggestions
* http://microformats.org/wiki/vcard4


== current draft ==
== current draft ==
http://www.ietf.org/internet-drafts/draft-ietf-vcarddav-vcardrev-13.txt
vCard 4 draft 22 has been published as [http://tools.ietf.org/html/rfc6350 RFC6350] ([http://www.ietf.org/rfc/rfc6350.txt text version])
 
Changes made in earlier drafts:
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-22 draft 22 diffs from 21]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-21 draft 21 diffs from 20]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-20 draft 20 diffs from 19]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-19 draft 19 diffs from 18]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-18 draft 18 diffs from 17]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-17 draft 17 diffs from 16]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-16 draft 16 diffs from 15]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-15 draft 15 diffs from 14]
* [http://tools.ietf.org/rfcdiff?url2=draft-ietf-vcarddav-vcardrev-14 draft 14 diffs from 13]
 
2010-12-09: draft 15
* <nowiki>http://www.ietf.org/internet-drafts/draft-ietf-vcarddav-vcardrev-15.txt</nowiki> (dead link, how does one view and link to versions of IETF drafts?)


== recent vcarddav meetings ==
== recent vcarddav meetings ==
* 2010-07-28 10h30-11h30 IETF Vcarddav working group, IETF 78 meeting, Maastricht, NL
IETF Vcarddav working group meetings and meeting notes
* 2010-11-10 15h10-16h10 IETF 79 meeting, Beijing, China
** http://www.ietf.org/mail-archive/web/vcarddav/current/msg01898.html
* 2010-07-28 10h30-11h30 IETF 78 meeting, Maastricht, NL
** http://www.ietf.org/mail-archive/web/vcarddav/current/msg01631.html
** http://www.ietf.org/mail-archive/web/vcarddav/current/msg01631.html
== high level proposal for improving vCard4 ==
Based on a thorough section by section review, the changes and feedback I have for vCard4 fall into a general outline as follows:
1. Explicitly state as a goal to have vCard4 be reasonably backward compatible (i.e. with current implementations) of vCard3, both syntactically, and from a schema perspective (e.g. don't mess with structure of properties like N). This kind of practical backward compat enabled publishers to start posting vCard3 even when most consuming applications still only supported vCard2.1. The presence of vCard3 data then encouraged consuming applications over time to adopt it as well. I'd like to see the same successful adoption occur for
vCard4.
2. Keep the vCard4 core set of properties down to a minimum that has been well established either in:
* Popular address book programs (e.g. ANNIVERSARY)
* Current well adopted mature RFCs (e.g. IMPP)
* Common additions by OpenID / Portable Contacts that have seen adoption (e.g. SEX/GENDER, LANGUAGE, ACCOUNTS)
I believe this too will encourage better vCard4 adoption.
3. Drop other new vCard4 properties/values from the core and if they seem to make sense, move them to extension specifications instead where they can prove themselves out, e.g.:
* KIND:GROUP - vCard should not expand scope like this. For new kinds of objects new vThings should be created as iCalendar did (e.g. VGROUP), and can be, outside the vCard spec.
* XML - obsolete bad idea. From a programmatic perspective the web has moved on from XML to JSON. See [http://blog.jclark.com/2010/11/xml-vs-web_24.html James Clark: XML vs the Web] (2010-11-24)
Potential Extensions:
* groups extension (MEMBER property, maybe a new VGROUP object)
* sync extension (CLIENTPIDMAP, etc.)
* calendar contact extension (FBURL, CALADRURI, CALURI)
4. Improvements to Extensions:
(this subsection needs updating per the recent drafts of the genealogy extension - [[User:Tantek|Tantek]] 23:35, 11 January 2011 (PST))
The following have been dropped from vCard4 because there is little/no implementation or real world examples of address book user interfaces using them. Nonetheless, they may be considered for development as extension specifications and as such deserve some feedback.
* genealogy extension (BIRTH location, DEATH location, DDAY datetime of death, maybe more from GEDCOM)
** DDAY
*** Use case: this is parallel to the existing BDAY field, and could help solve longstanding UI problems with address book entries for people who have passed away (and social network profiles as well that are memorialized).
*** ISSUE: bad name. "DDAY" already has a commonly known meaning of the [http://en.wikipedia.org/wiki/Normandy_landings Normandy Landings] (usually written "D-Day". Here are some suggested alternatives
**** DECEASED - term is used in the fictional profile user interface of a government accounting department in the movie "Hackers". And even though this is a fictional example (there are others, like in the movie "Amelie" a scene is shown where a weeping gentleman is erasing a recently deceased friend from his address book).
*** ISSUE: No real world implementation. There is no documentation of any  basis for inclusion based on existing address book features / interfaces.
** DEATH - death location (this is not their grave location, but rather the place they died)
*** ISSUE: Lack of address book use case. What is the use case for keeping track of other people's death locations in your address book?
*** ISSUE: bad name, too generic, this property is poorly worded. What does genealogy software currently use for the label for the location of death? (assuming any genealogy software actually supports that - which should be documented)
**** maybe something like DLOCATION - using D prefix and reusing LOCATION property from iCalendar - would be better.
** BIRTH
*** ISSUE: Lack of address book use case. What is the use case for keeping track of other people's birth locations in your address book?
*** ISSUE: again bad name, too generic, this property is poorly worded. What does genealogy software currently use for the label for the location of birth? (assuming any genealogy software actually supports that - which should be documented)
**** maybe something like BLOCATION - reusing B prefix from BDAY and LOCATION property from iCalendar - would be better
*** ISSUE: impacts security. some sites use birth location as a pseudo-security question/answer.


== issues ==
== issues ==
=== divergence from vCard3 ===
This is a rough list of issues that is incomplete.
* N property
** dropped 'additional-name's - this makes it non-backward compat with vCard3
=== divergence from Portable Contacts ===
* SEX (in vCard4) vs GENDER (in PoCo)
** different property names and values that don't necessarily map
** this might actually be ok if we document how to keep and use *both* properties, each for a specific purpose, that is:
*** SEX - biological value (enum: (M)ale, (F)emale, (O)ther, (N)one)
*** GENDER - gender identity value (a string)


==== see also 2009 Joseph Smarr post ====
Please see the section by section review below that has both a much more detailed and comprehensive coverage of the problems in the current vCard4 draft 15 with suggestions for improvement too.
Joseph Smarr wrote about [http://josephsmarr.com/2009/03/25/portable-contacts-and-vcarddav-ietf-74/ Portable Contacts and vCardDAV (IETF 74)] on his blog in March of 2009 also covering challenges/issues around vCard4 vs PoCo.
 
=== divergence from GENDER proposal ===
* GENDER property as proposed in feedback on draft 13 included 2 components, an enum and an plain text field. draft 15 GENDER property is only a single plain text field.
 
* Summary of previous proposal:
** SEX - biological value (enum: (M)ale, (F)emale, (O)ther, (N)one, (U)nknown)
** GENDER - gender identity value (a string)


=== new properties not used by address books ===
New properties in vCard4 were supposed to have some basis in existing address book features. The following properties do not appear to meet this criteria:
* DDAY - date of death
** opinion: +0 - this is parallel to the existing BDAY field, and could help solve longstanding UI problems with address book entries for people who have passed away (and social network profiles as well that are memorialized). mostly harmless, may be interesting to include. I'm ok with this property going into the public last call and seeing what implementations do with it, but want to point out that there is no basis for inclusion based on existing address book features / interfaces. [[User:Tantek|Tantek]] 18:36, 14 August 2010 (PDT)
* BIRTH - birth location
** opinion: -1 - this seems like a bad idea.  many sites use birth location as a pseudo-security question/answer.  What is the use case for keeping track of other people's birth locations in your address book? (nevermind that this property is also poorly worded - something like BLOCATION - reusing B prefix from BDAY and LOCATION property from iCalendar - would be better) vCard4 should drop this property. [[User:Tantek|Tantek]] 18:36, 14 August 2010 (PDT)
* DEATH - death location (this is not their grave location, but rather the place they died)
** opinion: -1 - again, seems like a bad idea. What is the use case for keeping track of other people's death locations in your address book? (nevermind that this property is also poorly worded - something like DLOCATION - reusing D prefix from DDAY and LOCATION property from iCalendar - would be better) vCard4 should drop this property. [[User:Tantek|Tantek]] 18:36, 14 August 2010 (PDT)
=== other properties and problems ===
=== other properties and problems ===
* KIND property - this seems like the wrong way to add new data types.  vCard4 appears to be extended to represent (in addition to people and organizations)
* KIND property - this seems like the wrong way to add new data types.  vCard4 appears to be extended to represent (in addition to people and organizations)
** a group (of vCard items)
** a group (of vCard items)
** a "thing" (like a conference room projector
** opinion: -1 - this seems like a bad way to extend type information.  shoehorning all types of objects into being "vCards" seems like a really bad design decision.  the MIME/Content type mechanism should be used instead.  e.g. create a vGroup and vThing if necessary instead. it is also unnecessary for differentiating a person vs organization - that is organization is already inferred by FN == ORG. thus vCard4 should drop this property. [[User:Tantek|Tantek]] 18:36, 14 August 2010 (PDT)
** opinion: -1 - this seems like a bad way to extend type information.  shoehorning all types of objects into being "vCards" seems like a really bad design decision.  the MIME/Content type mechanism should be used instead.  e.g. create a vGroup and vThing if necessary instead. it is also unnecessary for differentiating a person vs organization - that is organization is already inferred by FN == ORG. thus vCard4 should drop this property. [[User:Tantek|Tantek]] 18:36, 14 August 2010 (PDT)


=== other new properties to be evaluated ===
=== other new properties that should go into extension instead ===
The following new properties are not fully understood and need additional analysis to determine if they have problems.
The following new properties should not be in core vCard and should be considered for extensions instead.


* XML - this seems like a total hack.
Groups extension:
* MEMBER - related to GROUPs - doesn't seem to belong in vCard
* MEMBER - related to GROUPs
* RELATED
* perhaps a new VGROUP object
 
Synchronization extension:
* CLIENTPIDMAP
* CLIENTPIDMAP
* PID paramater
Calendar contact extension:
* FBURL
* FBURL
* CALADRURI
* CALADRURI
* CALURI
* CALURI


== draft 13 section by section review ==
== draft 15 section by section review ==
 
=== section 5.6 ===
5.6.  TYPE
 
Same issue(s) as draft 13 section 5.7. No specific comments.  General comment - type seems like a catch-all of sorts - not very well designed.  Some of the uses are quite flawed. E.g. the notions of "work" and "home" have not worked well in practice. In particular "work" doesn't make much sense given that there is an "ORG" property with which any work email/phone/address should be associated, rather than just implied.


=== section 3.1 ===
=== section 6.1.4.  KIND ===
3.1.  Line Delimiting and Folding
6.1.4KIND


Editorial comment:
While not the best of ideas, the introduction of this somewhat meta-property may be inevitable to at least distinguish between the existing real world uses and implementations of vCards for organizations, people, and places.


Examples use "DESCRIPTION" property - which is not in vCard.
I still object to: GROUP


Suggestion: use "NOTE" property instead.
GROUP should be dropped from 6.1.4 KIND. It may make sense as an extension (similar to LIST and ROBOT suggested by Kevin Marks).


=== section 4.1 ===
2010-12-20 email sent to vcarddav list accordingly.
4.1.  TEXT


Editorial comment:
Lots of follow-up on the list and disagreement - no conclusion/consensus.


Examples use "DESCRIPTION" property - which is not in vCard.
KIND:GROUP and the entire GROUP feature is premature and not ready for a last call.


Suggestion: use "NOTE" property instead.
=== section 6.1.5.  XML ===
6.1.5.  XML


=== section 4.4 ===
While it has been clarified that this property is NOT for duplicating any vCard properties/values, this still seems like a bit of a hack.
4.4.  BOOLEAN


Editorial comment:
There haven't been sufficient real world use cases presented to justify this property.


TYPO:
What precise (end user scenario) problem is it necessary to (help) solve?


"boolean": The "boolean" value type is used to express boolen values.
Frankly, this looks like a hack for a specific implementation and not something that belongs in this generic spec.


Should be:
For instance, people might be using all kinds of other data around contact info but it's not vCard's job to provide some place to stick it.


"boolean": The "boolean" value type is used to express boolean values.
You could always invent your own X-STORED-EXTRA-DATA field.


=== section 5.1 ===
Such proprietary data is unlikely to be interoperable anyway, therefore we shouldn't pretend to make it superficially look like it by putting in a specific property for it. Better to leave implementations to use their own opaque proprietary properties for proprietary extensions.
5.1.  LANGUAGE


Editorial comment:
Also, this property will be very confusing to new implementers who may either not even be aware of or not care about the XML serialization, let alone a need to round-trip it thru this format (c.f. [http://blog.jclark.com/2010/11/xml-vs-web_24.html XML is dead on the web, killed by JSON] at least for APIs. For formats/documents, HTML(5)+microformats have handily beat XML on the Web).


Please provide a simple example use of the LANGUAGE property parameter, e.g.
Recommendation: DROP XML property, and encourage implementers who think they need it or want to implement to propose an extension instead.


<pre><nowiki>
=== section 6.2.1.  FN ===
ROLE;LANGUAGE=en:teacher
6.2.1.  FN
ROLE;LANGUAGE=tr:hoca
 
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.2.1._FN remains from draft 13]:  
 
This property has changed from requiring a single instance in vCard3 to requiring one or more instances in vCard4.
 
There is no advice/guidance/example given regarding how to treat multiple FNs and thus I fear this new capability may introduce some interoperability problems.
 
I suggest some wording and examples clarifying what the purpose may be for multiple FNs, e.g. multiple ways of displaying a name (perhaps some with additional names, some without), or multiple ways (character sets? languages?) to write a name (e.g. a Japanese name may be written with Kanji or transliterated Hiragana).


See below ALTID property parameter for how to associate these two ROLE properties as being alternatives for the same property value.
=== section 6.2.5.  BDAY ===
</nowiki></pre>
6.2.5.  BDAY


=== section 5.4 ===
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.2.5._BDAY remains from draft 13]:
5.4.  PREF


Preferred value between 1 and 100 seems a bit arbitrary.
The expansion of permitting month-day only or year only are both very good and allowing text based "circa" dates is interesting as well. Would also suggest permitting year-month as well, e.g. 1996-04


What is the use-case for this?
Recommend updating examples to:


Also, from a synchronization perspective, picking absolute numbers for indicating preference would seem to make little sense, as the values themselves only make sense relative to other values.
<pre><nowiki>
Examples:


Suggestion: drop this property parameter - it seems like a bad design, and unnecessary.
            BDAY:19960415
            BDAY:1996-04
            BDAY:--0415
            BDAY;19531015T231000Z
            BDAY;VALUE=text:circa 1800
</nowiki></pre>


=== section 5.5 ===
and make any updates to the grammar as needed.
5.5.  ALTID


This seems like a good mechanism for publishing multilingual alternatives on a per-property basis.
=== section 6.2.6.  ANNIVERSARY ===
6.2.9.  ANNIVERSARY


I'm interested to see how implementations support this, but overall optimistic about its potential.
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.2.9._ANNIVERSARY remains from draft 13]:


=== section 5.6 ===
Should allow same date-and-or-time data type as BDAY, including year-only, month-day, year-month etc.
5.6.  PID


This definition is very short and abstract and is not very useful out of context as it is.  There should be at least one concrete example, otherwise move this section to "Section 7" since that's where it says there are "more details on its usage".
Recommend updating examples to:


My recommendation just reading its description would be to drop this new property parameter.
<pre><nowiki>
Examples:


=== section 5.7 ===
            ANNIVERSARY:19960415
5.7.  TYPE
            ANNIVERSARY:1996-04
            ANNIVERSARY:--0415
            ANNIVERSARY;19531015T231000Z
            ANNIVERSARY;VALUE=text:circa 1800
</nowiki></pre>


No specific comments. General comment - type seems like a catch-all of sorts - not very well designedSome of the uses are quite flawed. E.g. the notions of "work" and "home" have not worked well in practice. In particular "work" doesn't make much sense given that there is an "ORG" property with which any work email/phone/address should be associated, rather than just implied.
=== section 6.2.7. GENDER ===


=== section 5.8 ===
Overall this is a big improvement over the [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.2.10._SEX previous "SEX" property].
5.8. CALSCALE


In practice have there been any address books that implement a CALSCALE *other* than the specific default of "gregorian"?
However, it appears the [https://wiki.mozilla.org/VCard4-draft-13-review#GENDER feedback/proposal for the GENDER property] was mistinterpreted or unintentionally oversimplified to a single text string.


I think this should be dropped until there is at least some evidence produced that there is address book software out there that bothers to even try to support part of the existing vCard3 spec and that provides a non-gregorian calendar scale user interface.
This is insufficient.  Here is the proposal again, updated with new conventions for the current draft.


Recommended we drop this property parameter.
==== GENDER  ====


=== section 5.9 ===
Purpose: To specify the components of the sex and gender identity of the object the vCard represents.  
5.9.  SORT-AS


Having this as a property *parameter* seems like an improvement over the previous 'sort-string' property which I've not really seen used in the wild.
Value type: A single structured text value. Each component can have a single value.  


=== section 5.10 ===
Cardinality: *1
5.10.  GEO


This makes sense as an addition/refinement to the ADR property, to assign a specific lat/long to a particular address, especially when multiple addresses are involved. hCard backward compat will be a little interesting but I'm sure we can figure it out.
Special notes: The structured property value corresponds, in sequence, to the sex (biological), and (optional) gender identity. The text components are each optional and separated by the SEMI-COLON character (ASCII decimal 59).  


=== section 5.11 ===
Sex component: The value M stands for "male", F stands for "female", O stands for "other", N stands for "none or not applicable", U stands for "unknown".  
5.11.  TZ


Makes sense in the same way as GEO parameter.
Gender identity component: a single text value.  


=== section 5.12 ===
Gender property examples:
5.12.  VERSION


I don't think this is necessary, and in fact encourage future breaking as well as pushing the burden of handling multiple versions of a property onto implementations.
<pre><nowiki>
Examples:
            GENDER:M
            GENDER:F
            GENDER:M;Fellow
            GENDER:F;Bird
            GENDER:O;intersex
            GENDER:;queer
</nowiki></pre>


Let's NOT add this, and instead work hard to:
When you might you see the 'N' value for the sex component, and organization for example:
* specify forward compatible parsing rules (i.e. ignore any params you don't recognize)
* keep properties backward compatible in general, just adding detail params (like TZ and GEO) where it progressively enhances the property without breaking any existing semantics.


=== section 5.13 ===
<pre><nowiki>
5.13.  FMTTYPE
Examples
            BEGIN:VCARD
            FN:IETF
            ORG:IETF
            KIND:org
            GENDER:N
            END:VCARD
</nowiki></pre>


This seems like a reasonable property parameter addition for binary value types.
Notes:


=== section 6. ===
The examples of "Fellow" and "Bird" are taken from the actual [http://microformats.org/wiki/gender-examples user interface of Digg], and see [http://en.wikipedia.org/wiki/Intersex#Intersex_identity Wikipedia for intersex].
The current cardinality shorthands are cryptic, please use something more typically readable, e.g.:


* (1) - exactly one instance must be present
=== section 6.3.1.  ADR ===
* (1-n) - at least one instance must be present
6.3.1.  ADR
* (0-1) - at most one instance may be present
* (0-n) - any number of instances may be present


=== section 6.1 ===
Just minor typos:
6.1.  General Properties


no content.
* "are the plagued with" should be "are plagued with"
* 'a "street" component' should be 'a "street address" component'


=== section 6.1.1. BEGIN ===
=== section 6.4.1. TEL ===
6.4.1.  TEL


no comment. seems compatible.
The new examples look reasonable.


=== section 6.1.2. END ===
One concern, I like the "ext" parameter used in the example, but don't see how it is represented in the grammar for the property. Hopefully this is an unintended omission and the TEL property grammar can be adjusted to allow for the "ext" parameter.


no comment. seems compatible.
The problematic PREF parameter still exists. I don't expect it to work for interop/sync as specified.  


=== section 6.1.3. SOURCE ===
In addition the notion of PREF is badly outdated and needs to be rethought *across* different types of communications, not just among instances of a specific type of communication (e.g. what is preferred: phone vs email, not just which phone number).
6.1.3.  SOURCE


no comment. seems compatible.
Recommend dropping PREF parameter as it is a poor design. Better not to have it than have a poor design that gives implementers backward compat headaches later.


=== section 6.1.4KIND ===
=== section 6.4.2EMAIL ===
6.1.4KIND
6.4.2EMAIL


I think this is a really bad idea.
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.4.2._EMAIL remains from draft 13]:


While existing usage of vCard3 for both people and organizations is something we have to support moving forward, I really don't want to see this expanded further (with the possible exception of a named location - which we've found utility for with hCard as well).
The problematic PREF parameter still exists. I don't expect it to work for interop/sync as specified.  


Object to: group, thing
In addition the notion of PREF is badly outdated and needs to be rethought *across* different types of communications, not just among instances of a specific type of communication (e.g. what is preferred: phone vs email, not just which phone number).


Groups should not just be a form of vCard.  And thing?  I think both of these are horrible abuse of existing vCard semantics.
Recommend dropping PREF parameter as it is a poor design. Better not to have it than have a poor design that gives implementers backward compat headaches later.


If you want to add new objects, let's add new objects like a vGroup or a vThing etc. But please let's not bloat vCard with these things.
=== section 6.4.3.  IMPP ===
6.4.3.  IMPP


=== section 6.1.5.  XML ===
Same problems with PREF parameter.
6.1.5.  XML


I think this is totally unnecessary and a bad idea because it violates DRY.
=== section 6.4.4.  LANG ===
6.4.4.  LANG


Seriously? An XML property that represents all the rest of the data in the same vCard? Ugh. Which do you trust? The XML or the actual vCard properties?
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.4.5._LANG remains from draft 13]:


I recommend using the full property name LANGUAGE instead, per re-use from OpenID.


=== section 6.2. Identification Properties ===
The term "lang" is already a commonly used HTML attribute that appears to be similar in syntax (e.g. takes a single language-tag value) but is quite different in meaning, in that it indicates the language of the text being marked up, rather than a preference for communication.
6.2.  Identification Properties


no comment on intro.
=== section 6.5.1.  TZ ===
6.5.1.  TZ


=== section 6.2.1.  FN ===
Issues [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.5.1._TZ remain from draft 13]:
6.2.1. FN


The possibility of having multiple FNs is introduced, which seems both reasonable and useful in practice from personal experience with developing address book code.
Forward-looking references to potential efforts don't belong in a specification. E.g. "Efforts are currently being directed at creating a standard URI scheme for expressing time zone information.  Usage of such a scheme would ensure a high level of interoperability between implementations that support it."


However, there is no advice/guidance given regarding how to treat multiple FNs and thus I fear this new capability may introduce some interoperability problems.
Cardinality should be *1 - how can a vCard object be in multiple time zones?


I suggest some wording and examples clarifying what the purpose may be for multiple FNs, e.g. multiple ways of displaying a name (perhaps some with additional names, some without), or multiple ways (character sets? languages?) to write a name (e.g. a Japanese name may be written with Kanji or transliterated Hiragana).
Even if it could - it would be very confusing and no guidance is provided to implementations for how to support a vCard object being in multiple time zones.


In addition, the property should drop the language about "you shouldn't use UTC offset".


=== section 6.2.2.  N ===
In practice that may be quite useful ("is it the middle of the night in london right now?") and avoids all the complexity of full timezone support.


Not requiring an N is a big improvement.
In PortableContacts we chose to ONLY allow utcOffset and and in microformats we only allow UTC offsets for datetime properties - so this is an interop issue.


The new N structure is different enough from vCard3 to be problematic.
It may be ok to leave in a warning, saying something like: "of course, this may not be perfectly accurate since differences in when/whether daylight saving time is observed may cause it to be off a bit" (editorial discretion accepted).


Minor change:
=== section 6.5.2.  GEO ===
* Use "family name" as a primary (perhaps with "also known as surname") since vCard3 referred to "family name", and hCard adopted that wording in the subproperty "family-name".
6.5.2. GEO


Major changes:
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.5.2._GEO remains from draft 13]:
* Consider allowing multiple family names. In my experience giving microformats workshops around the world, I have found that there are languages/cultures that actually use multiple family names in practice, e.g. in Spain.
* Restore the "additional name" structural component that was in vCard3 for better schematic compatibility.
* Am ok with multiple Given Names as that does reflect common practice.


=== section 6.2.3.  NICKNAME ===
Same cardinality issue as TZ.
6.2.3.  NICKNAME
"belonging to a person, place, or thing" - avoid such itemizations of what a vCard could represent as it will be (is) a maintenance nightmare.


Use "belonging to the object the vCard represents" instead.
Cardinality should be *1 - how can a vCard object be in multiple specific locations?


=== section 6.2.4.  PHOTO ===
Even if it could - it would be very confusing and no guidance is provided to implementations for how to support a vCard object being in multiple geo locations.
6.2.4.  PHOTO


Seems about the same as vCard3.
=== section 6.6.3.  LOGO ===
6.6.3.  LOGO


Provide a data: URI example as implementations do seem to support that, and note how the data URI may contain the content/MIME-type and thus that can be used instead of the FMTTYPE param. For reference:
Issues [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.6.3._LOGO remain from draft 13]:  


http://en.wikipedia.org/wiki/Data_URI_scheme
In practice this property has caused confusion with respect to the PHOTO property. Which should you use when?


<nowiki>data:[<MIME-type>][;charset=<encoding>][;base64],<data></nowiki>
Also, why is this included in the Organizational Properties section rather than alongside PHOTO?


=== section 6.2.5. BDAY ===
If there is a more specific semantic to be applied, e.g. this is the LOGO for the organization that the person the vCard object represents works for, then that specific semantic should be explicitly mentioned.
6.2.5.  BDAY


The expansion of permitting month-day only or year only are both very good.  Would also suggest permitting year-month as well, e.g. 1996-04
Recommend also providing an example with both LOGO and PHOTO that clearly demonstrates the proper/intended use of each.


=== section 6.6.5.  MEMBER ===
6.6.5.  MEMBER


=== section 6.2.6. DDAY ===
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.6.5._MEMBER remains from draft 13]:
6.2.6. DDAY


No evidence of address books that support this property have been presented.
Groups should not be in vCard but rather should be in another spec/schema, or an extension at least.


This would make more sense as part of a "genealogy" extension to vCard4 rather than part of the core.
As noted in previous KIND property, the GROUP functionality has serious problems and lacks consensus - is not ready for last call.


That being said:
Recommend drop this property.


I for one have personally found it there to be a user-interface challenge in managing the contact information in an address book of people that have passed away.
We should cut this feature and those pursuing it can continue doing so as an extension.


While some may suggest simply deleting such entries, I don't think that reflects that necessary history/attachment/notes of common usage of such address book entries.
=== section 6.6.6.  RELATED ===
6.6.6.  RELATED


However, given that address books are often used to "auto-fill/suggest" things like email program "To:" fields etc. (e.g. Mail.app on MacOSX with the Address Book app), it makes sense to provide some way to mark a contact as deceased so that they don't show up in auto-fill/suggest user interfaces.
This is looking much better, with the adoption of the canonical XFN vocabulary (rather than inventing a new vocabulary).


A DDAY property could serve as a proxy for such a "deceased" checkbox on an entry.
I suggest also adding a note encouraging those wanting to extend it to contribute and particiate in the XFN brainstorming page.


It should explicitly allow the same data type as BDAY, and provide examples accordingly.
http://microformats.org/wiki/xfn-brainstorming


Thus while there is no existing evidence of address books that provide this kind of user interface feature, I believe this may be an instance where it makes sense to add this field, given the *address book* use cases documented above.


I would also be ok postponing this property to a "genealogy" extension.
=== section 6.7.1.  CATEGORIES ===
6.7.1.  CATEGORIES


Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.7.1._CATEGORIES remains from draft 13]:


=== section 6.2.7.  BIRTH ===
Just like TEL has been revised to accepted URL values, CATEGORIES should be as well, for the same reason.
6.2.7.  BIRTH
No evidence of address books that support this property have been presented.


This would make more sense as part of a "genealogy" extension to vCard4 rather than part of the core.
There's an existing standard, rel-tag, that defines and encourages the use of URLs for tags/categories as a way of providing scoping/discovery/linking functionality to tags/categories.


And this is a horrible property name to boot for a "location".
Suggestion: explicitly allow URIs as text values to represent specifically scoped tags, with the last path segment of the URI representing the "keyword" of the tag, as specified by the rel-tag specification http://microformats.org/wiki/rel-tag


Recommendation: drop from vCard4.
=== section 6.9.  Calendar Properties ===
6.9.  Calendar Properties


=== section 6.2.8. DEATH ===
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_6.9._Calendar_Properties remains from draft 13]:
6.2.8.  DEATH


No evidence of address books that support this property have been presented.
This whole section should be dropped from core and placed into an extension.


This would make more sense as part of a "genealogy" extension to vCard4 rather than part of the core.


And this is a horrible property name to boot for a "location".
=== section 7. Synchronization ===
7.  Synchronization


Recommendation: drop from vCard4.
Issue [https://wiki.mozilla.org/VCard4-draft-13-review#section_7._Synchronization remains from draft 13]:


This entire section, the PID property, and the CLIENTPIDMAP property should all be moved to an extension spec.


=== in progress review continues here ... ===


== past reviews critiques proposals ==
=== draft 13 section by section review ===
Moved to separate page:


* [[VCard4-draft-13-review]]


=== see also 2009 Joseph Smarr post ===
Joseph Smarr wrote about [http://josephsmarr.com/2009/03/25/portable-contacts-and-vcarddav-ietf-74/ Portable Contacts and vCardDAV (IETF 74)] on his blog in March of 2009 also covering challenges/issues around vCard4 vs PoCo.


== related ==
== related ==
* [[Standards]]
* [[Standards]]

Latest revision as of 22:16, 10 November 2014

vCard 4 is defined by RFC6350 (text version) and was developed the vcarddav group in IETF as an update/replacement to/for vCard 3, RFC 2426.

In many ways vCard4 is a big step forward from vCard3 in terms of a standard for exchanging contact information.

Also, in some minor ways vCard4 appears to be evolving in a different direction from (and in some way incompatibly with) the nascent Portable Contacts standard, which itself evolved incrementally and fairly cleanly/compatibly from hCard which was based on vCard3.

Finally, vCard4 adds a number of features which would make much more sense as orthogonal extensions (groups, calendaring, syncing).

This page documents known vCard4 issues from our analysis of the work in progress, in comparison to hCard/vCard3 and in comparison to Portable Contacts.

Our goal is to encourage vCard4 stick to a identity-centric core, and to converge with (or at least become compatible with) Portable Contacts in order to avoid a schism in identity/profile formats on the web.

Tantek

vcarddav

The IETF VCARDDAV was formed to develop vCard4 among other things.

Mailing list:

Wiki: unknown. Unofficial vCard related wiki documentation has been maintained by microformats.org (and was incorporated as feedback into early drafts of vCard4)

current draft

vCard 4 draft 22 has been published as RFC6350 (text version)

Changes made in earlier drafts:

2010-12-09: draft 15

  • http://www.ietf.org/internet-drafts/draft-ietf-vcarddav-vcardrev-15.txt (dead link, how does one view and link to versions of IETF drafts?)

recent vcarddav meetings

IETF Vcarddav working group meetings and meeting notes

high level proposal for improving vCard4

Based on a thorough section by section review, the changes and feedback I have for vCard4 fall into a general outline as follows:

1. Explicitly state as a goal to have vCard4 be reasonably backward compatible (i.e. with current implementations) of vCard3, both syntactically, and from a schema perspective (e.g. don't mess with structure of properties like N). This kind of practical backward compat enabled publishers to start posting vCard3 even when most consuming applications still only supported vCard2.1. The presence of vCard3 data then encouraged consuming applications over time to adopt it as well. I'd like to see the same successful adoption occur for vCard4.

2. Keep the vCard4 core set of properties down to a minimum that has been well established either in:

  • Popular address book programs (e.g. ANNIVERSARY)
  • Current well adopted mature RFCs (e.g. IMPP)
  • Common additions by OpenID / Portable Contacts that have seen adoption (e.g. SEX/GENDER, LANGUAGE, ACCOUNTS)

I believe this too will encourage better vCard4 adoption.


3. Drop other new vCard4 properties/values from the core and if they seem to make sense, move them to extension specifications instead where they can prove themselves out, e.g.:

  • KIND:GROUP - vCard should not expand scope like this. For new kinds of objects new vThings should be created as iCalendar did (e.g. VGROUP), and can be, outside the vCard spec.
  • XML - obsolete bad idea. From a programmatic perspective the web has moved on from XML to JSON. See James Clark: XML vs the Web (2010-11-24)

Potential Extensions:

  • groups extension (MEMBER property, maybe a new VGROUP object)
  • sync extension (CLIENTPIDMAP, etc.)
  • calendar contact extension (FBURL, CALADRURI, CALURI)

4. Improvements to Extensions: (this subsection needs updating per the recent drafts of the genealogy extension - Tantek 23:35, 11 January 2011 (PST)) The following have been dropped from vCard4 because there is little/no implementation or real world examples of address book user interfaces using them. Nonetheless, they may be considered for development as extension specifications and as such deserve some feedback.

  • genealogy extension (BIRTH location, DEATH location, DDAY datetime of death, maybe more from GEDCOM)
    • DDAY
      • Use case: this is parallel to the existing BDAY field, and could help solve longstanding UI problems with address book entries for people who have passed away (and social network profiles as well that are memorialized).
      • ISSUE: bad name. "DDAY" already has a commonly known meaning of the Normandy Landings (usually written "D-Day". Here are some suggested alternatives
        • DECEASED - term is used in the fictional profile user interface of a government accounting department in the movie "Hackers". And even though this is a fictional example (there are others, like in the movie "Amelie" a scene is shown where a weeping gentleman is erasing a recently deceased friend from his address book).
      • ISSUE: No real world implementation. There is no documentation of any basis for inclusion based on existing address book features / interfaces.
    • DEATH - death location (this is not their grave location, but rather the place they died)
      • ISSUE: Lack of address book use case. What is the use case for keeping track of other people's death locations in your address book?
      • ISSUE: bad name, too generic, this property is poorly worded. What does genealogy software currently use for the label for the location of death? (assuming any genealogy software actually supports that - which should be documented)
        • maybe something like DLOCATION - using D prefix and reusing LOCATION property from iCalendar - would be better.
    • BIRTH
      • ISSUE: Lack of address book use case. What is the use case for keeping track of other people's birth locations in your address book?
      • ISSUE: again bad name, too generic, this property is poorly worded. What does genealogy software currently use for the label for the location of birth? (assuming any genealogy software actually supports that - which should be documented)
        • maybe something like BLOCATION - reusing B prefix from BDAY and LOCATION property from iCalendar - would be better
      • ISSUE: impacts security. some sites use birth location as a pseudo-security question/answer.

issues

This is a rough list of issues that is incomplete.

Please see the section by section review below that has both a much more detailed and comprehensive coverage of the problems in the current vCard4 draft 15 with suggestions for improvement too.

divergence from GENDER proposal

  • GENDER property as proposed in feedback on draft 13 included 2 components, an enum and an plain text field. draft 15 GENDER property is only a single plain text field.
  • Summary of previous proposal:
    • SEX - biological value (enum: (M)ale, (F)emale, (O)ther, (N)one, (U)nknown)
    • GENDER - gender identity value (a string)

other properties and problems

  • KIND property - this seems like the wrong way to add new data types. vCard4 appears to be extended to represent (in addition to people and organizations)
    • a group (of vCard items)
    • opinion: -1 - this seems like a bad way to extend type information. shoehorning all types of objects into being "vCards" seems like a really bad design decision. the MIME/Content type mechanism should be used instead. e.g. create a vGroup and vThing if necessary instead. it is also unnecessary for differentiating a person vs organization - that is organization is already inferred by FN == ORG. thus vCard4 should drop this property. Tantek 18:36, 14 August 2010 (PDT)

other new properties that should go into extension instead

The following new properties should not be in core vCard and should be considered for extensions instead.

Groups extension:

  • MEMBER - related to GROUPs
  • perhaps a new VGROUP object

Synchronization extension:

  • CLIENTPIDMAP
  • PID paramater

Calendar contact extension:

  • FBURL
  • CALADRURI
  • CALURI

draft 15 section by section review

section 5.6

5.6. TYPE

Same issue(s) as draft 13 section 5.7. No specific comments. General comment - type seems like a catch-all of sorts - not very well designed. Some of the uses are quite flawed. E.g. the notions of "work" and "home" have not worked well in practice. In particular "work" doesn't make much sense given that there is an "ORG" property with which any work email/phone/address should be associated, rather than just implied.

section 6.1.4. KIND

6.1.4. KIND

While not the best of ideas, the introduction of this somewhat meta-property may be inevitable to at least distinguish between the existing real world uses and implementations of vCards for organizations, people, and places.

I still object to: GROUP

GROUP should be dropped from 6.1.4 KIND. It may make sense as an extension (similar to LIST and ROBOT suggested by Kevin Marks).

2010-12-20 email sent to vcarddav list accordingly.

Lots of follow-up on the list and disagreement - no conclusion/consensus.

KIND:GROUP and the entire GROUP feature is premature and not ready for a last call.

section 6.1.5. XML

6.1.5. XML

While it has been clarified that this property is NOT for duplicating any vCard properties/values, this still seems like a bit of a hack.

There haven't been sufficient real world use cases presented to justify this property.

What precise (end user scenario) problem is it necessary to (help) solve?

Frankly, this looks like a hack for a specific implementation and not something that belongs in this generic spec.

For instance, people might be using all kinds of other data around contact info but it's not vCard's job to provide some place to stick it.

You could always invent your own X-STORED-EXTRA-DATA field.

Such proprietary data is unlikely to be interoperable anyway, therefore we shouldn't pretend to make it superficially look like it by putting in a specific property for it. Better to leave implementations to use their own opaque proprietary properties for proprietary extensions.

Also, this property will be very confusing to new implementers who may either not even be aware of or not care about the XML serialization, let alone a need to round-trip it thru this format (c.f. XML is dead on the web, killed by JSON at least for APIs. For formats/documents, HTML(5)+microformats have handily beat XML on the Web).

Recommendation: DROP XML property, and encourage implementers who think they need it or want to implement to propose an extension instead.

section 6.2.1. FN

6.2.1. FN

Issue remains from draft 13:

This property has changed from requiring a single instance in vCard3 to requiring one or more instances in vCard4.

There is no advice/guidance/example given regarding how to treat multiple FNs and thus I fear this new capability may introduce some interoperability problems.

I suggest some wording and examples clarifying what the purpose may be for multiple FNs, e.g. multiple ways of displaying a name (perhaps some with additional names, some without), or multiple ways (character sets? languages?) to write a name (e.g. a Japanese name may be written with Kanji or transliterated Hiragana).

section 6.2.5. BDAY

6.2.5. BDAY

Issue remains from draft 13:

The expansion of permitting month-day only or year only are both very good and allowing text based "circa" dates is interesting as well. Would also suggest permitting year-month as well, e.g. 1996-04

Recommend updating examples to:

Examples:

             BDAY:19960415
             BDAY:1996-04
             BDAY:--0415
             BDAY;19531015T231000Z
             BDAY;VALUE=text:circa 1800

and make any updates to the grammar as needed.

section 6.2.6. ANNIVERSARY

6.2.9. ANNIVERSARY

Issue remains from draft 13:

Should allow same date-and-or-time data type as BDAY, including year-only, month-day, year-month etc.

Recommend updating examples to:

Examples:

             ANNIVERSARY:19960415
             ANNIVERSARY:1996-04
             ANNIVERSARY:--0415
             ANNIVERSARY;19531015T231000Z
             ANNIVERSARY;VALUE=text:circa 1800

section 6.2.7. GENDER

Overall this is a big improvement over the previous "SEX" property.

However, it appears the feedback/proposal for the GENDER property was mistinterpreted or unintentionally oversimplified to a single text string.

This is insufficient. Here is the proposal again, updated with new conventions for the current draft.

GENDER

Purpose: To specify the components of the sex and gender identity of the object the vCard represents.

Value type: A single structured text value. Each component can have a single value.

Cardinality: *1

Special notes: The structured property value corresponds, in sequence, to the sex (biological), and (optional) gender identity. The text components are each optional and separated by the SEMI-COLON character (ASCII decimal 59).

Sex component: The value M stands for "male", F stands for "female", O stands for "other", N stands for "none or not applicable", U stands for "unknown".

Gender identity component: a single text value.

Gender property examples:

Examples:
             GENDER:M 
             GENDER:F 
             GENDER:M;Fellow 
             GENDER:F;Bird 
             GENDER:O;intersex 
             GENDER:;queer 

When you might you see the 'N' value for the sex component, and organization for example:

Examples
             BEGIN:VCARD
             FN:IETF
             ORG:IETF
             KIND:org
             GENDER:N
             END:VCARD

Notes:

The examples of "Fellow" and "Bird" are taken from the actual user interface of Digg, and see Wikipedia for intersex.

section 6.3.1. ADR

6.3.1. ADR

Just minor typos:

  • "are the plagued with" should be "are plagued with"
  • 'a "street" component' should be 'a "street address" component'

section 6.4.1. TEL

6.4.1. TEL

The new examples look reasonable.

One concern, I like the "ext" parameter used in the example, but don't see how it is represented in the grammar for the property. Hopefully this is an unintended omission and the TEL property grammar can be adjusted to allow for the "ext" parameter.

The problematic PREF parameter still exists. I don't expect it to work for interop/sync as specified.

In addition the notion of PREF is badly outdated and needs to be rethought *across* different types of communications, not just among instances of a specific type of communication (e.g. what is preferred: phone vs email, not just which phone number).

Recommend dropping PREF parameter as it is a poor design. Better not to have it than have a poor design that gives implementers backward compat headaches later.

section 6.4.2. EMAIL

6.4.2. EMAIL

Issue remains from draft 13:

The problematic PREF parameter still exists. I don't expect it to work for interop/sync as specified.

In addition the notion of PREF is badly outdated and needs to be rethought *across* different types of communications, not just among instances of a specific type of communication (e.g. what is preferred: phone vs email, not just which phone number).

Recommend dropping PREF parameter as it is a poor design. Better not to have it than have a poor design that gives implementers backward compat headaches later.

section 6.4.3. IMPP

6.4.3. IMPP

Same problems with PREF parameter.

section 6.4.4. LANG

6.4.4. LANG

Issue remains from draft 13:

I recommend using the full property name LANGUAGE instead, per re-use from OpenID.

The term "lang" is already a commonly used HTML attribute that appears to be similar in syntax (e.g. takes a single language-tag value) but is quite different in meaning, in that it indicates the language of the text being marked up, rather than a preference for communication.

section 6.5.1. TZ

6.5.1. TZ

Issues remain from draft 13:

Forward-looking references to potential efforts don't belong in a specification. E.g. "Efforts are currently being directed at creating a standard URI scheme for expressing time zone information. Usage of such a scheme would ensure a high level of interoperability between implementations that support it."

Cardinality should be *1 - how can a vCard object be in multiple time zones?

Even if it could - it would be very confusing and no guidance is provided to implementations for how to support a vCard object being in multiple time zones.

In addition, the property should drop the language about "you shouldn't use UTC offset".

In practice that may be quite useful ("is it the middle of the night in london right now?") and avoids all the complexity of full timezone support.

In PortableContacts we chose to ONLY allow utcOffset and and in microformats we only allow UTC offsets for datetime properties - so this is an interop issue.

It may be ok to leave in a warning, saying something like: "of course, this may not be perfectly accurate since differences in when/whether daylight saving time is observed may cause it to be off a bit" (editorial discretion accepted).

section 6.5.2. GEO

6.5.2. GEO

Issue remains from draft 13:

Same cardinality issue as TZ.

Cardinality should be *1 - how can a vCard object be in multiple specific locations?

Even if it could - it would be very confusing and no guidance is provided to implementations for how to support a vCard object being in multiple geo locations.

6.6.3. LOGO

Issues remain from draft 13:

In practice this property has caused confusion with respect to the PHOTO property. Which should you use when?

Also, why is this included in the Organizational Properties section rather than alongside PHOTO?

If there is a more specific semantic to be applied, e.g. this is the LOGO for the organization that the person the vCard object represents works for, then that specific semantic should be explicitly mentioned.

Recommend also providing an example with both LOGO and PHOTO that clearly demonstrates the proper/intended use of each.

section 6.6.5. MEMBER

6.6.5. MEMBER

Issue remains from draft 13:

Groups should not be in vCard but rather should be in another spec/schema, or an extension at least.

As noted in previous KIND property, the GROUP functionality has serious problems and lacks consensus - is not ready for last call.

Recommend drop this property.

We should cut this feature and those pursuing it can continue doing so as an extension.

section 6.6.6. RELATED

6.6.6. RELATED

This is looking much better, with the adoption of the canonical XFN vocabulary (rather than inventing a new vocabulary).

I suggest also adding a note encouraging those wanting to extend it to contribute and particiate in the XFN brainstorming page.

http://microformats.org/wiki/xfn-brainstorming


section 6.7.1. CATEGORIES

6.7.1. CATEGORIES

Issue remains from draft 13:

Just like TEL has been revised to accepted URL values, CATEGORIES should be as well, for the same reason.

There's an existing standard, rel-tag, that defines and encourages the use of URLs for tags/categories as a way of providing scoping/discovery/linking functionality to tags/categories.

Suggestion: explicitly allow URIs as text values to represent specifically scoped tags, with the last path segment of the URI representing the "keyword" of the tag, as specified by the rel-tag specification http://microformats.org/wiki/rel-tag

section 6.9. Calendar Properties

6.9. Calendar Properties

Issue remains from draft 13:

This whole section should be dropped from core and placed into an extension.


section 7. Synchronization

7. Synchronization

Issue remains from draft 13:

This entire section, the PID property, and the CLIENTPIDMAP property should all be moved to an extension spec.


past reviews critiques proposals

draft 13 section by section review

Moved to separate page:

see also 2009 Joseph Smarr post

Joseph Smarr wrote about Portable Contacts and vCardDAV (IETF 74) on his blog in March of 2009 also covering challenges/issues around vCard4 vs PoCo.

related