hcard-validator.jpg

Der hCard Validator…is an unofficial validator/conformance checker of the hCard microformat„. Während der Optimus-Validator ein breites Spektrum an Microformats unterstützt, bring der hCard Validator (wie der Name schon sagt) ein paar schicke extra Features zum validieren von hCards mit sich.

Im Gegensatz zu Optimus, muss die hCard nicht zwingend über eine URL erreichbar sein, sondern kann auch bequem über ein Textfeld oder einen statischen Upload überprüft werden.

Weitere tolle Features sind z.B. der Profile-URI check:

<head> uses profile “http://gmpg.org/xfn/11” which is unrelated to 'http://www.w3.org/2006/03/hcard'
This may suggest that document does not use hCard microformat.

oder der E-Mail – Adressen – Check:

Value of email property doesn’t look like an e-mail
Found “webmaster-at-notiz.blog”, but expected simple syntax in form mailto:joe@example.com?subject=is%20optional.

(Test-hCard)

Zum Test habe ich die gleiche URL auch noch mit dem Chef-Transformer validiert, dem aber (leider) diese Liebe fürs Detail fehlt…

Rob Crowther hat für IBM developerWorks eine großartige Anleitung (mit Beispiel-Code) geschrieben, wie man die Microformats API in Firefox3 Extensions nutzen kann.

The upcoming Firefox 3.0 release has built-in support for microformats in the form of an API that you can access from a Firefox extension. In this tip, you follow a simple example of how to use this API from within your extension code. You take a skeleton Hello World extension and give it the ability to store an hCard from any Web page and then use that stored hCard to populate a Web form.

Die Beispiel-Erweiterung von Crowther nutzt hCard-Informationen um ein (im Beispiel beiliegendes) Profil-Formular auszufüllen.

hcardformfiller.jpg

Ablauf: Zuerst auf ne Seite mit hCard, linken Knopf drücken, dann auf das Fromular und rechten Knopf drücken.

hCardFormFiller für WordPress

Um dem Beispiel etwas mehr Nutzen zu geben, habe ich es testweise für das WordPress Kommentarformular umgeschrieben. Die Einzige notwendige Änderung ist, folgenden Code in der overlay.js:

onToolbarButtonPasteCommand: function(e) {
 if (this.uF.fn) {
   content.document.getElementById('name').value = this.uF.fn;
   content.document.getElementById('email').value = this.uF.email[0].value;
   content.document.getElementById('homepage').value = this.uF.url[0];
   content.document.getElementById('address1').value = this.uF.adr[0]['street-address'];
   content.document.getElementById('address2').value = this.uF.adr[0].locality;
   content.document.getElementById('city').value = this.uF.adr[0].region;
   content.document.getElementById('postcode').value = this.uF.adr[0]['postal-code'];
 }
}Code-Sprache: JavaScript (javascript)

durch folgenden Code:

onToolbarButtonPasteCommand: function(e) {
 if (this.uF.fn) {
   content.document.getElementById('author').value = this.uF.fn;
   content.document.getElementById('email').value = this.uF.email[0].value;
   content.document.getElementById('url').value = this.uF.url[0];
 }
}Code-Sprache: JavaScript (javascript)

zu ersetzen und das war’s. Jetzt könnt ihr mit einer hCard bewaffnet losziehen und WordPress Blogs zuspammen 🙂

Wer das Addon mal ausprobieren möchte kann sich den angepassten hCardFormFiller for WordPress runterladen… den original Code findet man hier.

Nachdem die Microformats kein UI spendiert bekommen haben, gibt es vielleicht demnächst einige Addons die diese Lücke füllen werden.

Interessante Links:

Vor ungefähr einem Jahr habe ich schonmal über einen Microformats Bluetooth-Export mit Hilfe von Tails-Export geschrieben. Da sich aber nach und nach der Operator als DAS Microformats-Addon für den Firefox durchgesetzt hat, wurde natürlich auch das Bluetooth-Script portiert.

Das Mac-Script findet man auf der Seite von Michael Kaply (direkter Link).

“Send to Bluetooth Device” action for sending ICS and VCF files via Bluetooth. Works with the hCard and hCalendar microformats.

…und seit letztem Monat gibt es auch ein Windows-Script von Thom Shannon (direkter Link).

I’ve modified the Mac only bluetooth user script for operator to work on windows. It’s based on this script, and originally inspired by Johns hack of Tails.

