Archive of "XOXO"

Archive for the "XOXO" Category

Extending Microformats: a Return to XOXO

Posted on

I haven’t written about the XOXO microformat in some time, but some recent discussions caused me to dig into my archives to source a new post.  Microformats tend to follow the rule of only formalizing the most common of existing publishing patterns (the 80-20), meaning that some more “edge case” data cannot be represented.  Does this mean that this data is useless?  Not at all: but it is outside the realm of microformats, at least for now.  So we either need to invent something new, or extend what we have.

A Page from Recent History

This is not a new problem.  Every formalised standard is going to face those who feel that their bit of metadata should be included.  Take, as an example, the RSS 2.0 spec.  Core essentials of news feeds are present: title, description, date, etc.  Lots of metadata is missing though: author name, comment counts, comment feed URLs, ane more.  People solved this problem in two very different ways: some extended, and some invented something new.

Extending RSS (or any XML format) is easy: create a namespace, add your elements, publish.  If a particular piece of metadata is popular it gets standardised in a spec’ed extension (dc:creator, slash:comments, wfw:commentRss, etc).  The benefit of this approach is that all existing parsers can still read your content.  If a parser doesn’t need your extra metadata, it can safely ignore it and present just the core content.  No new code needs to be written, and no new formats need to be learned for 80% of the applications.

There was another group interested in solving this problem: the ATOM group.  They threw away all the existing formats (RSS 2.0 and RSS 1.0/RDF) and built something brand new from scratch to accomodate their data needs.  What was the result?  Feed aggregators everywhere had to write all-new code to handle this new, incompatible, and often more complicated case.  Time and effort was wasted both in code and user education (unlearn “What is RSS” learn “What is ATOM” / “What are feeds”).  Once the standard hit a spec’ed form, what happened?  People began to use namespaces in ATOM as well, because for all the “better” it was, for some edge cases it just wasn’t “better” enough.

Back to XOXO

It seems the key is to be easily extendable, not to think of everything up front.  If microformats are going to make their way into lots of APIs and not just be used for better page scraping (Ma.gnolia does a good job of this), then extensability is necessary.  Fortunately, XOXO provides an easy solution.  Check this out:

<li class="vcard">
<dd class="fn">Martha</dd>

An hCard parser can read that.  For a normal use case, no new code is needed.  An XOXO parser can read that, and if it knows about hCard will likely know what “fn” means.  The other data is there, though.  The parser has that data.  Minimal new code, and all the data can be used.  Cool or what?

New Tools and XOXO Blog Activity

Posted on

After a long period of inactivity I have revived the former XOXO Blog as XOXO – A Semantic Weblog. The following new tools have been announced:

There is also a discussion of distributed social netoworking and a new WordPress plugin to start implementing the idea.

hAtom Backup Tool

Posted on

This backup tool will crawl your blog for hAtom or XOXO Blog Format content and put it all together in one file that you can save to your hard drive for backup purposes.

If you do not use the New Blogger you will have to have an archive list in your sidebar that has the class archive-list on it. With the New Blogger if you have an archive widget it should just work.

XFN + XOXO + hCard Blogroll Generator

Posted on

What’s that? Your blog platform doesn’t support XFN? You want more XOXO-centric markup on your blogroll? You want your friends marked up as hCards in the blogroll? Now you can!

This generator tool is based on the original XFN Creator and generates code for a full XOXO blogroll with XFN relationships and hCard nodes.

XOXO Validator Updated

Posted on

The XOXO Validator has been updated to support pages that are not well-formed XML. An XML error is displayed, but the XOXO valid message is still displayed if there is valid XOXO data on the page.