NetNewsWire + XFN

It seemed only logical to me that NetNewsWire, where I keep my “whose feeds am I subscribed to” information, should somehow be able to relate to XFN — the “XHTML Friends Network,” the self-described “simple way to represent human relationships using hyperlinks.”

Because NetNewsWire lacks any mechanism for storing XFN information itself, I crafted an AppleScript-based solution that stores my relationship to each feed’s author in a SQLite database. You can download my Define XFN Relationship script and try it for yourself. Here’s how:

  • Download the NetNewsWire-XFN.scpt file, rename it to something handy like “Define XFN Relationship” and move it to ~/Library/Application Support/NetNewsWire/Scripts — the directory where NetNewsWire scripts are stored.
  • Edit the script and change the variable databasename to a location on your own machine (it’s hard-coded to a location on my machine right now; yes, this could be more elegant).
  • Select a feed in NetNewsWire and select the “Define XFN Relationship” script from the Scripts menu.
  • Select the XFN relationship(s) you have to the author of the feed you’ve selected — this brief introduction and this detailed background should get you started on what means what. Yes, the user interface is ugly.
  • Click OK.
  • Rinse and repeat.

Here’s what it looks like in operation — I’m defining Art Rhyno as a friend and colleague who I’ve met:

First, I select Art’s feed in NetNewsWire…

NetNewsWire Screen Shot

Next I select the “Define XFN Relationsip” from the Scripts menu…

NetNewsWire Screen Shot

And finally I select the reltionships that I have with Art:

NetNewsWire Screen Shot

Right now I haven’t created anything that actually does anything with the data — the logical next step would be to write a companion script that outputs a blogroll file with the XFN relationships coded as described here. I’ll do that soon. In the meantime, you can use the handy SQLite Database Browser to look at the database file you’ve created:

SQLite Database Browser Screen Shot