hcard-adressbuch.jpg

Avatars ist ein kleines Plugin für das Address Book (Mac) um die Profilbilder der Kontakte per Gravatar, Pavatar oder hCard-Photo zu vervollständigen. Nach der Installation ist das Plugin über »Visitenkarte > Download Custom Image« erreichbar und versucht anhand der E-Mail – Adressen ein Gravatar und anhand der URLs ein Pavatar oder ein hCard-Photo zu finden.

Großartige Idee 🙂

Ein anderes schickes Tool um hCards in das Address Book zu importieren (welches ich schon vor einiger Zeit vorgestellt hatte) ist übrigens der vCard Explorer.

(via)

Liest man die letzten Meldungen über Digg bei Techcrunch könnte man meinen eine hCard und ein bisschen XFN reichen um DataPortability zu betreiben.

The DataPortability Project has gained another adherent in Digg, which announced on its blog today that it has implemented three under-the-hood enhancements.

Natürlich ist es wichtig, dass Standards wie Microformats oder RDFa eine große Akzeptanz finden und große und bekannte Dienste wie Digg dazu beitragen diese Standards zu verbreiten… aber das ist in meinen Augen noch lange kein Grund von DataPortability zu sprechen, zumal Microformats (meines erachtens) auch nicht der beste Weg sind, Daten auszutauschen.

Es ist langsam an der Zeit Anwendungsfälle für die ganzen angebotenen Standards wie Microformats, OPML, APML und OAuth zu schaffen. Eine hCard oder XFN zu implementieren ist eine Sache von fünf Minuten und sollte für künftige Webseiten State of the Art sein, sie weiterzuverarbeiten macht für mich DataPortability aus.

Das ist DataPortability:

Im MyBlogLog-Blog wurden gestern die neuen v/hCard Features von MyBlogLog vorgestellt.

Pfefferle-MyBlogLog.jpg

Der vCard-Export spricht ja eigentlich für sich selbst, aber die hCard-Implementierung bedarf ein paar zusätzlicher Worte. Wie schon in den Kommentaren des letzten Posts so treffend bemerkt wurde, ist es ja eigentlich kein wirkliches Hexenwerk seine Seite zu microfromatieren, umso schöner finde ich es wenn sich jemand dabei Mühe gibt.

MyBlogLog hat der hCard eine eigene Seite spendiert, die man über das hCard-Icon (siehe Bild 1) erreicht…

Pfefferle-MyBlogLog-hCard.jpg

Aber warum macht es Sinn die hCard auf eine extra Seite zu verbannen? Bei mehreren hCards auf einem Profil, wie im Falle von MyBlogLog (auch die Kontakte sind mit hCards ausgezeichnet), bekommt man beim interpretieren (parsen) der Seite das folgende Problem: Welche hCard ist die Richtige?

Der einfachste Weg um auf eine representative Identity zu verweisen ist, eine externe hCard auf der Profil-Seite mit rel-me zu verlinken. Im Fall von MBL sollte man dies über <link rel="me" /> im Header der Profilseite realisieren, da der Action-Stream auch eine hohe Anzahl an rel-me Links aufweist.

<link rel="me" href="http://www.mybloglog.com/buzz/members/pfefferle/hcard" type="text/html" />Code-Sprache: HTML, XML (xml)

Alternativ könnte man auch mit XRDS-Simple auf die hCard-Seite verweisen (siehe auch Service Catalogue):

<XRDS xmlns="xri://$xrds">
  <XRD xmlns:simple="http://xrds-simple.net/core/1.0"
          xmlns="xri://$XRD*($v*2.0)" version="2.0">
    <Type>xri://$xrds*simple</Type>
    <Service priority="10">
      <Type>http://www.w3.org/2006/03/hcard</Type>
      <URI simple:httpMethod="GET">
        https://web.archive.org/web/20100413121636/http://www.mybloglog.com:80/buzz/members/pfefferle/hcard
      </URI>
    </Service>
    <Service priority="20">
      <Type>http://gmpg.org/xfn/11</Type>
      <URI simple:httpMethod="GET">
        https://web.archive.org/web/20100413121636/http://www.mybloglog.com:80/buzz/members/pfefferle/hcard
      </URI>
    </Service>
  </XRD>
</XRDS>Code-Sprache: HTML, XML (xml)

Mal sehen was MyBlogLog als nächstes vor hat 🙂