I had the idea for a Wordpress plugin replacing the avatar systems of gravatar and MyBlogLog with a microformat based one a while back.
The principle is simple. If you comment somewhere and you leave behind a URL (be it a blog one or an OpenID) and we can follow that URL and find a representative hCard with associated picture for you, it means we can present that picture as your avatar.
It works just as well as most avatar standards out there, it’s distributed and built on top of a proven microformat and gives people a benefit for publishing an hCard on their blog or elsewhere.
Development
Writing that plugin didn’t prove to be too difficult. Integrating Drew McLellan’s hKit library into Wordpress was a bit harder due to my limited experience with PHP and its bizarre quirks.
That hurdle passed I have been using the plugin on my own blog and Cristiano is using it as well. We’ve only had problems running it on this weblog most probably because something on the Solaris installation we are running is interfering (I have no clue what). You can test the plugin yourself on this test weblog.
There are some ideas in here which are similar to those of DiSo in their wishlist for a wp-openid-avatars plugin.
Release
After having spent some due dilligence testing and refining this plugin, I think it’s ready to be released and tested by a larger group of people. The plugin will not do much without you editing your theme as well and making a decision about the presentation of the avatar images.
Alternatively if gravatar() is not defined yet, it will define itself as the gravatar function as well. So a theme which relies on gravatar can expect this plugin to support it.
Get a zip with the plugin in it here, or you can checkout my repository:
hg clone static-http://alper.nl/hg/havatar/
Feedback, suggestions and patches welcome. Caching and resizing are issues that have to be solved in the future.
I found a plugin called identikit which covers a lot of the same ground but is mostly in French. hAvatar is a simple and pure microformats based approach.