hcard-user-interface

From Microformats Wiki
Revision as of 15:41, 16 December 2007 by AndyMabbett (talk | contribs) (→‎Additional user interface: find full address from postal code)
Jump to navigation Jump to search

hCard User Interface

This page is for techniques and issues surrounding user-interfaces to author, publish, and display hCards.

Authors

Contributors

  • ...

Single Input Field for Names

When capturing name data that is later to be presented as a hCard, it's important that the data is collected at the highest fidelity possible. As not all names are suitable for hCard's implied-n optimisation (and therefore can't be output as fn, with n omitted), capturing component parts of the name individually enables the proper construction on n when generating the hCard.

Sometimes, however, constraints require a name be collected with a single field. Once such example is common blog CMSs (WordPress, TextPattern) that use a single database field to store the name against each post comment. In such cases it is always desirable to find a way to collect the name with higher fidelity. However, if this simply cannot be done, the implementer could chose to attempt to best-guess the component parts of the name to form a valid n.

One suggested 'best-guess' algorithm might be:

  1. If the name is one word, attempt implied nickname optimization
  2. If the name is two words, attempt implied n optimization
  3. For three or more words
    1. Perform a lookup against known sub-name combinations (e.g. 'Sarah Jane', 'Vander Wal')
    2. Apply the grammar "(honorific-prefix) given-name additional-name(s) family-name (honorific-suffix)"

The principal behind this suggestion is that it's better to make a good guess and potentially miscategorise an ambiguous name component than to generate an invalid hCard.

Additional user interface

Some examples of additional user interface for hCard. Note that most of these actions should be applicable to all instances of the microformat on the page at once (e.g. export all contacts), of for a selection of instances (e.g. export selected contacts), or one just one specific instance (e.g. export contact XYZ).

  • hCard:
    • "Add to Address Book" (convert the hCard to a vCard (.vcf) and pass it onto the OS to automatically open/incorporate into the user's preferred local address book application)
    • add to Gmail, Yahoo Mail, Hotmail address book (etc.)
    • send to Bluetooth, for quick transfer of contact info from the web to a cell phone.
    • export as text/ comma-separated-variables (CSV) to allow editing, sorting and/ or import into spreadsheets/ databases, etc. (or concatenate to existing file)
    • display contact details in an on-screen or downloadable semacode (to allow them to be read by mobile devices)
    • If a tel (phone number) having type home, work or cell is present, provide options to dial it (NB applies to one number at a time only; except for possible conference-call uses) directly, or via
      • built-in modem
      • bluetooth command to a paired device (e.g. cell phone)
      • default telephony app (e.g. skype-out)
    • If a tel (phone number) having type home, work or cell is present, provide options to send MMS:
      • directly
      • using on-line service
      • bluetooth command to a paired device (e.g. cell phone)
    • If a tel of type fax is present, provide options to send a fax to it via:
      • efax online service
      • built-in fax modem
    • If a birth-date is present, treat it as a recurring hCalendar event.
    • Given a postal code (or other partial address) fetch the full, canonical postal address for the relevant authority's website (e.g. [1]. If no country is defined, used the user's locality as the default.

See also

The hCard specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.