Wikipedia page on the vCard format, which includes a list of commonly-used private extensions (X-).
#microformats
Best Practice for Site Developers
Best Practice for Site Developers
“This page holds ideas for people who maintain or build websites on things they can do now to support Data Portability.”
Ident Engine
“Without much conscious thought, most of us have built identities across the web. We’ve filled in profiles, uploaded photos, videos, reviews and bookmarks. The Ident Engine uses semantic web API’s to bring together these web footprints.”
microformatsDevCamp
Over the weekend, I attended microformatsDevCamp here in San Francisco. It was a chance for a bunch of people who are interested in microformats to get together and hack on some projects that used microformats to Do Cool Things. I ended up being the instigator of one of the projects we worked on, because I had a concrete “system” in mind that would leverage microformats to meet a real need.
The project was to create a web service that would scrape URLs and pull out any content marked up in hCard content (e.g. my contact page) and would then load that content into an LDAP directory. The reason for this is that most Address Book/Contact applications can plug into an LDAP directory to populate their details, so this would provide a direct pipe between client-side contact storage and web-based, decentralized information. The web service would periodically check the URLs it knew about for updates and update LDAP appropriately. If people update their hCard-based information, the LDAP directory would automatically pick up that change and update itself. I’ve talked about this idea before.
Building (or even tinkering with) this system required that we learned about LDAP, and as it turned out, none of us knew much more than the very basic concepts involved with LDAP, so we had a lot of learning to do. I’m putting together a list of LDAP basics that I’ll publish once they’re straightened out a bit. In the meantime, a specifically big thank you to Tantek for organizing ufDevCamp, to Stephen Weber for working with me on the LDAP/code side of things (and showing me how to get started on github.com, and to Mark Ng for setting up an OpenLDAP server for us to play with, and for helping figure out some of the configuration options etc required to get it all working.
Oh, and there’s some code over here if you’re interested, and we made a page on the microformats wiki with some info on our progress.
hkit
PHP5 parsing of hCards from HTML documents
hKit microformats parser for PHP5
hKit microformats parser for PHP5
“hKit is a simple toolkit for extracting common microformats from a page. The page can be presented as a string or a URL, and the result is handed back as a standard PHP array structure. hKit uses SimpleXML for parsing, and therefore requires PHP5.”
hCard Validator
This is an unofficial validator¹/conformance checker of the hCard microformat. Takes URLs, HTML fragments and file uploads.
hReview WordPress Plugin
Allows you to embed hReview compat reviews in your WordPress blog. Only WP2.5 compat tho.
Idea: Subscribe to vCard/hCard via LDAP gateway
I was talking to Blake the other day about Plaxo, and about how the need it tried to fill (keeping everyone’s contact details up to date) was a valid one, but that it really didn’t live up to that goal. That got me thinking about how a big hole in the distribution of contact details was that you couldn’t “subscribe” to a vCard (contact details) in the same way that you can to an iCal (event/calendar details). Let’s fix that.
I’m imagining an online service (perhaps even just a WordPress plugin?) where you can set up URLs that point to either vCards that are online, or web pages that contain hCards. The system would then periodically (daily?) parse those URLs and load the details into a local cache/database.
The contents of the local cache would be exposed via an LDAP directory, allowing you to connect products such as the Apple Address Book to that directory. Those details would automatically be up-to-date, based on the last time their source URLs were parsed.
This would effectively eliminiate part of the need for services like Plaxo, and would give each person control over their contact information. Ideally the requests could be authenticated so that people sharing their contact details could control their distribution. With DiSo on the way, this would be hot.