As I was preparing for my upcoming embedded RDF/microformats talk at the Semantic Technology Conference, I wasn’t too surprised at the level of discourse that has transpired between the RDF evangelists and the microformat followers.  I’ve been around long enough to remember the object-oriented vs. relational database arguments, various interpreted vs. compiled language brouhahas and CORBA vs. the world.  Many of the same competing themes reappeared: performance, ease-of-use, flexibility and learning curves to name a few.

As I was preparing for my upcoming embedded RDF/microformats talk at the Semantic Technology Conference, I wasn’t too surprised at the level of discourse that has transpired for quite some time between the RDF evangelists and the microformat followers.  I’ve been around long enough to remember the object-oriented vs. relational database arguments, various interpreted vs. compiled language brouhahas and CORBA vs. the world.  Many of the same competing themes reappeared: performance, ease-of-use, flexibility and learning curves to name a few.

In the context of RDF and microformats, I lean toward the kumbaya camp: encourage discussion, don’t stifle dissent, keep arguments to a minimum and apply free market principles to competing technologies, allowing the cream to rise to the top.  This attitude rankles some because a clear winner doesn’t always emerge.  However, competition brings out the best in technology and ultimately serves us, the consumers and the producers, with the best compromise in price, performance, function and form.

Microformats interest me because they let users go quickly and easily about their business semantically marking up their data with few hurdles.  There is no learning curve and semantically-enabling your website takes just a few minutes  – something extremely liberating and a huge benefit for the majority of Internet data providers.  The fact that RDF isn’t as simple to implement or understand is often noted as RDF’s biggest flaw.  On the flip side, one of the main goals of the Semantic Web was to have computers make our lives easier.  This admission means that sometimes specifications are more complex than users would prefer and the syntax isn’t easy to comprehend (RDF/XML serialization probably gets the biggest amount of flak).  Look at SearchMonkey: they support only five microformats but by supporting eRDF (and RDFa in the future), Yahoo! can ingest any RDF data, regardless of vocabulary or domain.  Like most technologies, there are two sides to every story.

This all brings me back to the Firefox add-on, Operator.  Operator extracts data, reading embedded RDF and select microformats, bringing cheer to both camps in the community.  This add-on has actually been available since December of 2006, I’ve been late writing about it since there have been other areas I wanted to cover first.  Operator not only dovetails nicely with my conference talk but it is one of those simple pieces of software that I think everyone should try at least once and hopefully more.  Never heard of it?  That’s probably because you missed the initial launch or the substantial RDFa update, those timely items that get broad coverage in the blogosphere and on specific sites but quickly get buried by the latest news.  I think this is a good time to generate more awareness.

Operator started as a microformat reader, able to handle items such as rel-tags, hcard and geotags.  and remains one of the most popular microformat-related add-on downloads with almost 1000 downloads per week.  What interests me is that it also incorporates RDFa, the W3C-compliant draft of embedding semantics in XHTML that plays nicely with the larger vision of the Semantic Web.  I appreciate the fact that Operator doesn’t favor one semantic vision and ignore the other.

Operator begins by installing a toolbar that supports user-recognizable categories (e.g. Contacts, Tagspaces) that become enabled when data exists in that given category.  The latest version of Operator is 0.9.1, but I have an older, specialized version that handles the hAudio microformat in addition to RDFa and the other microformats.  It works well at sites such as bitmunk.com, where I can check out Lifeseeker’s latest recordings:

If we explore the ‘Resources’ button (replete with RDF entities, of course), we get a listing of every song on the album and the price of every song (they are separate because songs and prices are separate RDF entities).

By turning on the ‘debug’ option in Operator’s preference window, we can view the RDF triples for the song, Pentatronik (a great name for a retro ’87 Buick, if I had one):

Once you are in debug mode, selecting any entity in the Operator toolbar causes the corresponding XHML text to become highlighted in firefox, extremely useful for sourcing data.

The best part of Operator?  User customization, of course!  In fact, the example here uses Javascript to enable special options based on the existence of the hAudio and RDF encodings, such as finding similar artists in bitmunk and locating the song in MusicBrainz.  No, these aren’t amazing feats in and of themselves, but you can see where this leads as more customizations are added and more actions materialize.  This particular example is brittle as it has hard-coded identifiers (type == “RDF”, “contains”, “contributor”) but it doesn’t have to be that way.

Operator is not only one of my regular website debugging tools but also serves as a nice way of getting contact information into my address book.  I don’t use the mapping functions, calendar integration capabilities or tagspaces but your mileage may vary.  You can download Operator at https://addons.mozilla.org/en-US/firefox/addon/4106.