Portrait of Edd Dumbill, taken by Giles Turnbull

Subscribe to updates

Feed icon Atom or RSS

or get email updates

What I make

a conference management web application

XTech Conference
a European web technology conference

RSS autodetection with Dashboard

Today I created a new backend for Dashboard, backend-htmlchainer.cs.

This backend listens out for the content clues coming from the Epiphany web browser frontend and looks inside the <head> tag of the HTML, looking for common metadata tags such as:

    <meta name="keywords" content="keyword, keyword, keyword" />
    <meta name="description" content="yada yada yada" />

When it finds these tags it injects extra clues into the Dashboard clue chain so other backends can match on them. One particularly exciting tag I implemented support for is the RSS autodetection one:

    <link rel="alternate" type="application/rss+xml" title="RSS"
            href="http://foo.com/rss.xml" />

RSS sniffer screenshot Now, when you're browsing a site with a linked RSS feed from Epiphany, Dashboard shows the first four items from the linked RSS file. Check out this screenshot. It shows me browsing my weblog, with the associated RSS file. (I also updated Dashboard's RSS backend to read RSS 1.0 as well as 0.91 and 2.0.) The bookmarks and FOAF entry come from the fact that the DC.Creator metadata in my weblog says Edd Dumbill, providing Dashboard with a clue to send to the bookmarks and FOAFbot backends.

I wrote a short description of the meta tags the HTML chainer backend interprets.

I should also remark here how enjoyable hacking on Dashboard has been. I'm finding C# a pretty nice language to work with. Also, the people hacking on Dashboard are great. Nat Friedman, whose brainchild Dashboard is, is full of energy and very encouraging to contributors, while managing to keep enough grip on the project to keep it spinning out of control. An extremely multi-threaded application like Dashboard has also been putting Mono through some strenuous testing, and the Mono guys have been great with fixing problems and educating newbies like me about threads and C#.

Next step: FOAF

The next stage in my Dashboard implementation will be identifying authorship using FOAF. While it's easy to link to a FOAF file from an HTML file, there's currently no mechanism of saying "I made this HTML page!" in the same way you might with DC.Creator. I've been discussing this on the FOAF IRC channel, and posted a proposal to the RDFweb wiki.

The fundamental addition to your HTML will be two meta tags like this:

  <!-- a lot of FOAF users will already use this first one -->

  <link rel="meta" type="application/rdf+xml" title="FOAF"    
      href="http://heddley.com/edd/foaf.rdf" /> 

  <!-- this links the maker of this page to a Person described
       in the linked FOAF file -->

  <meta name="foaf:maker" 
        content="foaf:mbox mailto:edd@usefulinc.com" /> 

(You could alternatively use the mbox_sha1sum property in the second tag, see the proposal for details.) This tag is taken to mean "This page's maker is a thing with email address edd@usefulinc.com." The contents of the content attribute are essentially a shorthand for <rdf:Description><foaf:mbox rdf:resource="mailto:edd@usefulinc.com" /></rdf:Description>.

Watch this space. It'll be so much cooler with a screenshot.

blog comments powered by Disqus

You are reading the weblog of Edd Dumbill, writer, programmer, entrepreneur and free software advocate.
Copyright © 2000-2012 Edd Dumbill