W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > January 2009

"Native" support for RDFa in Firefox (was: Re: browsers and RDFa (comments on my blog...))

From: Manu Sporny <msporny@digitalbazaar.com>
Date: Sat, 17 Jan 2009 13:45:57 -0500
Message-ID: <49722765.5070904@digitalbazaar.com>
To: W3C RDFa task force <public-rdf-in-xhtml-tf@w3.org>

Ivan Herman wrote:
> There are some comments on my blog on the RDFa usage:
> 
> http://ivan-herman.name/2009/01/14/a-different-usage-of-rdfa/#comments
> 
> the ones of Andraz Tori are interesting but I do not really have
> experience in that issue. Maybe somebody else does (well... getting
> mozilla to implement rdfa natively would be nice but, somehow, I do not
> believe it will happen in the coming months...)

I don't think that plug-in writers would need to have Mozilla implement
RDFa natively in order for them to depend on a browser-provided RDFa
service.

We've been talking about doing this for a couple of months and didn't
want to mention anything until we had something to release, but here's
the idea. Perhaps somebody else will have time to work on it.

We were going to split Fuzzbot into a processing backend
(fuzz-i386-$OS_NAME.xpi) and the front-end UI (bot.xpi or clarity.xpi).
The backend RDFa processor would extract triples from an XHTML document
on page load, page change or tab switch and generate triple events which
front-end UIs could listen to. So, Firefox plug-in writers would just
need to write the following:

var rdfa = Components
              .classes["@digitalbazaar.com/rdfaservice;1"]
              .getService(Components.interfaces["nsIRdfaService"]);
rdfa.addEventListener("tripleDetected", myTripleDetectedFunc, false);

and then define the following in their plug-in code:

function myTripleDetectedFunc(triple)
{
   // Store triples and modify Firefox UI
}

There is a way to package multiple XPIs in one file, so plug-in authors
could include fuzz-i386-$OS_NAME.xpi with their front-end UI to ensure
that their plug-in will work when distributed.

When Mozilla gets around to implementing RDFa as a service, the plug-in
author would replace this line:

   .classes["@digitalbazaar.com/rdfaservice;1"]

with this line:

   .classes["@mozilla.org/rdfaservice;1"]

and everything would continue to work.

This would allow plug-in authors to write their plug-ins as if Mozilla
had already provided this support in their browser. When Mozilla adds
support, as long as it is event-based, the transition will be fairly
painless for Firefox plug-in authors that depend on RDFa.

This strategy depends on one thing happening:

- Mozilla keeps the same interface as is defined in Fuzzbot, or only
  makes minor changes in the interface.

Even if Mozilla changes the interface drastically, but still provides
the same level of functionality, it won't affect plug-in authors that
greatly.

-- manu

-- 
Manu Sporny
President/CEO - Digital Bazaar, Inc.
blog: Bitmunk 3.1 Website Launch
http://blog.digitalbazaar.com/2009/01/16/bitmunk-3-1-website-launch
Received on Saturday, 17 January 2009 18:46:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 17 January 2009 18:46:35 GMT